17 template <
typename... Types>
33 template<
typename T,
typename... Types>
36 static const bool value =
false;
50 template<
typename T,
typename U,
typename... Types>
62 template<
typename,
typename>
76 template<
typename T,
typename... Types>
86 template<
typename,
typename>
103 template<
typename T,
typename... Types,
typename... OtherTypes>
120 template <
typename T>
142 explicit operator T()
const;
163 template <
typename Type>
178 template <
typename ConstructionType>
197 operator Type()
const;
211 template <
typename... T>
223 template <
typename... T>
238 template <
typename... T>
250 template <
typename... T>
265 template <
typename... T>
277 template <
typename... T>
292 template <
typename... T>
309 template <
typename T>
310 auto operator==(T other)
const ->
typename std::enable_if<is_member_of_SharedBitfield<T, Type>::value,
bool>::type;
322 template <
typename Type,
typename... Types>
337 template <
typename ConstructionType>
356 operator Type()
const;
370 template <
typename... T>
382 template <
typename... T>
397 template <
typename... T>
409 template <
typename... T>
424 template <
typename... T>
436 template <
typename... T>
451 template <
typename... T>
468 template <
typename T>
494 template <
typename Enum,
typename ConvertibleEnum>
495 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
516 template <
typename ConvertibleEnum,
typename Enum>
517 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
538 template <
typename Enum,
typename ConvertibleEnum>
539 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
560 template <
typename Enum,
typename ConvertibleEnum>
561 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
582 template <
typename ConvertibleEnum,
typename Enum>
583 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
604 template <
typename Enum,
typename ConvertibleEnum>
605 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
626 template <
typename Enum,
typename ConvertibleEnum>
627 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
648 template <
typename ConvertibleEnum,
typename Enum>
649 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
670 template <
typename Enum,
typename ConvertibleEnum>
671 typename std::enable_if<std::is_base_of<SharedBitfieldBase<typename std::underlying_type<typename std::enable_if<std::is_enum<Enum>::value, Enum>::type>::type>, ConvertibleEnum>
::value, Enum>::type
Contains all the classes of glbinding.
Break condition for the is_member_of_SharedBitfield metaprogramming.
Definition: SharedBitfield.h:34
A representation of a bitfield value that could be member of multiple bitfield types as allowed in Op...
Definition: SharedBitfield.h:18
typename SharedBitfield< Types... >::UnderlyingType UnderlyingType
inherit UnderlyingType declaration
Definition: SharedBitfield.h:326
Invalid SharedBitfield class as it contains no valid bitfield types.
Definition: SharedBitfield.h:152
GLBINDING_API CallbackMask & operator^=(CallbackMask &a, CallbackMask b)
External operator for bit-wise 'xor' assignment of CallbackMasks.
T UnderlyingType
Propagate underlying type.
Definition: SharedBitfield.h:124
GLBINDING_API CallbackMask operator^(CallbackMask a, CallbackMask b)
External operator for bit-wise 'xor' of CallbackMasks.
GLBINDING_API CallbackMask operator &(CallbackMask a, CallbackMask b)
External operator for bit-wise 'and' of CallbackMasks.
The base class of a SharedBitfield, containing the actual (and convertible) bitfield value...
Definition: SharedBitfield.h:121
typename std::conditional<!is_member_of_SharedBitfield< T, OtherTypes... >::value, typename intersect_SharedBitfield< SharedBitfield< Types... >, SharedBitfield< OtherTypes... > >::type, typename prepend_to_SharedBitfield< T, typename intersect_SharedBitfield< SharedBitfield< Types... >, SharedBitfield< OtherTypes... > >::type >::type >::type type
Result of the intersection.
Definition: SharedBitfield.h:106
static const bool value
result of the inclusion test; always false since the list of types to test against is empty ...
Definition: SharedBitfield.h:36
GLBINDING_API CallbackMask & operator|=(CallbackMask &a, CallbackMask b)
External operator for bit-wise 'or' assignment of CallbackMasks.
GLBINDING_API CallbackMask operator|(CallbackMask a, CallbackMask b)
External operator for bit-wise 'or' of CallbackMasks.
Break condition for the SharedBitfield type concatenation.
Definition: SharedBitfield.h:63
T m_value
The value of the SharedBitfield.
Definition: SharedBitfield.h:144
Break condition for the SharedBitfield intersection.
Definition: SharedBitfield.h:87
GLBINDING_API CallbackMask & operator &=(CallbackMask &a, CallbackMask b)
External operator for bit-wise 'and' assignment of CallbackMasks.
typename SharedBitfieldBase< typename std::underlying_type< Type >::type >::UnderlyingType UnderlyingType
inherit UnderlyingType declaration
Definition: SharedBitfield.h:167