CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Registry.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_Registry_h
2 #define FWCore_ParameterSet_Registry_h
3 
4 // ----------------------------------------------------------------------
5 // Declaration for pset::Registry. This is an implementation detail of
6 // the ParameterSet library.
7 //
8 // A Registry is used to keep track of the persistent form of all
9 // ParameterSets used a given program, so that they may be retrieved by
10 // ParameterSetID, and so they may be written to persistent storage.
11 // ----------------------------------------------------------------------
12 
13 #include <map>
14 
19 
20 
21 
22 namespace edm {
23  namespace pset {
24 
26  public:
28  ParameterSetID id() const { return id_; }
29  void setID(ParameterSetID const& id) { id_ = id; }
30  private:
32  };
33 
38 
40 
46 
49  typedef std::map<ParameterSetID, ParameterSetBlob> regmap_type;
50  void fillMap(Registry* reg, regmap_type& fillme);
51 
52  } // namespace pset
53 
55 
56 } // namespace edm
57 
58 
59 #endif
detail::ThreadSafeRegistry< ParameterSetID, ParameterSet, ProcessParameterSetIDCache > Registry
Definition: Registry.h:37
std::map< ParameterSetID, ParameterSetBlob > regmap_type
Definition: Registry.h:49
Hash< ParameterSetType > ParameterSetID
ParameterSet const & getProcessParameterSet()
Definition: Registry.cc:34
ParameterSetID getProcessParameterSetID(Registry const *reg)
Associated free functions.
Definition: Registry.cc:11
ParameterSetID id() const
Definition: Registry.h:28
void fillMap(Registry *reg, regmap_type &fillme)
Definition: Registry.cc:24
void setID(ParameterSetID const &id)
Definition: Registry.h:29