CMS 3D CMS Logo

FwdPtrConversionFactory.h
Go to the documentation of this file.
1 #ifndef CommonTools_UtilAlgos_FwdPtrConversionFactory_h
2 #define CommonTools_UtilAlgos_FwdPtrConversionFactory_h
3 
4 
14 namespace edm {
18  template<class T>
19  class ProductFromFwdPtrFactory : public std::unary_function<edm::FwdPtr<T>, T > {
20  public :
21  T operator() (edm::FwdPtr<T> const &r) const { return T(*r); }
22  };
23 
24 
25 
26 
29  template<class T>
30  class FwdPtrFromProductFactory : public std::binary_function<edm::View<T>, unsigned int, edm::FwdPtr<T> > {
31  public :
32  edm::FwdPtr<T> operator() (edm::View<T> const & view, unsigned int i) const { return edm::FwdPtr<T>(view.ptrAt(i),view.ptrAt(i)); }
33  };
34 
35 
36 
37 }
38 
39 #endif
T operator()(edm::FwdPtr< T > const &r) const
HLT enums.
long double T