Loading...
Searching...
No Matches
ml::SingleFlaggable< Enum > Class Template Reference

Flag store for a single enum type. More...

#include <MultiCustomFlaggable.h>

Public Member Functions

bool checkFlag (Enum flag) const
 Return true if flag is set, false if unset or never written.
void disableFlag (Enum flag)
 Set flag to false.
void enableFlag (Enum flag)
 Set flag to true.
void setFlag (Enum flag, bool value)
 Set flag to an explicit value.
void toggleFlag (Enum flag)
 Flip flag between true and false.

Detailed Description

template<typename Enum>
class ml::SingleFlaggable< Enum >

Flag store for a single enum type.

Maintains an unordered_map from Enum values to bool and exposes the standard five-method flag API. One SingleFlaggable base is inherited per distinct flag enum.

Note
This class is an implementation detail of MultiCustomFlaggable. User code accesses flags through the component's unified API or, for trait-internal use, through a dynamic_cast to SingleFlaggable<TraitManifest::Flag>.
Template Parameters
EnumAn enum class type used as flag keys.
See also
MultiCustomFlaggable, GatherFlags

Definition at line 32 of file MultiCustomFlaggable.h.

Member Function Documentation

◆ checkFlag()

template<typename Enum>
bool ml::SingleFlaggable< Enum >::checkFlag ( Enum flag) const
inline

Return true if flag is set, false if unset or never written.

Definition at line 44 of file MultiCustomFlaggable.h.

◆ disableFlag()

template<typename Enum>
void ml::SingleFlaggable< Enum >::disableFlag ( Enum flag)
inline

Set flag to false.

Definition at line 41 of file MultiCustomFlaggable.h.

◆ enableFlag()

template<typename Enum>
void ml::SingleFlaggable< Enum >::enableFlag ( Enum flag)
inline

Set flag to true.

Definition at line 38 of file MultiCustomFlaggable.h.

◆ setFlag()

template<typename Enum>
void ml::SingleFlaggable< Enum >::setFlag ( Enum flag,
bool value )
inline

Set flag to an explicit value.

Definition at line 47 of file MultiCustomFlaggable.h.

◆ toggleFlag()

template<typename Enum>
void ml::SingleFlaggable< Enum >::toggleFlag ( Enum flag)
inline

Flip flag between true and false.

Definition at line 50 of file MultiCustomFlaggable.h.


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