CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ConsumesCollector.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ConsumesCollector_h
2 #define FWCore_Framework_ConsumesCollector_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : edm::ConsumesCollector
7 //
18 //
19 // Original Author: Chris Jones
20 // Created: Fri, 07 Jun 2013 12:44:47 GMT
21 //
22 
23 // system include files
24 
25 // user include files
27 
28 // forward declarations
29 namespace edm {
30  class EDConsumerBase;
31 
33  {
34 
35  public:
36  //virtual ~ConsumesCollector();
38 
39  // ---------- member functions ---------------------------
40  template <typename ProductType, BranchType B=InEvent>
42  return m_consumer->consumes<ProductType,B>(tag);
43  }
44 
46  return m_consumer->consumes(id,tag);
47  }
48 
49  template <BranchType B>
51  return m_consumer->consumes<B>(id,tag);
52  }
53 
54  template <typename ProductType, BranchType B=InEvent>
56  return m_consumer->mayConsume<ProductType,B>(tag);
57  }
58 
59 
61  return m_consumer->mayConsume(id,tag);
62  }
63 
64  template <BranchType B>
66  return m_consumer->mayConsume<B>(id,tag);
67  }
68 
69  template <typename ProductType, BranchType B=InEvent>
70  void consumesMany() {
71  m_consumer->consumesMany<ProductType,B>();
72  }
73 
74 
75  void consumesMany(const TypeToGet& id) {
77  }
78 
79  template <BranchType B>
80  void consumesMany(const TypeToGet& id) {
82  }
83 
84 
85  private:
86  //only EDConsumerBase is allowed to make an instance of this class
87  friend class EDConsumerBase;
88 
90  m_consumer(iConsumer) {}
91 
92  ConsumesCollector() = delete;
93  ConsumesCollector(const ConsumesCollector&) = delete; // stop default
94 
95  const ConsumesCollector& operator=(const ConsumesCollector&) = delete; // stop default
96 
97  // ---------- member data --------------------------------
99 
100  };
101 }
102 
103 
104 #endif
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const ConsumesCollector & operator=(const ConsumesCollector &)=delete
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)
ConsumesCollector(EDConsumerBase *iConsumer)
EDConsumerBase * m_consumer
void consumesMany(const TypeToGet &id)
EDGetToken mayConsume(const TypeToGet &id, edm::InputTag const &tag)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
EDGetToken mayConsume(const TypeToGet &id, edm::InputTag const &tag)
EDGetToken consumes(const TypeToGet &id, edm::InputTag const &tag)
void consumesMany(const TypeToGet &id)
ConsumesCollector(ConsumesCollector &&iOther)
EDGetToken consumes(TypeToGet const &id, edm::InputTag const &tag)
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)