59 template<
typename TEnum>
60 requires std::is_enum<TEnum>::value
61 constexpr Enum( TEnum element )
72 template<
typename TEnum>
73 requires std::is_enum<TEnum>::value
86 template<
typename TIntegral=
integer>
87 TIntegral
Integral()
const {
return static_cast<TIntegral
>(
data.Integrals.Array[0]); }
139 template<
typename TEnum>
140 requires std::is_enum<TEnum>::value
162 template<
typename TEnum>
163 requires std::is_enum<TEnum>::value
165 return Integral() ==
static_cast<typename std::underlying_type<TEnum>::type
>( rhs )
166 &&
TypeID() ==
typeid( TEnum );
174 template<
typename TEnum>
175 requires std::is_enum<TEnum>::value
177 return Integral() !=
static_cast<typename std::underlying_type<TEnum>::type
>( rhs )
178 ||
TypeID() !=
typeid( TEnum );
199 return ( std::type_index(
TypeID() )
200 < std::type_index(rhs.
TypeID() ) )
Placeholder data
The data that we encapsulate.
const std::type_info & TypeID() const
const Placeholder & Data() const
boxing::Enum Enum
Type alias in namespace #"%alib".
bool operator==(const Enum &rhs) const
bool operator!=(TEnum rhs) const
TIntegral Integral() const
const Box & CastToBox() const
bool operator<(Enum const &rhs) const
Enum()
Default constructor.
constexpr Enum(TEnum element)
const std::type_info & TypeID() const
bool operator!=(const Enum &rhs) const
bool operator==(TEnum rhs) const
void * VoidP
Just a void pointer.