CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SelectedOutputCollectionTrait.h
Go to the documentation of this file.
1 #ifndef UtilAlgos_SelectedOutputCollectionTrait_h
2 #define UtilAlgos_SelectedOutputCollectionTrait_h
3 /* \class helper SelectedOutputCollection
4  *
5  * \author Luca Lista, INFN
6  *
7  */
14 
15 namespace helper {
16 
17  template<typename InputCollection>
18  struct SelectedOutputCollectionTrait {
20  };
21 
22  template<typename K, typename C>
23  struct SelectedOutputCollectionTrait<edm::AssociationVector<edm::RefProd<K>, C> > {
25  };
26 
27  template<typename T, typename C>
28  struct SelectedOutputCollectionTrait<edm::AssociationVector<edm::RefToBaseProd<T>, C> > {
29  typedef typename edm::RefToBaseVector<T> type;
30  };
31 
32  template<typename T>
33  struct SelectedOutputCollectionTrait<edm::View<T> > {
34  typedef typename edm::RefToBaseVector<T> type;
35  };
36 
37  template<typename T>
39  typedef typename edm::RefToBaseVector<T> type;
40  };
41 
42  template<typename C>
43  struct SelectedOutputCollectionTrait<edm::RefVector<C> > {
44  typedef typename edm::RefVector<C> type;
45  };
46 
47 }
48 
49 #endif
C product_type
Definition: RefProd.h:57
edm::RefVector< Container > RefVector