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...
|
template<typename ConstructionType > |
GLBINDING_CONSTEXPR | SharedBitfield (ConstructionType value) |
| Constructor. More...
|
|
GLBINDING_CONSTEXPR | SharedBitfield (typename std::underlying_type< Type >::type value) |
| Constructor. More...
|
|
GLBINDING_CONSTEXPR | operator Type () const |
| Cast operator to allow for conversion of the generic value to a specific bitfield type. More...
|
|
template<typename... T> |
GLBINDING_CONSTEXPR auto | operator| (SharedBitfield< T... > other) const -> typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield< Type >, SharedBitfield< T... >>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield< SharedBitfield< Type >, 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< Type >, 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> |
GLBINDING_CONSTEXPR auto | operator& (SharedBitfield< T... > other) const -> typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield< Type >, SharedBitfield< T... >>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield< SharedBitfield< Type >, 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< Type >, 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> |
GLBINDING_CONSTEXPR auto | operator^ (SharedBitfield< T... > other) const -> typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield< Type >, SharedBitfield< T... >>::type, SharedBitfield<>>::value, typename intersect_SharedBitfield< SharedBitfield< Type >, 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< Type >, 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> |
GLBINDING_CONSTEXPR auto | operator== (SharedBitfield< T... > other) const -> typename std::enable_if<!std::is_same< typename intersect_SharedBitfield< SharedBitfield< Type >, SharedBitfield< T... >>::type, SharedBitfield<>>::value, bool >::type |
| Test for equality of the values of this SharedBitfield and the other SharedBitfield. More...
|
|
template<typename T > |
GLBINDING_CONSTEXPR 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...
|
|
template<typename Type>
class glbinding::SharedBitfield< Type >
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.
- Parameters
-
Type | The one valid bitfield type for the given value. |