CMS 3D CMS Logo

ParameterSetDescriptionFillerBase.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_ParameterSetDescriptionFillerBase_h
2 #define FWCore_ParameterSet_ParameterSetDescriptionFillerBase_h
3 // -*- C++ -*-
4 //
5 // Package: ParameterSet
6 // Class : ParameterSetDescriptionFillerBase
7 //
18 //
19 // Original Author: Chris Jones
20 // Created: Wed Aug 1 16:46:53 EDT 2007
21 //
22 
23 // system include files
24 
25 // user include files
26 
27 // forward declarations
29 
30 #include <string>
31 
32 namespace edm {
33  class EDProducer;
34  class EDFilter;
35  class EDAnalyzer;
36  class OutputModule;
37 
38  namespace one {
39  class EDProducerBase;
40  class EDFilterBase;
41  class EDAnalyzerBase;
42  class OutputModuleBase;
43  }
44 
45  namespace stream {
46  class EDProducerBase;
47  class EDFilterBase;
48  class EDAnalyzerBase;
49  }
50 
51  namespace global {
52  class EDProducerBase;
53  class EDFilterBase;
54  class EDAnalyzerBase;
55  class OutputModuleBase;
56  }
57 
58  namespace limited {
59  class EDProducerBase;
60  class EDFilterBase;
61  class EDAnalyzerBase;
62  class OutputModuleBase;
63  }
64 
66 {
67 
68  public:
71 
72  // ---------- const member functions ---------------------
73  virtual void fill(ConfigurationDescriptions & descriptions) const = 0;
74  virtual const std::string& baseType() const = 0;
75  virtual const std::string& extendedBaseType() const = 0;
76 
77  // ---------- static member functions --------------------
78 
79  // ---------- member functions ---------------------------
80 
81  protected:
82  static const std::string kEmpty;
105 
106  static const std::string& extendedBaseType(EDAnalyzer const*) {
107  return kExtendedBaseForEDAnalyzer;
108  }
109  static const std::string& extendedBaseType(EDProducer const*) {
110  return kExtendedBaseForEDProducer;
111  }
112  static const std::string& extendedBaseType(EDFilter const*) {
113  return kExtendedBaseForEDFilter;
114  }
115  static const std::string& extendedBaseType(OutputModule const*) {
116  return kExtendedBaseForOutputModule;
117  }
119  return kExtendedBaseForOneEDAnalyzer;
120  }
122  return kExtendedBaseForOneEDProducer;
123  }
125  return kExtendedBaseForOneEDFilter;
126  }
128  return kExtendedBaseForOneOutputModule;
129  }
131  return kExtendedBaseForStreamEDAnalyzer;
132  }
134  return kExtendedBaseForStreamEDProducer;
135  }
137  return kExtendedBaseForStreamEDFilter;
138  }
140  return kExtendedBaseForGlobalEDAnalyzer;
141  }
143  return kExtendedBaseForGlobalEDProducer;
144  }
146  return kExtendedBaseForGlobalEDFilter;
147  }
149  return kExtendedBaseForGlobalOutputModule;
150  }
152  return kExtendedBaseForLimitedEDAnalyzer;
153  }
155  return kExtendedBaseForLimitedEDProducer;
156  }
158  return kExtendedBaseForLimitedEDFilter;
159  }
161  return kExtendedBaseForLimitedOutputModule;
162  }
163  static const std::string& extendedBaseType(void const *) {
164  return kEmpty;
165  }
166 
167  private:
169 
170  const ParameterSetDescriptionFillerBase& operator=(const ParameterSetDescriptionFillerBase&) = delete; // stop default
171 
172  // ---------- member data --------------------------------
173 
174 };
175 
176 }
177 #endif
static const std::string & extendedBaseType(limited::EDAnalyzerBase const *)
static const std::string & extendedBaseType(global::OutputModuleBase const *)
static const std::string & extendedBaseType(global::EDProducerBase const *)
static const std::string & extendedBaseType(EDFilter const *)
static const std::string & extendedBaseType(OutputModule const *)
static const std::string & extendedBaseType(one::OutputModuleBase const *)
static const std::string & extendedBaseType(one::EDFilterBase const *)
static const std::string & extendedBaseType(limited::EDFilterBase const *)
static const std::string & extendedBaseType(limited::EDProducerBase const *)
static const std::string & extendedBaseType(global::EDFilterBase const *)
static const std::string & extendedBaseType(one::EDAnalyzerBase const *)
static const std::string & extendedBaseType(limited::OutputModuleBase const *)
static const std::string & extendedBaseType(void const *)
static const std::string & extendedBaseType(EDProducer const *)
static const std::string & extendedBaseType(global::EDAnalyzerBase const *)
static const std::string & extendedBaseType(stream::EDAnalyzerBase const *)
static const std::string & extendedBaseType(stream::EDFilterBase const *)
HLT enums.
static const std::string & extendedBaseType(stream::EDProducerBase const *)
static const std::string & extendedBaseType(EDAnalyzer const *)
static const std::string & extendedBaseType(one::EDProducerBase const *)