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 WrapperHolder;
00015 class WrapperOwningHolder;
00016 class EDProductGetter;
00017 class ProductID;
00018 class OutputHandle;
00019 class RefCore;
00020
00021 template <typename C, typename T, typename F> class Ref;
00022 template <typename T> class RefToBase;
00023 template <typename K> class RefBase;
00024 template <typename T> class RefProd;
00025 template <typename C, typename T, typename F> class RefVector;
00026 template <class T> class RefToBaseVector;
00027 template <typename T> class RefVectorBase;
00028 template <typename C, typename T, typename F> class RefVectorIterator;
00029 template <typename T> class Wrapper;
00030 template <typename T> class Handle;
00031 template <typename T> class OrphanHandle;
00032
00033 namespace reftobase
00034 {
00035 template <typename T> class BaseHolder;
00036 template <typename T, class REF> class Holder;
00037 class RefHolderBase;
00038 template <typename T> class IndirectHolder;
00039 template <typename REF> class RefHolder;
00040 class RefVectorHolderBase;
00041 template <class T> class BaseVectorHolder;
00042 template <class T, class REFVECTOR> class VectorHolder;
00043 }
00044 typedef boost::shared_ptr<reftobase::RefHolderBase> helper_ptr;
00045 typedef reftobase::RefVectorHolderBase helper_vector;
00046 typedef boost::shared_ptr<reftobase::RefVectorHolderBase> helper_vector_ptr;
00047 }
00048
00049 #endif