CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
edm::pset::Registry Class Reference

#include <Registry.h>

Classes

struct  key_hash
 

Public Types

typedef map_type::const_iterator const_iterator
 
typedef edm::ParameterSetID key_type
 
typedef tbb::concurrent_unordered_map< key_type, value_type, key_hashmap_type
 
typedef std::map< ParameterSetID, ParameterSetBlobregmap_type
 
typedef edm::ParameterSet value_type
 

Public Member Functions

const_iterator begin () const
 
void clear ()
 Not thread safe. More...
 
bool empty () const
 
const_iterator end () const
 
void fillMap (regmap_type &fillme) const
 
bool getMapped (key_type const &k, value_type &result) const
 
value_type const * getMapped (key_type const &k) const
 
bool insertMapped (value_type const &v, bool forceUpdate=false)
 
void print (std::ostream &os) const
 
size_t size () const
 

Static Public Member Functions

static Registryinstance ()
 

Private Attributes

map_type m_map
 

Detailed Description

Definition at line 26 of file Registry.h.

Member Typedef Documentation

typedef map_type::const_iterator edm::pset::Registry::const_iterator

Definition at line 63 of file Registry.h.

Definition at line 28 of file Registry.h.

typedef tbb::concurrent_unordered_map<key_type,value_type,key_hash> edm::pset::Registry::map_type

Definition at line 62 of file Registry.h.

Fill the given map with the persistent form of each ParameterSet in the registry.

Definition at line 83 of file Registry.h.

Definition at line 29 of file Registry.h.

Member Function Documentation

const_iterator edm::pset::Registry::begin ( void  ) const
inline

Definition at line 65 of file Registry.h.

References m_map.

Referenced by egHLT::trigTools::getMinNrObjsRequiredByFilter(), HLTConfigProvider::init(), and DQMRootOutputModule::startEndFile().

65  {
66  return m_map.begin();
67  }
map_type m_map
Definition: Registry.h:89
void edm::pset::Registry::clear ( void  )

Not thread safe.

Definition at line 44 of file Registry.cc.

References m_map.

Referenced by edm::EventProcessor::~EventProcessor().

44  {
45  m_map.clear();
46  }
map_type m_map
Definition: Registry.h:89
bool edm::pset::Registry::empty ( void  ) const
inline

Definition at line 73 of file Registry.h.

References m_map.

73  {
74  return m_map.empty();
75  }
map_type m_map
Definition: Registry.h:89
const_iterator edm::pset::Registry::end ( void  ) const
inline
void edm::pset::Registry::fillMap ( regmap_type fillme) const

Definition at line 49 of file Registry.cc.

References m_map.

Referenced by edm::StreamSerializer::serializeRegistry().

49  {
50  fillme.clear();
51  // Note: The tracked part is in the registry.
52  for (auto const& item : m_map) {
53  fillme[item.first].pset() = item.second.toString();
54  }
55  }
map_type m_map
Definition: Registry.h:89
bool edm::pset::Registry::getMapped ( key_type const &  k,
value_type result 
) const

Retrieve the value_type object with the given key. If we return 'true', then 'result' carries the value_type object. If we return 'false, no matching key was found, and the value of 'result' is undefined.

Definition at line 18 of file Registry.cc.

References runEdmFileComparison::found, and m_map.

Referenced by CompareToObjectMapRecord::analyze(), gen::BaseHadronizer::generateLHE(), getHLTConfigData(), edm::Event::getProcessParameterSet(), edm::service::TriggerNamesService::getTrigPaths(), HLTConfigProvider::init(), edm::StreamSchedule::initializeEarlyDelete(), edm::parameterSet(), edm::ScheduleInfo::parametersForModule(), edm::EventBase::triggerNames_(), and ProvenanceDumper::work_().

18  {
19  auto it = m_map.find(k);
20  bool found = it != m_map.end();
21  if(found) {
22  result = it->second;
23  }
24  return found;
25  }
int k[5][pyjets_maxn]
map_type m_map
Definition: Registry.h:89
Registry::value_type const * edm::pset::Registry::getMapped ( key_type const &  k) const

Retrieve a pointer to the value_type object with the given key. If there is no object associated with the given key 0 is returned.

Definition at line 28 of file Registry.cc.

References runEdmFileComparison::found, and m_map.

28  {
29  auto it = m_map.find(k);
30  bool found = it != m_map.end();
31  return found? &(it->second) : static_cast<value_type const*>(nullptr);
32  }
int k[5][pyjets_maxn]
map_type m_map
Definition: Registry.h:89
bool edm::pset::Registry::insertMapped ( value_type const &  v,
bool  forceUpdate = false 
)

Insert the given value_type object into the registry. If there was already a value_type object with the same key, we don't change it. This should be OK, since it should have the same contents if the key is the same. Return 'true' if we really added the new value_type object, and 'false' if the value_type object was already present.

Definition at line 35 of file Registry.cc.

References edm::ParameterSet::id(), m_map, and findQualityFiles::v.

Referenced by edm::StreamerInputSource::deserializeAndMergeWithRegistry(), fwlite::Event::fillParameterSetRegistry(), edm::Maker::makeModule(), edm::ParameterSetConverter::noConvertParameterSets(), edm::ParameterSet::registerFromString(), edm::ParameterSet::registerIt(), edm::RootFile::RootFile(), TFWLiteSelectorBasic::setupNewFile(), and ProvenanceDumper::work_().

35  {
36  auto wasAdded = m_map.insert(std::make_pair(v.id(),v));
37  if(forceUpdate and not wasAdded.second) {
38  wasAdded.first->second = v;
39  }
40  return wasAdded.second;
41  }
map_type m_map
Definition: Registry.h:89
Registry * edm::pset::Registry::instance ( )
static
void edm::pset::Registry::print ( std::ostream &  os) const

Definition at line 58 of file Registry.cc.

References size().

58  {
59  os << "Registry with " << size() << " entries\n";
60  for(auto const& item : *this) {
61  os << item.first << " " << item.second << '\n';
62  }
63  }
size_t size() const
Definition: Registry.h:77
size_t edm::pset::Registry::size ( void  ) const
inline

Definition at line 77 of file Registry.h.

References m_map.

Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), and print().

77  {
78  return m_map.size();
79  }
map_type m_map
Definition: Registry.h:89

Member Data Documentation

map_type edm::pset::Registry::m_map
private

Definition at line 89 of file Registry.h.

Referenced by begin(), clear(), empty(), end(), fillMap(), getMapped(), insertMapped(), and size().