6 #include <ext/alloc_traits.h>
12 os << n.
ns() <<
':' << n.
name();
20 if (result.second.empty()) {
29 if (result.second.empty()) {
64 std::once_flag s_once;
68 std::call_once(s_once, []() {
72 idToName.emplace_back(reg.begin());
76 Registry::const_iterator itFound = reg.find(nm);
77 if (itFound == reg.end()) {
82 auto it = idToName.emplace_back(reg.end());
83 *it = reg.emplace(nm, it - idToName.begin()).
first;
tbb::concurrent_unordered_map< key_type, id_type, edm::StdPairHasher > Registry
const std::string & ns() const
Returns the namespace.
DDName is used to identify DDD entities uniquely.
static std::string & ns()
std::ostream & operator<<(std::ostream &out, const ALILine &li)
U second(std::pair< T, U > const &p)
static value_type & instance()
static Registry::const_iterator registerName(const std::pair< std::string, std::string > &s)
tbb::concurrent_vector< Registry::const_iterator > IdToName
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
const std::string & name() const
Returns the name.