https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
moose::internal::ExecFlagRegistry Class Reference

Registry for statically defining execute flags with consistent numbering. More...

#include <ExecFlagRegistry.h>

Public Member Functions

const ExecFlagTyperegisterFlag (const std::string &name, const bool is_default)
 Registers an execute flag.
 
const ExecFlagEnumgetFlags () const
 
const ExecFlagEnumgetDefaultFlags () const
 
 ExecFlagRegistry (ExecFlagRegistry const &)=delete
 Don't allow creation through copy/move construction or assignment.
 
ExecFlagRegistryoperator= (ExecFlagRegistry const &)=delete
 
 ExecFlagRegistry (ExecFlagRegistry &&)=delete
 
ExecFlagRegistryoperator= (ExecFlagRegistry &&)=delete
 

Static Public Member Functions

static ExecFlagRegistrygetExecFlagRegistry ()
 Return Singleton instance.
 

Private Member Functions

 ExecFlagRegistry ()
 

Private Attributes

ExecFlagEnum _flags
 The registered flags.
 
ExecFlagEnum _default_flags
 The default flags.
 

Detailed Description

Registry for statically defining execute flags with consistent numbering.

Definition at line 22 of file ExecFlagRegistry.h.

Constructor & Destructor Documentation

◆ ExecFlagRegistry() [1/3]

moose::internal::ExecFlagRegistry::ExecFlagRegistry ( ExecFlagRegistry const &  )
delete

Don't allow creation through copy/move construction or assignment.

◆ ExecFlagRegistry() [2/3]

moose::internal::ExecFlagRegistry::ExecFlagRegistry ( ExecFlagRegistry &&  )
delete

◆ ExecFlagRegistry() [3/3]

moose::internal::ExecFlagRegistry::ExecFlagRegistry ( )
inlineprivate

Definition at line 56 of file ExecFlagRegistry.h.

56{}

Member Function Documentation

◆ getDefaultFlags()

const ExecFlagEnum & moose::internal::ExecFlagRegistry::getDefaultFlags ( ) const
inline
Returns
The registered default exec flags.

Definition at line 41 of file ExecFlagRegistry.h.

41{ return _default_flags; };
ExecFlagEnum _default_flags
The default flags.

Referenced by MooseUtils::getDefaultExecFlagEnum().

◆ getExecFlagRegistry()

ExecFlagRegistry & moose::internal::ExecFlagRegistry::getExecFlagRegistry ( )
static

Return Singleton instance.

Definition at line 19 of file ExecFlagRegistry.C.

20{
21 static ExecFlagRegistry exec_flag_registry;
22 return exec_flag_registry;
23}

Referenced by MooseUtils::getDefaultExecFlagEnum().

◆ getFlags()

const ExecFlagEnum & moose::internal::ExecFlagRegistry::getFlags ( ) const
inline
Returns
The registered exec flags.

Definition at line 36 of file ExecFlagRegistry.h.

36{ return _flags; };
ExecFlagEnum _flags
The registered flags.

◆ operator=() [1/2]

ExecFlagRegistry & moose::internal::ExecFlagRegistry::operator= ( ExecFlagRegistry &&  )
delete

◆ operator=() [2/2]

ExecFlagRegistry & moose::internal::ExecFlagRegistry::operator= ( ExecFlagRegistry const &  )
delete

◆ registerFlag()

const ExecFlagType & moose::internal::ExecFlagRegistry::registerFlag ( const std::string &  name,
const bool  is_default 
)

Registers an execute flag.

Parameters
nameThe name of the execute flag.
is_defaultWhether or not to define the flag as a default (available to all objects that use the SetupInterface).

Definition at line 26 of file ExecFlagRegistry.C.

27{
28 const auto name_upper = MooseUtils::toUpper(name);
29 const auto flag_iter = _flags.find(name_upper);
30 if (flag_iter != _flags.items().end())
31 {
32 // Assume that this is not a duplicate name, but a "double registration" due
33 // to the dynamic load functionality.
34 return *flag_iter;
35 }
36
37 const auto & flag = _flags.addAvailableFlags(ExecFlagType(name_upper, _flags.getNextValidID()));
38
39 if (is_default)
41
42 return flag;
43}
MooseEnumItem ExecFlagType
Definition Moose.h:123
const std::set< ExecFlagType > & items() const
Reference the all the available items.
void addAvailableFlags(const ExecFlagType &flag, Args... flags)
Add additional execute_on flags to the list of possible flags.
int getNextValidID() const
Compute the next valid ID.
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const
Locate an item.
std::string toUpper(std::string name)
Convert supplied string to upper case.

Member Data Documentation

◆ _default_flags

ExecFlagEnum moose::internal::ExecFlagRegistry::_default_flags
private

The default flags.

Definition at line 62 of file ExecFlagRegistry.h.

Referenced by getDefaultFlags(), and registerFlag().

◆ _flags

ExecFlagEnum moose::internal::ExecFlagRegistry::_flags
private

The registered flags.

Definition at line 59 of file ExecFlagRegistry.h.

Referenced by getFlags(), and registerFlag().


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