userver: utils::Flags< Enum > Class Template Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
utils::Flags< Enum > Class Template Referencefinal

Wrapper to extend enum with flags interface. More...

#include <userver/utils/flags.hpp>

Public Types

using ValueType = std::underlying_type_t< Enum >
 

Public Member Functions

constexpr Flags (Enum) noexcept
 
constexpr Flags (std::initializer_list< Enum >) noexcept
 
constexpr operator bool () const
 
constexpr Flagsoperator|= (Flags)
 
constexpr Flagsoperator&= (Flags)
 
constexpr FlagsClear (Flags)
 
constexpr Flags operator| (Flags) const
 
constexpr Flags operator& (Flags) const
 
constexpr bool operator== (Flags) const
 
constexpr bool operator!= (Flags) const
 
constexpr ValueType GetValue () const
 
constexpr void SetValue (ValueType value)
 

Friends

class AtomicFlags< Enum >
 

Detailed Description

template<typename Enum>
class utils::Flags< Enum >

Wrapper to extend enum with flags interface.

Definition at line 21 of file flags.hpp.

Member Typedef Documentation

◆ ValueType

template<typename Enum >
using utils::Flags< Enum >::ValueType = std::underlying_type_t<Enum>

Definition at line 23 of file flags.hpp.

Constructor & Destructor Documentation

◆ Flags() [1/3]

template<typename Enum >
constexpr utils::Flags< Enum >::Flags ( )
inlineconstexprnoexcept

Definition at line 25 of file flags.hpp.

◆ Flags() [2/3]

template<typename Enum >
constexpr utils::Flags< Enum >::Flags ( Enum  value)
constexprnoexcept

Definition at line 129 of file flags.hpp.

◆ Flags() [3/3]

template<typename Enum >
constexpr utils::Flags< Enum >::Flags ( std::initializer_list< Enum values)
constexprnoexcept

Definition at line 133 of file flags.hpp.

Member Function Documentation

◆ Clear()

template<typename Enum >
constexpr Flags< Enum > & utils::Flags< Enum >::Clear ( Flags< Enum flags)
constexpr

Definition at line 158 of file flags.hpp.

◆ GetValue()

template<typename Enum >
constexpr Flags< Enum >::ValueType utils::Flags< Enum >::GetValue ( ) const
constexpr

Definition at line 184 of file flags.hpp.

◆ operator bool()

template<typename Enum >
constexpr utils::Flags< Enum >::operator bool ( ) const
explicitconstexpr

Definition at line 141 of file flags.hpp.

◆ operator!=()

template<typename Enum >
constexpr bool utils::Flags< Enum >::operator!= ( Flags< Enum rhs) const
constexpr

Definition at line 179 of file flags.hpp.

◆ operator&()

template<typename Enum >
constexpr Flags< Enum > utils::Flags< Enum >::operator& ( Flags< Enum rhs) const
constexpr

Definition at line 169 of file flags.hpp.

◆ operator&=()

template<typename Enum >
constexpr Flags< Enum > & utils::Flags< Enum >::operator&= ( Flags< Enum rhs)
constexpr

Definition at line 152 of file flags.hpp.

◆ operator==()

template<typename Enum >
constexpr bool utils::Flags< Enum >::operator== ( Flags< Enum rhs) const
constexpr

Definition at line 174 of file flags.hpp.

◆ operator|()

template<typename Enum >
constexpr Flags< Enum > utils::Flags< Enum >::operator| ( Flags< Enum rhs) const
constexpr

Definition at line 164 of file flags.hpp.

◆ operator|=()

template<typename Enum >
constexpr Flags< Enum > & utils::Flags< Enum >::operator|= ( Flags< Enum rhs)
constexpr

Definition at line 146 of file flags.hpp.

◆ SetValue()

template<typename Enum >
constexpr void utils::Flags< Enum >::SetValue ( ValueType  value)
constexpr

Definition at line 189 of file flags.hpp.

Friends And Related Symbol Documentation

◆ AtomicFlags< Enum >

template<typename Enum >
friend class AtomicFlags< Enum >
friend

Definition at line 42 of file flags.hpp.


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