The requirements for a symbol provider.
More...
#include <symbol.h>
template<typename T>
std::is_class_v<T>
&& requires {
The requirements for a symbol provider.
typename T::internal_value_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>
The requirements for a symbol provider.
Definition at line 77 of file symbol.h.