36 template <
class N,
class I,
class K=I>
46 using iterator =
typename registry_type::iterator;
72 std::map<name_type,prep_type>
reg_;
78 template<
class N,
class I,
class K>
87 <<
" Store has been locked. Illegal attempt to add " 88 << n <<
" to a global store.";
92 return result.first->second;
95 template<
class N,
class I,
class K>
102 <<
" Store has been locked. Illegal attempt to add " 103 << n <<
" to a global store.";
108 result.first->second->second.swap( p );
113 return result.first->second;
116 template <
typename I>
123 template <
typename I>
132 template<
class N,
class I,
class K>
135 for(
auto it :
reg_ ) {
142 template<
class N,
class I,
class K>
145 if (
readOnly_)
edm::LogWarning(
"DetectorDescriptionStore") <<
" Store is locked and most likely empty. isDefined will be false.";
146 auto it =
reg_.find(n);
148 if (it !=
reg_.end()) {
149 if (it.second->second) {
156 template<
class N,
class I,
class K>
std::map< name_type, prep_type > registry_type
static void cleanup(I *ptr)
DDName is used to identify DDD entities uniquely.
prep_type create(const name_type &)
typename registry_type::iterator iterator
static void cleanup(I &&ptr)
DDRotationMatrix * key_type
std::map< name_type, prep_type > reg_
const std::complex< double > I
DDRotationMatrix * pimpl_type
rep_type< name_type, pimpl_type > Rep_type
std::vector< std::vector< double > > tmp
Store & operator=(const Store &)=delete
bool isDefined(const name_type &n) const