CMS 3D CMS Logo

CloneTrait.h

Go to the documentation of this file.
00001 #ifndef DataFormats_Common_CloneTrait_h
00002 #define DataFormats_Common_CloneTrait_h
00003 #include "DataFormats/Common/interface/CopyPolicy.h"
00004 #include "DataFormats/Common/interface/OwnVector.h"
00005 #include "DataFormats/Common/interface/View.h"
00006 #include "DataFormats/Common/interface/RefToBaseVector.h"
00007 #include <vector>
00008 
00009 namespace edm {
00010   namespace clonehelper {
00011     template<typename T> struct CloneTrait;
00012 
00013     template<typename T>
00014     struct CloneTrait<std::vector<T> > {
00015       typedef CopyPolicy<T> type;
00016     };
00017 
00018     template<typename T>
00019     struct CloneTrait<edm::OwnVector<T> > {
00020       typedef ClonePolicy<T> type;
00021     };
00022 
00023     template<typename T>
00024     struct CloneTrait<edm::View<T> > {
00025       typedef ClonePolicy<T> type;
00026     };
00027 
00028     template<typename T>
00029     struct CloneTrait<edm::RefToBaseVector<T> > {
00030       typedef CopyPolicy<RefToBase<T> > type;
00031     };
00032 
00033   }
00034 }
00035 
00036 #endif

Generated on Tue Jun 9 17:28:35 2009 for CMSSW by  doxygen 1.5.4