CMS 3D CMS Logo

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

#include <implementors.h>

Inheritance diagram for edm::limited::impl::StreamCacheHolder< T, C >:

Public Member Functions

StreamCacheHolder< T, C > & operator= (StreamCacheHolder< T, C > const &)=delete
 
 StreamCacheHolder (edm::ParameterSet const &iPSet)
 
 StreamCacheHolder (StreamCacheHolder< T, C > const &)=delete
 
 ~StreamCacheHolder ()
 

Protected Member Functions

C * streamCache (edm::StreamID iID) const
 

Private Member Functions

virtual std::unique_ptr< C > beginStream (edm::StreamID) const =0
 
void doBeginStream_ (StreamID id) final
 
void doEndStream_ (StreamID id) final
 
void doStreamBeginLuminosityBlock_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
 
void doStreamBeginRun_ (StreamID id, Run const &rp, EventSetup const &c) final
 
void doStreamEndLuminosityBlock_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
 
void doStreamEndRun_ (StreamID id, Run const &rp, EventSetup const &c) final
 
virtual void endStream (edm::StreamID) const
 
void preallocStreams (unsigned int iNStreams) final
 
virtual void streamBeginLuminosityBlock (edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
 
virtual void streamBeginRun (edm::StreamID, edm::Run const &, edm::EventSetup const &) const
 
virtual void streamEndLuminosityBlock (edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
 
virtual void streamEndRun (edm::StreamID, edm::Run const &, edm::EventSetup const &) const
 

Private Attributes

std::vector< C * > caches_
 

Detailed Description

template<typename T, typename C>
class edm::limited::impl::StreamCacheHolder< T, C >

Definition at line 44 of file implementors.h.

Constructor & Destructor Documentation

template<typename T , typename C >
edm::limited::impl::StreamCacheHolder< T, C >::StreamCacheHolder ( edm::ParameterSet const &  iPSet)
inline

Definition at line 46 of file implementors.h.

46 : T(iPSet) {}
long double T
template<typename T , typename C >
edm::limited::impl::StreamCacheHolder< T, C >::StreamCacheHolder ( StreamCacheHolder< T, C > const &  )
delete
template<typename T , typename C >
edm::limited::impl::StreamCacheHolder< T, C >::~StreamCacheHolder ( )
inline

Definition at line 49 of file implementors.h.

References EnergyCorrector::c.

49  {
50  for (auto c : caches_) {
51  delete c;
52  }
53  }

Member Function Documentation

template<typename T , typename C >
virtual std::unique_ptr<C> edm::limited::impl::StreamCacheHolder< T, C >::beginStream ( edm::StreamID  ) const
privatepure virtual
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::doBeginStream_ ( StreamID  id)
inlinefinalprivate

Definition at line 60 of file implementors.h.

60 { caches_[id.value()] = beginStream(id).release(); }
virtual std::unique_ptr< C > beginStream(edm::StreamID) const =0
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::doEndStream_ ( StreamID  id)
inlinefinalprivate

Definition at line 61 of file implementors.h.

61  {
62  endStream(id);
63  delete caches_[id.value()];
64  caches_[id.value()] = nullptr;
65  }
virtual void endStream(edm::StreamID) const
Definition: implementors.h:84
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::doStreamBeginLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 68 of file implementors.h.

References EnergyCorrector::c.

68  {
69  streamBeginLuminosityBlock(id, lbp, c);
70  }
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
Definition: implementors.h:77
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::doStreamBeginRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 66 of file implementors.h.

References EnergyCorrector::c.

66 { streamBeginRun(id, rp, c); }
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
Definition: implementors.h:76
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::doStreamEndLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 71 of file implementors.h.

References EnergyCorrector::c.

71  {
72  streamEndLuminosityBlock(id, lbp, c);
73  }
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
Definition: implementors.h:80
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::doStreamEndRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 67 of file implementors.h.

References EnergyCorrector::c.

67 { streamEndRun(id, rp, c); }
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
Definition: implementors.h:83
template<typename T , typename C >
virtual void edm::limited::impl::StreamCacheHolder< T, C >::endStream ( edm::StreamID  ) const
inlineprivatevirtual

Definition at line 84 of file implementors.h.

84 {}
template<typename T , typename C >
StreamCacheHolder<T, C>& edm::limited::impl::StreamCacheHolder< T, C >::operator= ( StreamCacheHolder< T, C > const &  )
delete
template<typename T , typename C >
void edm::limited::impl::StreamCacheHolder< T, C >::preallocStreams ( unsigned int  iNStreams)
inlinefinalprivate

Definition at line 59 of file implementors.h.

59 { caches_.resize(iNStreams, static_cast<C*>(nullptr)); }
template<typename T , typename C >
virtual void edm::limited::impl::StreamCacheHolder< T, C >::streamBeginLuminosityBlock ( edm::StreamID  ,
edm::LuminosityBlock const &  ,
edm::EventSetup const &   
) const
inlineprivatevirtual

Definition at line 77 of file implementors.h.

79  {}
template<typename T , typename C >
virtual void edm::limited::impl::StreamCacheHolder< T, C >::streamBeginRun ( edm::StreamID  ,
edm::Run const &  ,
edm::EventSetup const &   
) const
inlineprivatevirtual

Definition at line 76 of file implementors.h.

76 {}
template<typename T , typename C >
C* edm::limited::impl::StreamCacheHolder< T, C >::streamCache ( edm::StreamID  iID) const
inlineprotected

Definition at line 56 of file implementors.h.

References edm::StreamID::value().

56 { return caches_[iID.value()]; }
unsigned int value() const
Definition: StreamID.h:42
template<typename T , typename C >
virtual void edm::limited::impl::StreamCacheHolder< T, C >::streamEndLuminosityBlock ( edm::StreamID  ,
edm::LuminosityBlock const &  ,
edm::EventSetup const &   
) const
inlineprivatevirtual

Definition at line 80 of file implementors.h.

82  {}
template<typename T , typename C >
virtual void edm::limited::impl::StreamCacheHolder< T, C >::streamEndRun ( edm::StreamID  ,
edm::Run const &  ,
edm::EventSetup const &   
) const
inlineprivatevirtual

Definition at line 83 of file implementors.h.

83 {}

Member Data Documentation

template<typename T , typename C >
std::vector<C*> edm::limited::impl::StreamCacheHolder< T, C >::caches_
private

Definition at line 87 of file implementors.h.