13 #ifndef OALPLUS_ENUMERATIONS_1303201759_HPP
14 #define OALPLUS_ENUMERATIONS_1303201759_HPP
18 #include <oalplus/detail/enum_class.hpp>
19 #include <oalplus/detail/base_range.hpp>
24 template <
typename Enum>
30 template <
typename EnumType>
33 #if !OALPLUS_NO_ENUM_VALUE_NAMES
34 typedef typename EnumBaseType<EnumType>::Type BaseType;
40 OGLPLUS_FAKE_USE(enum_value);
45 template <
typename EnumType>
46 inline aux::CastIterRange<
47 const typename EnumBaseType<EnumType>::Type*,
51 #if !OALPLUS_NO_ENUM_VALUE_RANGES
52 return ValueRange_((EnumType*)
nullptr);
54 const typename EnumBaseType<EnumType>::Type* x =
nullptr;
55 return aux::CastIterRange<
56 const typename EnumBaseType<EnumType>::Type*,
65 using enums::EnumValueName;
66 using enums::EnumValueRange;
70 #endif // include guard
::oglplus::StrCRefTpl< ALchar > StrCRef
String const reference wrapper.
Definition: string.hpp:32
StrCRef EnumValueName(Enum enum_value)
Compile-time configuration options.
Range< Enum > EnumValueRange(void)
StrCRefTpl< GLchar > StrCRef