opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
osc::Flags< TEnum > Class Template Referencefinal

#include <flags.h>

Public Types

using underlying_type = std::underlying_type_t< TEnum >
 

Public Member Functions

constexpr Flags ()=default
 
constexpr Flags (TEnum flag)
 
constexpr Flags (std::initializer_list< TEnum > flags)
 
constexpr bool operator! () const
 
constexpr operator bool () const
 
constexpr Flagsoperator|= (const Flags &rhs)
 
constexpr TEnum lowest_set () const
 
constexpr Flags with (TEnum flag) const
 
constexpr Flags without (TEnum flag) const
 
constexpr bool get (TEnum flag) const
 
constexpr void set (TEnum flag, bool v)
 
constexpr Flags with_flag_values_swapped (TEnum flag0, TEnum flag1) const
 
constexpr underlying_type underlying_value () const
 

Static Public Member Functions

static constexpr Flags from_underlying (underlying_type v)
 

Friends

constexpr bool operator== (const Flags &, const Flags &)=default
 
constexpr Flags operator& (const Flags &lhs, const Flags &rhs)
 
constexpr Flags operator| (const Flags &lhs, const Flags &rhs)
 

Member Typedef Documentation

◆ underlying_type

template<typename TEnum >
using osc::Flags< TEnum >::underlying_type = std::underlying_type_t<TEnum>

Constructor & Destructor Documentation

◆ Flags() [1/3]

template<typename TEnum >
constexpr osc::Flags< TEnum >::Flags ( )
constexprdefault

◆ Flags() [2/3]

template<typename TEnum >
constexpr osc::Flags< TEnum >::Flags ( TEnum  flag)
inlineconstexpr

◆ Flags() [3/3]

template<typename TEnum >
constexpr osc::Flags< TEnum >::Flags ( std::initializer_list< TEnum flags)
inlineconstexpr

Member Function Documentation

◆ from_underlying()

template<typename TEnum >
static constexpr Flags osc::Flags< TEnum >::from_underlying ( underlying_type  v)
inlinestaticconstexpr

◆ get()

template<typename TEnum >
constexpr bool osc::Flags< TEnum >::get ( TEnum  flag) const
inlineconstexpr

◆ lowest_set()

template<typename TEnum >
constexpr TEnum osc::Flags< TEnum >::lowest_set ( ) const
inlineconstexpr

◆ operator bool()

template<typename TEnum >
constexpr osc::Flags< TEnum >::operator bool ( ) const
inlineexplicitconstexpr

◆ operator!()

template<typename TEnum >
constexpr bool osc::Flags< TEnum >::operator! ( ) const
inlineconstexpr

◆ operator|=()

template<typename TEnum >
constexpr Flags & osc::Flags< TEnum >::operator|= ( const Flags< TEnum > &  rhs)
inlineconstexpr

◆ set()

template<typename TEnum >
constexpr void osc::Flags< TEnum >::set ( TEnum  flag,
bool  v 
)
inlineconstexpr

◆ underlying_value()

template<typename TEnum >
constexpr underlying_type osc::Flags< TEnum >::underlying_value ( ) const
inlineconstexpr

◆ with()

template<typename TEnum >
constexpr Flags osc::Flags< TEnum >::with ( TEnum  flag) const
inlineconstexpr

◆ with_flag_values_swapped()

template<typename TEnum >
constexpr Flags osc::Flags< TEnum >::with_flag_values_swapped ( TEnum  flag0,
TEnum  flag1 
) const
inlineconstexpr

◆ without()

template<typename TEnum >
constexpr Flags osc::Flags< TEnum >::without ( TEnum  flag) const
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator&

template<typename TEnum >
constexpr Flags operator& ( const Flags< TEnum > &  lhs,
const Flags< TEnum > &  rhs 
)
friend

◆ operator==

template<typename TEnum >
constexpr bool operator== ( const Flags< TEnum > &  ,
const Flags< TEnum > &   
)
friend

◆ operator|

template<typename TEnum >
constexpr Flags operator| ( const Flags< TEnum > &  lhs,
const Flags< TEnum > &  rhs 
)
friend

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