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) {}
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 constexpr 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 } // namespace edm
67 #endif
edm::ESTransientHandle::product
T const * product() const
Definition: ESTransientHandle.h:51
ESHandle.h
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ESTransientHandle::operator*
T const & operator*() const
Definition: ESTransientHandle.h:53
edm::eventsetup::ComponentDescription
Definition: ComponentDescription.h:30
edm::ESHandleBase
Definition: ESHandle.h:33
edm::ESHandleBase::productStorage
void const * productStorage() const
Definition: ESHandle.h:61
edm::ESTransientHandle
Definition: ESTransientHandle.h:41
edm::ESTransientHandle::ESTransientHandle
ESTransientHandle(T const *iData, edm::eventsetup::ComponentDescription const *desc)
Definition: ESTransientHandle.h:47
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
T
long double T
Definition: Basic3DVectorLD.h:48
edm::ESTransientHandle::operator->
T const * operator->() const
Definition: ESTransientHandle.h:52
edm::ESTransientHandle::value_type
T value_type
Definition: ESTransientHandle.h:43
edm::ESTransientHandle::transientAccessOnly
static constexpr bool transientAccessOnly
Definition: ESTransientHandle.h:55
edm::ESTransientHandle::ESTransientHandle
ESTransientHandle()
Definition: ESTransientHandle.h:45
edm::ESTransientHandle::ESTransientHandle
ESTransientHandle(T const *iData)
Definition: ESTransientHandle.h:46