CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EDProductGetter.h
Go to the documentation of this file.
1 #ifndef DataFormats_Common_EDProductGetter_h
2 #define DataFormats_Common_EDProductGetter_h
3 // -*- C++ -*-
4 //
5 // Class : EDProductGetter
6 //
14 //
15 // Original Author: Chris Jones
16 // Created: Tue Nov 1 15:06:31 EST 2005
17 //
18 
19 // user include files
22 
23 // system include files
24 #include "boost/utility.hpp"
25 
26 // forward declarations
27 
28 namespace edm {
29  class EDProductGetter : private boost::noncopyable {
30 
31  public:
32 
34  virtual ~EDProductGetter();
35 
36  // ---------- const member functions ---------------------
37  virtual WrapperHolder getIt(ProductID const&) const = 0;
38 
39  // ---------- member functions ---------------------------
40 
43  static void assignEDProductGetter(EDProductGetter const*&);
44 
45 private:
46  // ---------- member data --------------------------------
47 
48  };
49 
50  EDProductGetter const*
51  mustBeNonZero(EDProductGetter const* prodGetter, std::string refType, ProductID const& productID);
52 }
53 #endif
EDProductGetter const * mustBeNonZero(EDProductGetter const *prodGetter, std::string refType, ProductID const &productID)
virtual WrapperHolder getIt(ProductID const &) const =0
static void assignEDProductGetter(EDProductGetter const *&)
static EDProductGetter const * switchProductGetter(EDProductGetter const *)
These can only be used internally by the framework.