00001 #ifndef DataFormats_Common_MapRefViewTrait_h 00002 #define DataFormats_Common_MapRefViewTrait_h 00003 #include "DataFormats/Common/interface/Ref.h" 00004 #include "DataFormats/Common/interface/RefProd.h" 00005 #include "DataFormats/Common/interface/RefToBase.h" 00006 #include "DataFormats/Common/interface/RefToBaseProd.h" 00007 #include <map> 00008 00009 namespace edm { 00010 namespace helper { 00011 template<typename C> 00012 struct MapRefViewTrait { 00013 typedef Ref<C> ref_type; 00014 typedef RefProd<C> refprod_type; 00015 }; 00016 00017 template<typename T> 00018 struct MapRefViewTrait<View<T> > { 00019 typedef RefToBase<T> ref_type; 00020 typedef RefToBaseProd<T> refprod_type; 00021 }; 00022 } 00023 } 00024 00025 #endif