Template Class flag_set

Class Documentation

template<typename T>
class flag_set

Public Functions

flag_set() = default
inline explicit flag_set(const T &val)
inline flag_set &operator&=(const T &val) noexcept
inline flag_set &operator&=(const flag_set &o) noexcept
inline flag_set &operator|=(const T &val) noexcept
inline flag_set &operator|=(const flag_set &o) noexcept
inline flag_set operator&(const T &val) const
inline flag_set operator&(const flag_set &val) const
inline flag_set operator|(const T &val) const
inline flag_set operator|(const flag_set &val) const
inline flag_set operator~() const
inline explicit operator bool() const
inline bool operator==(const flag_set &o) const
inline std::size_t size() const
inline std::size_t count() const
inline flag_set &set()
inline flag_set &reset()
inline flag_set &flip()
inline flag_set &set(const T &val, bool value = true)
inline flag_set &reset(const T &val)
inline flag_set &flip(const T &val)
inline constexpr bool operator[](const T &val) const
inline explicit operator typename std::underlying_type<T>::type() const
inline std::string to_string() const

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const flag_set &self)