CMS 3D CMS Logo

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

#include <implementors.h>

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

Public Member Functions

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

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::global::impl::StreamCacheHolder< T, C >

Definition at line 43 of file implementors.h.

Constructor & Destructor Documentation

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

Definition at line 48 of file implementors.h.

References EnergyCorrector::c.

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

Member Function Documentation

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

Definition at line 59 of file implementors.h.

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

Definition at line 60 of file implementors.h.

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

Definition at line 67 of file implementors.h.

References EnergyCorrector::c.

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

Definition at line 65 of file implementors.h.

References EnergyCorrector::c.

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

Definition at line 70 of file implementors.h.

References EnergyCorrector::c.

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

Definition at line 66 of file implementors.h.

References EnergyCorrector::c.

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

Definition at line 83 of file implementors.h.

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

Definition at line 58 of file implementors.h.

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

Definition at line 76 of file implementors.h.

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

Definition at line 75 of file implementors.h.

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

Definition at line 55 of file implementors.h.

References edm::StreamID::value().

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

Definition at line 79 of file implementors.h.

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

Definition at line 82 of file implementors.h.

82 {}

Member Data Documentation

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

Definition at line 86 of file implementors.h.