glbinding
2.0.0.00e2ff521289
A C++ binding for the OpenGL API, generated using the gl.xml specification.

A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. This template is the break condition of a former SharedBitfield that got reduced to just one valid bitfield type through operations. More...
#include <glbinding/include/glbinding/SharedBitfield.h>
Public Types  
using  UnderlyingType = typename SharedBitfieldBase< typename std::underlying_type< Type >::type >::UnderlyingType 
inherit UnderlyingType declaration More...  
Public Member Functions  
template<typename ConstructionType >  
SharedBitfield (ConstructionType value)  
Constructor. More...  
SharedBitfield (typename std::underlying_type< Type >::type value)  
Constructor. More...  
operator Type () const  
Cast operator to allow for conversion of the generic value to a specific bitfield type. More...  
template<typename... T>  
auto  operator (SharedBitfield< T... > other) const > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type >::type 
Performs a bitwise 'or' operation on the values of this and other while constraining the resulting shared bitfield types to the intersection. More...  
template<typename... T>  
auto  operator= (SharedBitfield< T... > other) > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, SharedBitfield & >::type 
Performs a bitwise 'or' assignment operation on the values of this and other, where type list of the right hand side has to be a superset of the types list of this SharedBitfield. More...  
template<typename... T>  
auto  operator& (SharedBitfield< T... > other) const > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type >::type 
Performs a bitwise 'and' operation on the values of this and other while constraining the resulting shared bitfield types to the intersection. More...  
template<typename... T>  
auto  operator&= (SharedBitfield< T... > other) > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, SharedBitfield & >::type 
Performs a bitwise 'and' assignment operation on the values of this and other, where type list of the right hand side has to be a superset of the types list of this SharedBitfield. More...  
template<typename... T>  
auto  operator^ (SharedBitfield< T... > other) const > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type >::type 
Performs a bitwise 'xor' operation on the values of this and other while constraining the resulting shared bitfield types to the intersection. More...  
template<typename... T>  
auto  operator^= (SharedBitfield< T... > other) > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, SharedBitfield & >::type 
Performs a bitwise 'xor' assignment operation on the values of this and other, where type list of the right hand side has to be a superset of the types list of this SharedBitfield. More...  
template<typename... T>  
auto  operator== (SharedBitfield< T... > other) const > typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, bool >::type 
Test for equality of the values of this SharedBitfield and the other SharedBitfield. More...  
template<typename T >  
auto  operator== (T other) const > typename std::enable_if< is_member_of_SharedBitfield< T, Type >::value, bool >::type 
Test for equality of the value of this SharedBitfield and the other bitfield value. More...  
A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. This template is the break condition of a former SharedBitfield that got reduced to just one valid bitfield type through operations.
Type  The one valid bitfield type for the given value. 
using glbinding::SharedBitfield< Type >::UnderlyingType = typename SharedBitfieldBase<typename std::underlying_type<Type>::type>::UnderlyingType 
inherit UnderlyingType declaration
glbinding::SharedBitfield< Type >::SharedBitfield  (  ConstructionType  value  ) 
Constructor.
ConstructionType  The type of the passed value which is implicitly convertible to the UnderlyingType. 
[in]  value  The value of this SharedBitfield. 
glbinding::SharedBitfield< Type >::SharedBitfield  (  typename std::underlying_type< Type >::type  value  ) 
Constructor.
[in]  value  The value of this SharedBitfield. 
glbinding::SharedBitfield< Type >::operator Type  (  )  const 
Cast operator to allow for conversion of the generic value to a specific bitfield type.
auto glbinding::SharedBitfield< Type >::operator  (  SharedBitfield< T... >  other  )  const > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type>::type 
Performs a bitwise 'or' operation on the values of this and other while constraining the resulting shared bitfield types to the intersection.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator=  (  SharedBitfield< T... >  other  )  > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, SharedBitfield &>::type 
Performs a bitwise 'or' assignment operation on the values of this and other, where type list of the right hand side has to be a superset of the types list of this SharedBitfield.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator&  (  SharedBitfield< T... >  other  )  const > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type>::type 
Performs a bitwise 'and' operation on the values of this and other while constraining the resulting shared bitfield types to the intersection.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator&=  (  SharedBitfield< T... >  other  )  > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, SharedBitfield &>::type 
Performs a bitwise 'and' assignment operation on the values of this and other, where type list of the right hand side has to be a superset of the types list of this SharedBitfield.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator^  (  SharedBitfield< T... >  other  )  const > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type>::type 
Performs a bitwise 'xor' operation on the values of this and other while constraining the resulting shared bitfield types to the intersection.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator^=  (  SharedBitfield< T... >  other  )  > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, SharedBitfield &>::type 
Performs a bitwise 'xor' assignment operation on the values of this and other, where type list of the right hand side has to be a superset of the types list of this SharedBitfield.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator==  (  SharedBitfield< T... >  other  )  const > typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, bool>::type 
Test for equality of the values of this SharedBitfield and the other SharedBitfield.
[in]  other  The SharedBitfield instance to operate with. 
This method is not visible to the compiler if the operands don't share any bitfield type (the intersection is empty) and thus results in a compiler error.
auto glbinding::SharedBitfield< Type >::operator==  (  T  other  )  const > typename std::enable_if<is_member_of_SharedBitfield<T, Type>::value, bool>::type 
Test for equality of the value of this SharedBitfield and the other bitfield value.
T  The bitfield type of the value to test 
[in]  other  The bitfield value to operate with.. 
This method is not visible to the compiler if the this SharedBitfield type list contains the type T.