16#include "ioss_export.h"
19#if defined USE_ROBIN_MAP
22#include <unordered_map>
26#if defined USE_ROBIN_MAP
29 using PropMapType = std::unordered_map<std::string, Property>;
48 void erase(
const std::string &property_name);
55 double optional_value)
const;
57 int64_t optional_value)
const;
60 const std::string &optional_value)
const;
74#if defined(IOSS_THREADSAFE)
75 mutable std::mutex m_;
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:55
PropertyManager()=default
PropMapType m_properties
Definition Ioss_PropertyManager.h:73
IOSS_NODISCARD double get_optional(const std::string &property_name, double optional_value) const
Definition Ioss_PropertyManager.C:85
IOSS_NODISCARD bool exists(const std::string &property_name) const
Checks if a property exists in the database.
Definition Ioss_PropertyManager.C:36
PropertyManager(const PropertyManager &from)
Definition Ioss_PropertyManager.h:39
PropertyManager & operator=(const PropertyManager &from)=delete
void add(const Property &new_prop)
Add a property to the property manager.
Definition Ioss_PropertyManager.C:21
IOSS_NODISCARD Property get(const std::string &property_name) const
Get a property object from the property manager.
Definition Ioss_PropertyManager.C:46
void erase(const std::string &property_name)
Remove a property from the property manager.
Definition Ioss_PropertyManager.C:114
int describe(NameList *names) const
Get the names of all properties in the property manager.
Definition Ioss_PropertyManager.C:139
IOSS_NODISCARD size_t count() const
Definition Ioss_PropertyManager.C:187
A named value that has a known type.
Definition Ioss_Property.h:27
Origin
Definition Ioss_Property.h:30
typename ht::value_type value_type
Definition robin_map.h:126
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
PropMapType::value_type ValuePair
Definition Ioss_PropertyManager.h:31
tsl::robin_pg_map< std::string, Property > PropMapType
Definition Ioss_PropertyManager.h:27
Ioss::NameList NameList
Definition Ioss_ChangeSetFactory.h:25
robin_map< Key, T, Hash, KeyEqual, Allocator, StoreHash, tsl::rh::prime_growth_policy > robin_pg_map
Definition robin_map.h:786