https://mooseframework.inl.gov
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
moose::internal::ConvergenceIterationTypeRegistry Class Reference

Registry for Convergence iteration types. More...

#include <ConvergenceIterationTypes.h>

Public Member Functions

const Convergence::IterationTyperegisterType (const std::string &name)
 Registers a Convergence iteration type. More...
 
 ConvergenceIterationTypeRegistry (ConvergenceIterationTypeRegistry const &)=delete
 Don't allow creation through copy/move construction or assignment. More...
 
ConvergenceIterationTypeRegistryoperator= (ConvergenceIterationTypeRegistry const &)=delete
 
 ConvergenceIterationTypeRegistry (ConvergenceIterationTypeRegistry &&)=delete
 
ConvergenceIterationTypeRegistryoperator= (ConvergenceIterationTypeRegistry &&)=delete
 

Static Public Member Functions

static ConvergenceIterationTypeRegistrygetRegistry ()
 Return Singleton instance. More...
 

Private Member Functions

 ConvergenceIterationTypeRegistry ()
 

Private Attributes

ConvergenceIterationTypeEnum _types
 The registered types. More...
 

Detailed Description

Registry for Convergence iteration types.

Definition at line 23 of file ConvergenceIterationTypes.h.

Constructor & Destructor Documentation

◆ ConvergenceIterationTypeRegistry() [1/3]

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

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

◆ ConvergenceIterationTypeRegistry() [2/3]

moose::internal::ConvergenceIterationTypeRegistry::ConvergenceIterationTypeRegistry ( ConvergenceIterationTypeRegistry &&  )
delete

◆ ConvergenceIterationTypeRegistry() [3/3]

moose::internal::ConvergenceIterationTypeRegistry::ConvergenceIterationTypeRegistry ( )
inlineprivate

Definition at line 45 of file ConvergenceIterationTypes.h.

45 {}

Member Function Documentation

◆ getRegistry()

ConvergenceIterationTypeRegistry & moose::internal::ConvergenceIterationTypeRegistry::getRegistry ( )
static

Return Singleton instance.

Definition at line 19 of file ConvergenceIterationTypes.C.

Referenced by ConvergenceIterationTypes::registerType().

20 {
21  static ConvergenceIterationTypeRegistry conv_iter_type_registry;
22  return conv_iter_type_registry;
23 }

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ registerType()

const Convergence::IterationType & moose::internal::ConvergenceIterationTypeRegistry::registerType ( const std::string &  name)

Registers a Convergence iteration type.

Parameters
nameThe name of the Convergence iteration type

Definition at line 26 of file ConvergenceIterationTypes.C.

Referenced by ConvergenceIterationTypes::registerType().

27 {
28  const auto name_upper = MooseUtils::toUpper(name);
29 
30  const auto type_iter = _types.find(name_upper);
31  if (type_iter != _types.items().end())
32  {
33  // Assume that this is not a duplicate name, but a "double registration" due
34  // to the dynamic load functionality.
35  return *type_iter;
36  }
37  else
38  return _types.addConvergenceIterationType(name_upper);
39 }
ConvergenceIterationTypeEnum _types
The registered types.
const std::set< MooseEnumItem > & items() const
Return the complete set of available flags.
Definition: MooseEnumBase.h:93
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
const MooseEnumItem & addConvergenceIterationType(const std::string &raw_name)
Add a new Convergence iteration type.
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const
Locate an item.

Member Data Documentation

◆ _types

ConvergenceIterationTypeEnum moose::internal::ConvergenceIterationTypeRegistry::_types
private

The registered types.

Definition at line 48 of file ConvergenceIterationTypes.h.

Referenced by registerType().


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