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  } // namespace one
44 
45  namespace stream {
46  class EDProducerBase;
47  class EDFilterBase;
48  class EDAnalyzerBase;
49  } // namespace stream
50 
51  namespace global {
52  class EDProducerBase;
53  class EDFilterBase;
54  class EDAnalyzerBase;
55  class OutputModuleBase;
56  } // namespace global
57 
58  namespace limited {
59  class EDProducerBase;
60  class EDFilterBase;
61  class EDAnalyzerBase;
62  class OutputModuleBase;
63  } // namespace limited
64 
66  public:
69 
70  // ---------- const member functions ---------------------
71  virtual void fill(ConfigurationDescriptions& descriptions) const = 0;
72  virtual const std::string& baseType() const = 0;
73  virtual const std::string& extendedBaseType() const = 0;
74 
75  // ---------- static member functions --------------------
76 
77  // ---------- member functions ---------------------------
78 
79  protected:
80  static const std::string kEmpty;
103 
104  static const std::string& extendedBaseType(EDAnalyzer const*) { return kExtendedBaseForEDAnalyzer; }
105  static const std::string& extendedBaseType(EDProducer const*) { return kExtendedBaseForEDProducer; }
106  static const std::string& extendedBaseType(EDFilter const*) { return kExtendedBaseForEDFilter; }
107  static const std::string& extendedBaseType(OutputModule const*) { return kExtendedBaseForOutputModule; }
108  static const std::string& extendedBaseType(one::EDAnalyzerBase const*) { return kExtendedBaseForOneEDAnalyzer; }
109  static const std::string& extendedBaseType(one::EDProducerBase const*) { return kExtendedBaseForOneEDProducer; }
110  static const std::string& extendedBaseType(one::EDFilterBase const*) { return kExtendedBaseForOneEDFilter; }
111  static const std::string& extendedBaseType(one::OutputModuleBase const*) { return kExtendedBaseForOneOutputModule; }
113  return kExtendedBaseForStreamEDAnalyzer;
114  }
116  return kExtendedBaseForStreamEDProducer;
117  }
118  static const std::string& extendedBaseType(stream::EDFilterBase const*) { return kExtendedBaseForStreamEDFilter; }
120  return kExtendedBaseForGlobalEDAnalyzer;
121  }
123  return kExtendedBaseForGlobalEDProducer;
124  }
125  static const std::string& extendedBaseType(global::EDFilterBase const*) { return kExtendedBaseForGlobalEDFilter; }
127  return kExtendedBaseForGlobalOutputModule;
128  }
130  return kExtendedBaseForLimitedEDAnalyzer;
131  }
133  return kExtendedBaseForLimitedEDProducer;
134  }
135  static const std::string& extendedBaseType(limited::EDFilterBase const*) { return kExtendedBaseForLimitedEDFilter; }
137  return kExtendedBaseForLimitedOutputModule;
138  }
139  static const std::string& extendedBaseType(void const*) { return kEmpty; }
140 
141  private:
143 
145  delete; // stop default
146 
147  // ---------- member data --------------------------------
148  };
149 
150 } // namespace edm
151 #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 *)