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