A class for storing the names of MooseObject by tag and object name. More...
#include <MooseObjectName.h>
Public Member Functions | |
MooseObjectName (const std::string &tag, const std::string &name, const std::string &separator=std::string("/")) | |
Construct the name object. More... | |
virtual | ~MooseObjectName ()=default |
This class requires a virtual (but default) desctructor since it has virtual functions. More... | |
MooseObjectName (std::string name) | |
Build an object given a raw parameter name (e.g., from an input file parameter) More... | |
MooseObjectName (const MooseObjectName &rhs) | |
Copy constructor. More... | |
const std::string & | name () const |
Return the name. More... | |
const std::string & | tag () const |
Return the tag. More... | |
bool | operator== (const MooseObjectName &rhs) const |
Comparison operators. More... | |
bool | operator!= (const MooseObjectName &rhs) const |
bool | operator< (const MooseObjectName &rhs) const |
Protected Member Functions | |
MooseObjectName () | |
A constructor for use by MooseObjectParameterName. More... | |
virtual void | check () |
Check that the name and tag are supplied correctly. More... | |
Protected Attributes | |
std::string | _tag |
std::string | _name |
std::string | _combined |
std::string | _separator |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const MooseObjectName &obj) |
Allows this to be used with std:: cout. More... | |
A class for storing the names of MooseObject by tag and object name.
This class is used by the Control logic system, allowing for multiple tags to be applied to many different MooseObjects.
There are multiple ways to create an MooseObjectName object, the best being to input the tag and object name as separate inputs. However, this is not always practically if the supplied name is coming from an input file. Therefore, you can use the following single string methods.
MooseObjectName(foo::bar) -> tag="foo", name="bar" MooseObjectName(foo/bar) -> tag="foo", name="bar" MooseObjectName(foo/foo/bar) -> tag="foo/foo", name="bar"
This class also allows for glob style '*' to be used to allow for fuzzy comparisons to be performed.
MooseObjectName name1("*", "bar"); MooseObjectName name2("foo", "bar"); name1 == name2 (True)
MooseObjectName name3("foo", "*"); MooseObjectName name4("foo", "bar"); name3 == name4 (True)
Definition at line 40 of file MooseObjectName.h.
MooseObjectName::MooseObjectName | ( | const std::string & | tag, |
const std::string & | name, | ||
const std::string & | separator = std::string("/") |
||
) |
Construct the name object.
tag | The tag to apply the object |
name | The name of the object |
Definition at line 17 of file MooseObjectName.C.
|
virtualdefault |
This class requires a virtual (but default) desctructor since it has virtual functions.
MooseObjectName::MooseObjectName | ( | std::string | name | ) |
Build an object given a raw parameter name (e.g., from an input file parameter)
Definition at line 25 of file MooseObjectName.C.
MooseObjectName::MooseObjectName | ( | const MooseObjectName & | rhs | ) |
|
protected |
|
protectedvirtual |
Check that the name and tag are supplied correctly.
Reimplemented in MooseObjectParameterName.
Definition at line 94 of file MooseObjectName.C.
Referenced by MooseObjectParameterName::check(), and MooseObjectName().
|
inline |
Return the name.
Definition at line 71 of file MooseObjectName.h.
Referenced by InputParameterWarehouse::addControllableObjectAlias(), MooseObjectName(), and MooseObjectParameterName::MooseObjectParameterName().
bool MooseObjectName::operator!= | ( | const MooseObjectName & | rhs | ) | const |
Definition at line 73 of file MooseObjectName.C.
Referenced by MooseObjectParameterName::operator!=().
bool MooseObjectName::operator< | ( | const MooseObjectName & | rhs | ) | const |
Definition at line 79 of file MooseObjectName.C.
bool MooseObjectName::operator== | ( | const MooseObjectName & | rhs | ) | const |
Comparison operators.
The less than operator is required so this container can work in std::map.
Definition at line 62 of file MooseObjectName.C.
Referenced by MooseObjectParameterName::operator==().
|
inline |
|
friend |
|
protected |
Definition at line 104 of file MooseObjectName.h.
Referenced by MooseObjectName(), MooseObjectParameterName::MooseObjectParameterName(), MooseObjectParameterName::operator<(), and operator<().
|
protected |
Definition at line 103 of file MooseObjectName.h.
Referenced by check(), MooseObjectName(), MooseObjectParameterName::MooseObjectParameterName(), name(), operator<<(), and operator==().
|
protected |
Definition at line 105 of file MooseObjectName.h.
Referenced by MooseObjectName(), MooseObjectParameterName::MooseObjectParameterName(), and operator<<().
|
protected |
Storage for the various name components
Definition at line 102 of file MooseObjectName.h.
Referenced by check(), MooseObjectName(), MooseObjectParameterName::MooseObjectParameterName(), operator<<(), operator==(), and tag().