nngn
|
Wrapper for an unsigned integral representing flags. More...
#include <flags.h>
Public Types | |
using | UT = std::underlying_type_t< T > |
using | AT = std::conditional_t< scoped_enum< T >, T, UT > |
using | UT = std::underlying_type_t< T > |
Value type stored in the object. | |
using | AT = std::conditional_t< scoped_enum< T >, T, UT > |
Accepted type for integral arguments. | |
using | PT = std::common_type_t< UT, int > |
Promoted type after an operation involving T s. | |
Public Member Functions | |
constexpr | Flags (void)=default |
constexpr | Flags (UT u) |
constexpr | Flags (AT a) |
constexpr bool | is_set (AT a) const |
constexpr Flags & | flip () |
constexpr Flags & | set (AT a) |
constexpr Flags & | set (AT a, bool b) |
constexpr Flags & | clear (AT a) |
constexpr Flags | check_and_clear (AT a) |
constexpr | operator bool () const |
constexpr Flags | operator~ () const |
constexpr Flags | operator- () const |
constexpr Flags | operator& (AT a) const |
constexpr Flags | operator| (AT a) const |
constexpr Flags | operator^ (AT a) const |
constexpr Flags & | operator&= (AT a) |
constexpr Flags & | operator|= (AT a) |
constexpr Flags & | operator^= (AT a) |
constexpr Flags | operator& (const Flags &f) const |
constexpr Flags | operator| (const Flags &f) const |
constexpr Flags | operator^ (const Flags &f) const |
constexpr Flags & | operator&= (const Flags &f) |
constexpr Flags & | operator|= (const Flags &f) |
constexpr Flags & | operator^= (const Flags &f) |
constexpr | Flags (void)=default |
constexpr | Flags (UT u) |
constexpr | Flags (AT a) |
constexpr | operator T (void) const |
constexpr T | operator* (void) const |
constexpr Flags | operator~ (void) const |
constexpr Flags | operator- (void) const |
constexpr Flags | operator& (AT rhs) |
constexpr Flags | operator| (AT rhs) |
constexpr Flags | operator^ (AT rhs) |
constexpr Flags & | operator&= (Flags rhs) |
constexpr Flags & | operator|= (Flags rhs) |
constexpr Flags & | operator^= (Flags rhs) |
constexpr bool | is_set (AT a) const |
constexpr Flags & | comp (void) |
constexpr Flags & | set (AT a) |
constexpr Flags & | set (AT a, bool b) |
constexpr Flags & | clear (AT a) |
constexpr Flags | check_and_clear (AT a) |
template<typename U > | |
constexpr auto | cast (U u) -> Flags |
Static Public Member Functions | |
template<typename U > | |
static constexpr Flags | cast (U u) |
static constexpr Flags | cast (PT x) |
Creates an object from the result of an expression. | |
Public Attributes | |
UT | t = {} |
UT | v = {} |
Wrapper for an unsigned integral representing flags.
Wrapper for a small unsigned integral representing flags.
Operations cast the result back to the underlying type to remove the need for explicit casts when it is converted to int
.
Accepted type for integral arguments.
using nngn::Flags< T >::PT = std::common_type_t<UT, int> |
Promoted type after an operation involving T
s.
using nngn::Flags< T >::UT = std::underlying_type_t<T> |
using nngn::Flags< T >::UT = std::underlying_type_t<T> |
Value type stored in the object.
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlinestaticconstexpr |
Creates an object from the result of an expression.
|
staticconstexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineexplicitconstexpr |
|
inlineconstexpr |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
UT nngn::Flags< T >::t = {} |
UT nngn::Flags< T >::v = {} |