wibble 1.1
Public Types | Public Member Functions | Friends | List of all members
wibble::StrongEnumFlags< Self > Struct Template Reference

#include <strongenumflags.h>

Public Types

using This = StrongEnumFlags< Self >
 
using UnderlyingType = typename std::underlying_type< Self >::type
 

Public Member Functions

constexpr StrongEnumFlags () noexcept
 
constexpr StrongEnumFlags (Self flag) noexcept
 
constexpr StrongEnumFlags (UnderlyingType st) noexcept
 
constexpr operator UnderlyingType () const noexcept
 
Thisoperator|= (This o) noexcept
 
Thisoperator&= (This o) noexcept
 
constexpr bool has (Self x) const noexcept
 
constexpr operator bool () const noexcept
 

Friends

constexpr This operator| (This a, This b) noexcept
 
constexpr This operator& (This a, This b) noexcept
 
constexpr bool operator== (This a, This b) noexcept
 
constexpr bool operator!= (This a, This b) noexcept
 

Member Typedef Documentation

◆ This

◆ UnderlyingType

template<typename Self >
using wibble::StrongEnumFlags< Self >::UnderlyingType = typename std::underlying_type< Self >::type

Constructor & Destructor Documentation

◆ StrongEnumFlags() [1/3]

template<typename Self >
constexpr wibble::StrongEnumFlags< Self >::StrongEnumFlags ( )
inlineconstexprnoexcept

◆ StrongEnumFlags() [2/3]

template<typename Self >
constexpr wibble::StrongEnumFlags< Self >::StrongEnumFlags ( Self  flag)
inlineconstexprnoexcept

◆ StrongEnumFlags() [3/3]

template<typename Self >
constexpr wibble::StrongEnumFlags< Self >::StrongEnumFlags ( UnderlyingType  st)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ has()

template<typename Self >
constexpr bool wibble::StrongEnumFlags< Self >::has ( Self  x) const
inlineconstexprnoexcept

◆ operator bool()

template<typename Self >
constexpr wibble::StrongEnumFlags< Self >::operator bool ( ) const
inlineconstexprnoexcept

◆ operator UnderlyingType()

template<typename Self >
constexpr wibble::StrongEnumFlags< Self >::operator UnderlyingType ( ) const
inlineexplicitconstexprnoexcept

◆ operator&=()

template<typename Self >
This & wibble::StrongEnumFlags< Self >::operator&= ( This  o)
inlinenoexcept

◆ operator|=()

template<typename Self >
This & wibble::StrongEnumFlags< Self >::operator|= ( This  o)
inlinenoexcept

Friends And Related Symbol Documentation

◆ operator!=

template<typename Self >
constexpr bool operator!= ( This  a,
This  b 
)
friend

◆ operator&

template<typename Self >
constexpr This operator& ( This  a,
This  b 
)
friend

◆ operator==

template<typename Self >
constexpr bool operator== ( This  a,
This  b 
)
friend

◆ operator|

template<typename Self >
constexpr This operator| ( This  a,
This  b 
)
friend

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