template<typename EnumType, typename BitmaskRepresentation>
VV::V0::Bitfield class

A wrapper object for bitmasks that allows for typesafe bitmask operations.

Public types

using Enum = EnumType
using Representation = BitmaskRepresentation

Constructors, destructors, conversion operators

Bitfield()
Bitfield(Representation _mask)
template<typename... BitTypes>
Bitfield(const BitTypes... _bits)
operator Representation() const

Public functions

template<typename... BitType>
void Add(const BitType... _bits)
template<typename... BitType>
auto CheckForEither(const BitType... _bits) const -> bool
template<typename... BitType>
void Clear(const BitType... _bits)
auto HasFlag(const Enum _bit) const -> bool
template<typename... BitType>
auto HasExactly(const BitType... _bits) const -> bool
auto HasAnyFlag() const -> bool
auto IsZero() const -> bool
void Reset()
template<typename... BitType>
void Set(const BitType... _bits)
template<typename... BitType>
void Toggle(const BitType... _bits)
auto operator=(const Representation _mask) -> _ThisType&
auto operator=(const _ThisType _other) -> _ThisType&
auto operator&=(const Representation _mask) -> _ThisType&
auto operator&=(const _ThisType _other) -> _ThisType&
auto operator|=(const Representation _mask) -> _ThisType&
auto operator|=(const _ThisType _other) -> _ThisType&
auto operator^=(const Representation _mask) -> _ThisType&
auto operator^=(const _ThisType _other) -> _ThisType&
auto operator<<=(const Representation _mask) -> _ThisType&
auto operator>>=(const _ThisType _other) -> _ThisType&
auto operator~() const -> _ThisType
auto operator&(const Representation _other) const -> Representation
auto operator&(const _ThisType _other) const -> _ThisType
auto operator|(const Representation _other) const -> Representation
auto operator|(const _ThisType _other) const -> _ThisType
auto operator^(const Representation _other) const -> Representation
auto operator^(const _ThisType _other) const -> _ThisType
auto operator<<(const Representation _other) const -> Representation
auto operator>>(const _ThisType _other) const -> _ThisType
auto operator==(const Representation _other) const -> bool
auto operator==(const _ThisType _other) const -> bool
auto operator!=(const Representation _other) const -> bool
auto operator!=(const _ThisType _other) const -> bool

Protected variables

Representation bitfield