34 MooseEnumBase(std::string names,
bool allow_out_of_range =
false);
58 virtual void deprecate(
const std::string &
name,
const std::string & raw_name =
"");
64 std::vector<std::string>
getNames()
const;
76 std::vector<int>
getIDs()
const;
82 virtual bool isValid()
const = 0;
93 const std::set<MooseEnumItem> &
items()
const {
return _items; }
110 std::set<MooseEnumItem>::const_iterator
find(
const std::string & name)
const;
111 std::set<MooseEnumItem>::const_iterator
find(
int id)
const;
std::string name(const ElemQuality q)
int getNextValidID() const
Compute the next valid ID.
const std::set< MooseEnumItem > & items() const
Return the complete set of available flags.
std::map< MooseEnumItem, MooseEnumItem > _deprecated_items
The map of deprecated names and optional replacements.
void addEnumerationNames(const std::string &names)
Methods to add possible enumeration value to the enum.
MooseEnumBase()
Private constuctor for use by libmesh::Parameters.
std::string getRawNames() const
Method for returning the raw name strings for this instance.
virtual bool isValid() const =0
IsValid.
The base class for both the MooseEnum and MultiMooseEnum classes.
const std::map< MooseEnumItem, std::string > & getItemDocumentation() const
Get the map containing each item's documentation string.
std::map< MooseEnumItem, std::string > _item_documentation
The map of items and their respective documentation strings.
virtual ~MooseEnumBase()=default
This class must have a virtual destructor since it has derived classes.
const MooseEnumItem & addEnumerationName(const std::string &raw_name)
virtual void checkDeprecated() const =0
Method that must be implemented to check derived class values against the _deprecated_names.
const MooseEnumItem & addEnumerationItem(const MooseEnumItem &item)
std::vector< int > getIDs() const
Method for returning a vector of ids for this instance.
std::vector< std::string > getNames() const
Method for returning a vector of all valid enumeration names for this instance.
std::set< MooseEnumItem > _items
Storage for the assigned items.
MooseEnumBase & operator=(const MooseEnumBase &other_enum)=default
Copy Assignment operator must be explicitly defined when a copy ctor exists and this method is used...
Class for containing MooseEnum item information.
void addDocumentation(const std::string &name, const std::string &doc)
Add an item documentation string.
bool isOutOfRangeAllowed() const
isOutOfRangeAllowed
virtual void deprecate(const std::string &name, const std::string &raw_name="")
Deprecates various options in the MOOSE enum.
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const
Locate an item.
bool _allow_out_of_range
Flag to enable enumeration items not previously defined.
MooseEnumBase & operator+=(const std::string &name)
Adds an enumeration item from name.