13 #ifndef EGLPLUS_ENUMERATIONS_1303201759_HPP
14 #define EGLPLUS_ENUMERATIONS_1303201759_HPP
18 #include <eglplus/detail/enum_class.hpp>
19 #include <eglplus/detail/base_range.hpp>
24 template <
typename Enum>
30 template <
typename EnumType>
33 #if !EGLPLUS_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 !EGLPLUS_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
StrCRef EnumValueName(Enum enum_value)
Compile-time configuration options.
Range< Enum > EnumValueRange(void)
::oglplus::StrCRefTpl< char > StrCRef
String const reference wrapper.
Definition: string.hpp:31
StrCRefTpl< GLchar > StrCRef