CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EDProducerAdaptor.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_EDProducerAdaptor_h
2 #define FWCore_Framework_stream_EDProducerAdaptor_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : EDProducerAdaptor
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 02 Aug 2013 18:09:18 GMT
19 //
20 
21 // system include files
22 
23 // user include files
27 // forward declarations
28 
29 namespace edm {
30  namespace stream {
31  template<typename ABase, typename ModType> struct BaseToAdaptor;
32 
34 
35  template<typename ModType> struct BaseToAdaptor<EDProducerAdaptorBase,ModType> {
37  };
38  }
39 
40  template<>
42  {
44  public:
45  template<typename ModType>
46  static std::unique_ptr<Base> makeModule(ParameterSet const& pset) {
47  typedef typename stream::BaseToAdaptor<Base,ModType>::Type Adaptor;
48  std::unique_ptr<Adaptor> module = std::unique_ptr<Adaptor>(new Adaptor(pset));
49  return std::unique_ptr<Base>(module.release());
50  }
51  };
52 }
53 
54 #endif
static std::unique_ptr< Base > makeModule(ParameterSet const &pset)
Definition: vlib.h:208