header_utils
Loading...
Searching...
No Matches
ghassanpl::symbol_provider Concept Reference

The requirements for a symbol provider. More...

#include <symbol.h>

Concept definition

template<typename T>
concept symbol_provider =
std::is_class_v<T>
&& requires {
The requirements for a symbol provider.
Definition symbol.h:77
typename T::internal_value_type;
typename T::hash_type;
{ T::empty_value() } noexcept -> std::same_as<typename T::internal_value_type>;
{ T::insert(std::string_view{}) } -> std::same_as<typename T::internal_value_type>;
{ T::string_for(typename T::internal_value_type{}) } noexcept -> std::same_as<std::string_view>;
{ T::hash_for(typename T::internal_value_type{}) } noexcept -> std::same_as<typename T::hash_type>;
{ T::compare(typename T::internal_value_type{}, typename T::internal_value_type{}) } noexcept -> std::same_as<std::strong_ordering>;
}
&& std::three_way_comparable<typename T::internal_value_type>
&& std::regular<typename T::internal_value_type>

Detailed Description

The requirements for a symbol provider.

Definition at line 77 of file symbol.h.