1 #ifndef DETECTOR_DESCRIPTION_CORE_DDNAME_H 2 #define DETECTOR_DESCRIPTION_CORE_DDNAME_H 9 #include <oneapi/tbb/concurrent_vector.h> 10 #include <oneapi/tbb/concurrent_unordered_map.h> 20 using key_type = std::pair<const std::string, std::string>;
21 using Registry = tbb::concurrent_unordered_map<key_type, id_type, edm::StdPairHasher>;
22 using IdToName = tbb::concurrent_vector<Registry::const_iterator>;
53 static Registry::const_iterator
registerName(
const std::pair<std::string, std::string>&
s);
tbb::concurrent_unordered_map< key_type, id_type, edm::StdPairHasher > Registry
bool operator<(const DDName &rhs) const
DDName is used to identify DDD entities uniquely.
std::ostream & operator<<(std::ostream &os, const DDName &n)
std::pair< const std::string, std::string > key_type
const std::string & name() const
Returns the name.
static Registry::const_iterator registerName(const std::pair< std::string, std::string > &s)
tbb::concurrent_vector< Registry::const_iterator > IdToName
bool operator==(const DDName &rhs) const
const std::string fullname() const
const std::string & ns() const
Returns the namespace.