Go to the documentation of this file. 1 #ifndef DETECTOR_DESCRIPTION_CORE_DDNAME_H
2 #define DETECTOR_DESCRIPTION_CORE_DDNAME_H
9 #include <tbb/concurrent_vector.h>
10 #include <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);
DDName is used to identify DDD entities uniquely.
std::ostream & operator<<(std::ostream &os, const DDName &n)
bool operator<(const DDName &rhs) const
std::pair< const std::string, std::string > key_type
bool operator==(const DDName &rhs) const
const std::string & name() const
Returns the name.
static Registry::const_iterator registerName(const std::pair< std::string, std::string > &s)
const std::string & ns() const
Returns the namespace.
tbb::concurrent_unordered_map< key_type, id_type, edm::StdPairHasher > Registry
const std::string fullname() const
tbb::concurrent_vector< Registry::const_iterator > IdToName