CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/FWCore/Framework/interface/ESTransientHandle.h

Go to the documentation of this file.
00001 #ifndef FWCore_Framework_ESTransientHandle_h
00002 #define FWCore_Framework_ESTransientHandle_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Framework
00006 // Class  :     ESTransientHandle
00007 // 
00025 //
00026 // Author:      Chris Jones
00027 // Created:     Thu Nov 12 14:47:35 CST 2009
00028 //
00029 
00030 // system include files
00031 
00032 // user include files
00033 #include "FWCore/Framework/interface/ESHandle.h"
00034 
00035 // forward declarations
00036 namespace edm {
00037 
00038 template<typename T>
00039 class ESTransientHandle : public ESHandleBase {
00040    public:
00041       typedef T value_type;
00042    
00043       ESTransientHandle() : ESHandleBase() {}
00044       ESTransientHandle(T const* iData) : ESHandleBase(iData, 0) {}
00045       ESTransientHandle(T const* iData, edm::eventsetup::ComponentDescription const* desc) : ESHandleBase(iData, desc) {}
00046 
00047       // ---------- const member functions ---------------------
00048       T const* product() const { return static_cast<T const *>(productStorage()); }
00049       T const* operator->() const { return product(); }
00050       T const& operator*() const { return *product(); }
00051       // ---------- static member functions --------------------
00052       static const bool transientAccessOnly = true;
00053 
00054       // ---------- member functions ---------------------------
00055       
00056    private:
00057 };
00058 
00059 }
00060 #endif