13#include <unordered_map>
17#include "libmesh/simple_range.h"
55 unsigned int addOrGetID(
const std::string & name,
const WriteKey);
62 unsigned int getID(
const std::string & name)
const;
68 std::optional<unsigned int>
queryID(
const std::string & name)
const;
73 const std::string &
getName(
const unsigned int id)
const;
Key that restricts writing data to the registry.
WriteKey(const WriteKey &)
Registry class for material property IDs and names.
unsigned int getID(const std::string &name) const
std::vector< std::string > _id_to_name
Map of material property id -> material property name.
std::unordered_map< std::string, unsigned int > _name_to_id
Map of material property name -> material property id.
std::optional< unsigned int > queryID(const std::string &name) const
unsigned int addOrGetID(const std::string &name, const WriteKey)
bool hasProperty(const unsigned int id) const
bool hasProperty(const std::string &name) const
auto idsToNamesBegin() const
const std::string & getName(const unsigned int id) const
auto idsToNamesRange() const
auto idsToNamesEnd() const
Stores the stateful material properties computed by materials.