![]() |
glbinding
2.1.1.000000000000
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. More...
#include <glbinding/include/glbinding/SharedBitfield.h>
Public Types | |
| using | UnderlyingType = typename SharedBitfield< Types... >::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 bit-wise '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 bit-wise '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 bit-wise '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 bit-wise '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 bit-wise '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 bit-wise '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, Types... >::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.
| Type | The head of valid bitfields type for the given value. |
| Types | The tail of valid bitfields type for the given value. |
| using glbinding::SharedBitfield< Type, Types... >::UnderlyingType = typename SharedBitfield<Types...>::UnderlyingType |
inherit UnderlyingType declaration
| glbinding::SharedBitfield< Type, Types... >::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, Types... >::SharedBitfield | ( | typename std::underlying_type< Type >::type | value | ) |
Constructor.
| [in] | value | The value of this SharedBitfield. |
| glbinding::SharedBitfield< Type, Types... >::operator Type | ( | ) | const |
Cast operator to allow for conversion of the generic value to a specific bitfield type.
| auto glbinding::SharedBitfield< Type, Types... >::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 bit-wise '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, Types... >::operator|= | ( | SharedBitfield< T... > | other | ) | -> typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, SharedBitfield &>::type |
Performs a bit-wise '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.
References glbinding::operator &(), and glbinding::operator &=().
| auto glbinding::SharedBitfield< Type, Types... >::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 bit-wise '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, Types... >::operator&= | ( | SharedBitfield< T... > | other | ) | -> typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield, SharedBitfield< T... >>::type, SharedBitfield<>>::value, SharedBitfield &>::type |
Performs a bit-wise '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, Types... >::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 bit-wise '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, Types... >::operator^= | ( | SharedBitfield< T... > | other | ) | -> typename std::enable_if<!std::is_same<typename intersect_SharedBitfield<SharedBitfield, SharedBitfield<T...>>::type, SharedBitfield<>>::value, SharedBitfield &>::type |
Performs a bit-wise '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, Types... >::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, Types... >::operator== | ( | T | other | ) | const -> typename std::enable_if<is_member_of_SharedBitfield<T, Type, Types...>::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.
1.8.13