TrinityCore
EnumFlag< T > Class Template Reference

#include <EnumFlag.h>

Public Member Functions

constexpr EnumFlag (T value)
 
constexpr EnumFlagoperator&= (EnumFlag right)
 
constexpr EnumFlagoperator|= (EnumFlag right)
 
constexpr EnumFlag operator~ () const
 
constexpr void RemoveFlag (EnumFlag flag)
 
constexpr bool HasFlag (T flag) const
 
constexpr bool HasAllFlags (T flags) const
 
constexpr operator T () const
 
constexpr std::underlying_type_t< T > AsUnderlyingType () const
 

Private Attributes

_value
 

Friends

constexpr friend EnumFlag operator& (EnumFlag left, EnumFlag right)
 
constexpr friend EnumFlag operator| (EnumFlag left, EnumFlag right)
 

Detailed Description

template<typename T>
class EnumFlag< T >

Definition at line 65 of file EnumFlag.h.

Constructor & Destructor Documentation

◆ EnumFlag()

template<typename T >
constexpr EnumFlag< T >::EnumFlag ( value)
inlineconstexpr

Definition at line 70 of file EnumFlag.h.

Member Function Documentation

◆ AsUnderlyingType()

template<typename T >
constexpr std::underlying_type_t< T > EnumFlag< T >::AsUnderlyingType ( ) const
inlineconstexpr

Definition at line 122 of file EnumFlag.h.

+ Here is the caller graph for this function:

◆ HasAllFlags()

template<typename T >
constexpr bool EnumFlag< T >::HasAllFlags ( flags) const
inlineconstexpr

Definition at line 112 of file EnumFlag.h.

◆ HasFlag()

template<typename T >
constexpr bool EnumFlag< T >::HasFlag ( flag) const
inlineconstexpr

Definition at line 106 of file EnumFlag.h.

+ Here is the caller graph for this function:

◆ operator T()

template<typename T >
constexpr EnumFlag< T >::operator T ( ) const
inlineconstexpr

Definition at line 117 of file EnumFlag.h.

◆ operator&=()

template<typename T >
constexpr EnumFlag & EnumFlag< T >::operator&= ( EnumFlag< T >  right)
inlineconstexpr

Definition at line 74 of file EnumFlag.h.

◆ operator|=()

template<typename T >
constexpr EnumFlag & EnumFlag< T >::operator|= ( EnumFlag< T >  right)
inlineconstexpr

Definition at line 85 of file EnumFlag.h.

◆ operator~()

template<typename T >
constexpr EnumFlag EnumFlag< T >::operator~ ( ) const
inlineconstexpr

Definition at line 96 of file EnumFlag.h.

◆ RemoveFlag()

template<typename T >
constexpr void EnumFlag< T >::RemoveFlag ( EnumFlag< T >  flag)
inlineconstexpr

Definition at line 101 of file EnumFlag.h.

Friends And Related Function Documentation

◆ operator&

template<typename T >
constexpr friend EnumFlag operator& ( EnumFlag< T >  left,
EnumFlag< T >  right 
)
friend

Definition at line 80 of file EnumFlag.h.

◆ operator|

template<typename T >
constexpr friend EnumFlag operator| ( EnumFlag< T >  left,
EnumFlag< T >  right 
)
friend

Definition at line 91 of file EnumFlag.h.

Member Data Documentation

◆ _value

template<typename T >
T EnumFlag< T >::_value
private

Definition at line 128 of file EnumFlag.h.


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