7#include <glbinding/glbinding_api.h>
8#include <glbinding/glbinding_features.h>
22template <
typename... Types>
41template<
typename T,
typename... Types>
44 static const bool value =
false;
59template<
typename T,
typename U,
typename... Types>
70template<
typename,
typename>
85template<
typename T,
typename... Types>
96template<
typename,
typename>
114template<
typename T,
typename... Types,
typename... OtherTypes>
153 GLBINDING_CONSTEXPR
inline explicit operator T()
const;
179template <
typename Type>
195 template <
typename ConstructionType>
196 GLBINDING_CONSTEXPR
inline SharedBitfield(ConstructionType value);
205 GLBINDING_CONSTEXPR
inline SharedBitfield(
typename std::underlying_type<Type>::type value);
214 GLBINDING_CONSTEXPR
inline operator Type()
const;
229 template <
typename... T>
242 template <
typename... T>
258 template <
typename... T>
271 template <
typename... T>
287 template <
typename... T>
300 template <
typename... T>
316 template <
typename... T>
334 template <
typename T>
335 GLBINDING_CONSTEXPR
inline auto operator==(T other)
const ->
typename std::enable_if<is_member_of_SharedBitfield<T, Type>::value,
bool>::type;
348template <
typename Type,
typename... Types>
363 template <
typename ConstructionType>
364 GLBINDING_CONSTEXPR
inline SharedBitfield(ConstructionType value);
373 GLBINDING_CONSTEXPR
inline SharedBitfield(
typename std::underlying_type<Type>::type value);
382 GLBINDING_CONSTEXPR
inline operator Type()
const;
397 template <
typename... T>
410 template <
typename... T>
426 template <
typename... T>
439 template <
typename... T>
455 template <
typename... T>
468 template <
typename... T>
484 template <
typename... T>
502 template <
typename T>
503 GLBINDING_CONSTEXPR
inline auto operator==(T other)
const ->
typename std::enable_if<
is_member_of_SharedBitfield<T, Type, Types...>::value,
bool>::type;
529template <
typename Enum,
typename ConvertibleEnum>
530GLBINDING_CONSTEXPR
inline 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
552template <
typename ConvertibleEnum,
typename Enum>
553GLBINDING_CONSTEXPR
inline 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
575template <
typename Enum,
typename ConvertibleEnum>
576inline 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
598template <
typename Enum,
typename ConvertibleEnum>
599GLBINDING_CONSTEXPR
inline 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
621template <
typename ConvertibleEnum,
typename Enum>
622GLBINDING_CONSTEXPR
inline 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
644template <
typename Enum,
typename ConvertibleEnum>
645inline 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
667template <
typename Enum,
typename ConvertibleEnum>
668GLBINDING_CONSTEXPR
inline 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
690template <
typename ConvertibleEnum,
typename Enum>
691GLBINDING_CONSTEXPR
inline 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
713template <
typename Enum,
typename ConvertibleEnum>
714inline 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
typename SharedBitfield< Types... >::UnderlyingType UnderlyingType
inherit UnderlyingType declaration
Definition SharedBitfield.h:352
typename SharedBitfieldBase< typename std::underlying_type< Type >::type >::UnderlyingType UnderlyingType
inherit UnderlyingType declaration
Definition SharedBitfield.h:183
Invalid SharedBitfield class as it contains no valid bitfield types.
Definition SharedBitfield.h:167
The base class of a SharedBitfield, containing the actual (and convertible) bitfield value.
Definition SharedBitfield.h:133
T UnderlyingType
Propagate underlying type.
Definition SharedBitfield.h:135
T m_value
The value of the SharedBitfield.
Definition SharedBitfield.h:157
A representation of a bitfield value that could be member of multiple bitfield types as allowed in Op...
Definition SharedBitfield.h:23
Contains all the classes of glbinding.
GLBINDING_CONSTEXPR CallbackMask operator&(CallbackMask a, CallbackMask b)
External operator for bit-wise 'and' of CallbackMasks.
Definition CallbackMask.inl:26
GLBINDING_CONSTEXPR CallbackMask operator|(CallbackMask a, CallbackMask b)
External operator for bit-wise 'or' of CallbackMasks.
Definition CallbackMask.inl:19
CallbackMask & operator&=(CallbackMask &a, CallbackMask b)
External operator for bit-wise 'and' assignment of CallbackMasks.
Definition CallbackMask.inl:46
CallbackMask & operator^=(CallbackMask &a, CallbackMask b)
External operator for bit-wise 'xor' assignment of CallbackMasks.
Definition CallbackMask.inl:52
CallbackMask & operator|=(CallbackMask &a, CallbackMask b)
External operator for bit-wise 'or' assignment of CallbackMasks.
Definition CallbackMask.inl:40
GLBINDING_CONSTEXPR CallbackMask operator^(CallbackMask a, CallbackMask b)
External operator for bit-wise 'xor' of CallbackMasks.
Definition CallbackMask.inl:33
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:117
Break condition for the SharedBitfield intersection.
Definition SharedBitfield.h:98
Break condition for the is_member_of_SharedBitfield metaprogramming.
Definition SharedBitfield.h:43
Break condition for the SharedBitfield type concatenation.
Definition SharedBitfield.h:72