CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::one::impl::RunCacheHolder< T, C > Class Template Referenceabstract

#include <implementors.h>

Inheritance diagram for edm::one::impl::RunCacheHolder< T, C >:

Public Member Functions

RunCacheHolder< T, C > & operator= (RunCacheHolder< T, C > const &)=delete
 
 RunCacheHolder ()=default
 
 RunCacheHolder (RunCacheHolder< T, C > const &)=delete
 
 ~RunCacheHolder ()(false) override
 

Protected Member Functions

C * runCache (edm::RunIndex iID)
 
C const * runCache (edm::RunIndex iID) const
 

Private Member Functions

void doBeginRun_ (Run const &rp, EventSetup const &c) final
 
void doEndRun_ (Run const &rp, EventSetup const &c) final
 
virtual std::shared_ptr< C > globalBeginRun (edm::Run const &, edm::EventSetup const &) const =0
 
virtual void globalEndRun (edm::Run const &, edm::EventSetup const &)=0
 

Private Attributes

edm::propagate_const< std::shared_ptr< C > > cache_
 

Detailed Description

template<typename T, typename C>
class edm::one::impl::RunCacheHolder< T, C >

Definition at line 162 of file implementors.h.

Constructor & Destructor Documentation

template<typename T , typename C >
edm::one::impl::RunCacheHolder< T, C >::RunCacheHolder ( )
default
template<typename T , typename C >
edm::one::impl::RunCacheHolder< T, C >::RunCacheHolder ( RunCacheHolder< T, C > const &  )
delete
template<typename T , typename C >
edm::one::impl::RunCacheHolder< T, C >::~RunCacheHolder ( )
inlineoverride

Definition at line 167 of file implementors.h.

167 {};

Member Function Documentation

template<typename T , typename C >
void edm::one::impl::RunCacheHolder< T, C >::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 174 of file implementors.h.

References EnergyCorrector::c.

174 { cache_ = globalBeginRun(rp, c); }
edm::propagate_const< std::shared_ptr< C > > cache_
Definition: implementors.h:183
virtual std::shared_ptr< C > globalBeginRun(edm::Run const &, edm::EventSetup const &) const =0
template<typename T , typename C >
void edm::one::impl::RunCacheHolder< T, C >::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 175 of file implementors.h.

References EnergyCorrector::c.

175  {
176  globalEndRun(rp, c);
177  cache_ = nullptr; // propagate_const<T> has no reset() function
178  }
edm::propagate_const< std::shared_ptr< C > > cache_
Definition: implementors.h:183
virtual void globalEndRun(edm::Run const &, edm::EventSetup const &)=0
template<typename T , typename C >
virtual std::shared_ptr<C> edm::one::impl::RunCacheHolder< T, C >::globalBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
) const
privatepure virtual
template<typename T , typename C >
virtual void edm::one::impl::RunCacheHolder< T, C >::globalEndRun ( edm::Run const &  ,
edm::EventSetup const &   
)
privatepure virtual
template<typename T , typename C >
RunCacheHolder<T, C>& edm::one::impl::RunCacheHolder< T, C >::operator= ( RunCacheHolder< T, C > const &  )
delete
template<typename T , typename C >
C* edm::one::impl::RunCacheHolder< T, C >::runCache ( edm::RunIndex  iID)
inlineprotected

Definition at line 170 of file implementors.h.

170 { return cache_.get(); }
edm::propagate_const< std::shared_ptr< C > > cache_
Definition: implementors.h:183
element_type const * get() const
template<typename T , typename C >
C const* edm::one::impl::RunCacheHolder< T, C >::runCache ( edm::RunIndex  iID) const
inlineprotected

Definition at line 171 of file implementors.h.

171 { return cache_.get(); }
edm::propagate_const< std::shared_ptr< C > > cache_
Definition: implementors.h:183
element_type const * get() const

Member Data Documentation

template<typename T , typename C >
edm::propagate_const<std::shared_ptr<C> > edm::one::impl::RunCacheHolder< T, C >::cache_
private

Definition at line 183 of file implementors.h.