CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/Common/interface/EDProductfwd.h

Go to the documentation of this file.
00001 #ifndef DataFormats_Common_EDProductfwd_h
00002 #define DataFormats_Common_EDProductfwd_h
00003 
00004 /*----------------------------------------------------------------------
00005   
00006 Forward declarations of types in the EDM.
00007 
00008 ----------------------------------------------------------------------*/
00009 #include "boost/shared_ptr.hpp"
00010 
00011 namespace edm 
00012 {
00013   class BasicHandle;
00014   class EDProduct;
00015   class EDProductGetter;
00016   class ProductID;
00017   class OutputHandle;
00018   class RefCore;
00019 
00020   template <typename C, typename T, typename F> class Ref;
00021   template <typename T> class RefToBase;
00022   template <typename K> class RefBase;
00023   template <typename T> class RefProd;
00024   template <typename C, typename T, typename F> class RefVector;
00025   template <class T> class RefToBaseVector;
00026   template <typename T> class RefVectorBase;
00027   template <typename C, typename T, typename F> class RefVectorIterator;
00028   template <typename T> class Wrapper;
00029   template <typename T> class Handle;
00030   template <typename T> class OrphanHandle;
00031 
00032   namespace reftobase
00033   {
00034     template <typename T>  class BaseHolder;
00035     template <typename T, class REF> class Holder;
00036     class RefHolderBase;
00037     template <typename T> class IndirectHolder;
00038     template <typename REF> class RefHolder;
00039     class RefVectorHolderBase;
00040     template <class T> class BaseVectorHolder;
00041     template <class T, class REFVECTOR> class VectorHolder;
00042   }
00043   typedef boost::shared_ptr<reftobase::RefHolderBase> helper_ptr;
00044   typedef reftobase::RefVectorHolderBase helper_vector;
00045   typedef boost::shared_ptr<reftobase::RefVectorHolderBase> helper_vector_ptr;
00046 }
00047 
00048 #endif