Go to the documentation of this file.00001 #ifndef DataFormats_Common_EDProductfwd_h
00002 #define DataFormats_Common_EDProductfwd_h
00003
00004
00005
00006
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