CMS 3D CMS Logo

ESTransientHandle.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ESTransientHandle_h
2 #define FWCore_Framework_ESTransientHandle_h
3 // -*- C++ -*-
4 //
5 // Package: Framework
6 // Class : ESTransientHandle
7 //
25 //
26 // Author: Chris Jones
27 // Created: Thu Nov 12 14:47:35 CST 2009
28 //
29 
30 // system include files
31 
32 // user include files
34 
35 // forward declarations
36 namespace edm {
37 
38 class ESHandleExceptionFactory;
39 
40 template<typename T>
42  public:
43  typedef T value_type;
44 
46  ESTransientHandle(T const* iData) : ESHandleBase(iData, 0) {}
47  ESTransientHandle(T const* iData, edm::eventsetup::ComponentDescription const* desc) : ESHandleBase(iData, desc) {}
48  ESTransientHandle(std::shared_ptr<ESHandleExceptionFactory> &&);
49 
50  // ---------- const member functions ---------------------
51  T const* product() const { return static_cast<T const *>(productStorage()); }
52  T const* operator->() const { return product(); }
53  T const& operator*() const { return *product(); }
54  // ---------- static member functions --------------------
55  static const bool transientAccessOnly = true;
56 
57  // ---------- member functions ---------------------------
58 
59  private:
60 };
61 
62 template <class T>
63 ESTransientHandle<T>::ESTransientHandle(std::shared_ptr<edm::ESHandleExceptionFactory> && iWhyFailed) :
64  ESHandleBase(std::move(iWhyFailed))
65 { }
66 
67 }
68 #endif
ESTransientHandle(T const *iData)
T const * product() const
HLT enums.
static const bool transientAccessOnly
T const & operator*() const
void const * productStorage() const
Definition: ESHandle.h:61
long double T
T const * operator->() const
def move(src, dest)
Definition: eostools.py:511
ESTransientHandle(T const *iData, edm::eventsetup::ComponentDescription const *desc)