CMS 3D CMS Logo

MayConsumeChooserBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_MayConsumeChooserBase_h
2 #define FWCore_Framework_MayConsumeChooserBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : MayConsumeChooserBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 19 Sep 2019 15:29:33 GMT
19 //
20 
21 // system include files
26 
27 // user include files
28 
29 // forward declarations
30 
31 namespace edm::eventsetup::impl {
32 
34  public:
35  virtual ~MayConsumeChooserCore() = default;
36 
37  virtual EventSetupRecordKey recordKey() const noexcept = 0;
38  virtual TypeTag productType() const noexcept = 0;
39 
40  void setTagGetter(ESTagGetter iGetter) { getter_ = std::move(iGetter); }
41 
42  protected:
43  ESTagGetter const& tagGetter() const { return getter_; }
44 
45  private:
47  };
48 
49  template <typename RCD>
51  public:
52  MayConsumeChooserBase() = default;
53  ~MayConsumeChooserBase() override = default;
54 
55  // ---------- const member functions ---------------------
56  virtual ESProxyIndex makeChoice(RCD const& iRecord) const = 0;
57  };
58 } // namespace edm::eventsetup::impl
59 
60 #endif
edm::eventsetup::impl::MayConsumeChooserBase
Definition: MayConsumeChooserBase.h:50
edm::eventsetup::impl
Definition: MayConsumeChooser.h:32
edm::eventsetup::impl::MayConsumeChooserCore::getter_
ESTagGetter getter_
Definition: MayConsumeChooserBase.h:46
ESIndices.h
edm::eventsetup::EventSetupRecordKey
Definition: EventSetupRecordKey.h:30
edm::ESProxyIndex
Definition: ESIndices.h:29
edm::eventsetup::impl::MayConsumeChooserBase::makeChoice
virtual ESProxyIndex makeChoice(RCD const &iRecord) const =0
DataKey.h
edm::eventsetup::heterocontainer::HCTypeTag
Definition: HCTypeTag.h:38
edm::eventsetup::impl::MayConsumeChooserCore::~MayConsumeChooserCore
virtual ~MayConsumeChooserCore()=default
ESTagGetter.h
edm::eventsetup::impl::MayConsumeChooserCore::tagGetter
ESTagGetter const & tagGetter() const
Definition: MayConsumeChooserBase.h:43
edm::eventsetup::impl::MayConsumeChooserCore
Definition: MayConsumeChooserBase.h:33
edm::eventsetup::impl::MayConsumeChooserCore::recordKey
virtual EventSetupRecordKey recordKey() const noexcept=0
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::eventsetup::impl::MayConsumeChooserBase::~MayConsumeChooserBase
~MayConsumeChooserBase() override=default
EventSetupRecordKey.h
edm::eventsetup::impl::MayConsumeChooserCore::setTagGetter
void setTagGetter(ESTagGetter iGetter)
Definition: MayConsumeChooserBase.h:40
edm::ESTagGetter
Definition: ESTagGetter.h:34
edm::eventsetup::impl::MayConsumeChooserBase::MayConsumeChooserBase
MayConsumeChooserBase()=default
edm::eventsetup::impl::MayConsumeChooserCore::productType
virtual TypeTag productType() const noexcept=0