46 template <
typename Enum>
53 using typename base_type::bad_enum_string;
70 iValue{ aOther.
value() }
86 if (e.second() == aValue)
109 return enum_enumerators<enum_type>();
115 return new self_type{ *
this };
119 iValue = aRhs.value();
127 template <
typename Enum>
void set_value(underlying_type aValue) final
underlying_type set_value(const i_string &aValue) final
void to_string(i_string &aString) const final
i_basic_enum< std::underlying_type_t< Enum > > abstract_type
underlying_type const * data() const final
underlying_type * data() final
std::underlying_type_t< Enum > underlying_type
underlying_type value() const final
basic_enum(enum_type aValue)
const base_type::enumerators_t & enumerators() const final
basic_enum(const abstract_type &aOther)
i_multimap< underlying_type, i_string > enumerators_t
basic_enum< Enum > enum_t