ant
A2 ant: class-based analysis framework
ant::bitflag< Enum, number_of_bits > Class Template Reference

#include <bitflag.h>

+ Collaboration diagram for ant::bitflag< Enum, number_of_bits >:

Public Member Functions

constexpr bitflag ()=default
 
constexpr bitflag (Enum value)
 
constexpr bitflag (const bitflag &other)
 
bool operator== (const bitflag &o) const
 
bool operator!= (const bitflag &o) const
 
bitflag operator| (Enum value) const
 
bitflag operator & (Enum value) const
 
bitflag operator^ (Enum value) const
 
bitflag operator~ () const
 
bitflagoperator|= (Enum value)
 
bitflagoperator &= (Enum value)
 
bitflagoperator^= (Enum value)
 
bitflag operator| (const bitflag &o) const
 
bitflag operator & (const bitflag &o) const
 
bitflag operator^ (const bitflag &o) const
 
bitflagoperator|= (const bitflag &o)
 
bitflagoperator &= (const bitflag &o)
 
bitflagoperator^= (const bitflag &o)
 
constexpr bool any () const
 
constexpr bool all () const
 
constexpr bool none () const
 
constexpr operator bool () const
 
constexpr bool test (Enum value) const
 
void set (Enum value)
 
void unset (Enum value)
 

Protected Attributes

std::bitset< number_of_bits > bits
 

Constructor & Destructor Documentation

◆ bitflag() [1/3]

template<typename Enum, std::size_t number_of_bits = 32>
constexpr ant::bitflag< Enum, number_of_bits >::bitflag ( )
default

◆ bitflag() [2/3]

template<typename Enum, std::size_t number_of_bits = 32>
constexpr ant::bitflag< Enum, number_of_bits >::bitflag ( Enum  value)
inline

◆ bitflag() [3/3]

template<typename Enum, std::size_t number_of_bits = 32>
constexpr ant::bitflag< Enum, number_of_bits >::bitflag ( const bitflag< Enum, number_of_bits > &  other)
inline

Member Function Documentation

◆ all()

template<typename Enum, std::size_t number_of_bits = 32>
constexpr bool ant::bitflag< Enum, number_of_bits >::all ( ) const
inline

◆ any()

template<typename Enum, std::size_t number_of_bits = 32>
constexpr bool ant::bitflag< Enum, number_of_bits >::any ( ) const
inline

◆ none()

template<typename Enum, std::size_t number_of_bits = 32>
constexpr bool ant::bitflag< Enum, number_of_bits >::none ( ) const
inline

◆ operator &() [1/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator& ( Enum  value) const
inline

◆ operator &() [2/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator& ( const bitflag< Enum, number_of_bits > &  o) const
inline

◆ operator &=() [1/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag& ant::bitflag< Enum, number_of_bits >::operator&= ( Enum  value)
inline

◆ operator &=() [2/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag& ant::bitflag< Enum, number_of_bits >::operator&= ( const bitflag< Enum, number_of_bits > &  o)
inline

◆ operator bool()

template<typename Enum, std::size_t number_of_bits = 32>
constexpr ant::bitflag< Enum, number_of_bits >::operator bool ( ) const
inlineexplicit

◆ operator!=()

template<typename Enum, std::size_t number_of_bits = 32>
bool ant::bitflag< Enum, number_of_bits >::operator!= ( const bitflag< Enum, number_of_bits > &  o) const
inline

◆ operator==()

template<typename Enum, std::size_t number_of_bits = 32>
bool ant::bitflag< Enum, number_of_bits >::operator== ( const bitflag< Enum, number_of_bits > &  o) const
inline

◆ operator^() [1/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator^ ( Enum  value) const
inline

◆ operator^() [2/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator^ ( const bitflag< Enum, number_of_bits > &  o) const
inline

◆ operator^=() [1/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag& ant::bitflag< Enum, number_of_bits >::operator^= ( Enum  value)
inline

◆ operator^=() [2/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag& ant::bitflag< Enum, number_of_bits >::operator^= ( const bitflag< Enum, number_of_bits > &  o)
inline

◆ operator|() [1/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator| ( Enum  value) const
inline

◆ operator|() [2/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator| ( const bitflag< Enum, number_of_bits > &  o) const
inline

◆ operator|=() [1/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag& ant::bitflag< Enum, number_of_bits >::operator|= ( Enum  value)
inline

◆ operator|=() [2/2]

template<typename Enum, std::size_t number_of_bits = 32>
bitflag& ant::bitflag< Enum, number_of_bits >::operator|= ( const bitflag< Enum, number_of_bits > &  o)
inline

◆ operator~()

template<typename Enum, std::size_t number_of_bits = 32>
bitflag ant::bitflag< Enum, number_of_bits >::operator~ ( ) const
inline

◆ set()

template<typename Enum, std::size_t number_of_bits = 32>
void ant::bitflag< Enum, number_of_bits >::set ( Enum  value)
inline

◆ test()

template<typename Enum, std::size_t number_of_bits = 32>
constexpr bool ant::bitflag< Enum, number_of_bits >::test ( Enum  value) const
inline

◆ unset()

template<typename Enum, std::size_t number_of_bits = 32>
void ant::bitflag< Enum, number_of_bits >::unset ( Enum  value)
inline

Member Data Documentation

◆ bits

template<typename Enum, std::size_t number_of_bits = 32>
std::bitset<number_of_bits> ant::bitflag< Enum, number_of_bits >::bits
protected

The documentation for this class was generated from the following file: