CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
WrapperOwningHolder.h
Go to the documentation of this file.
1 #ifndef DataFormats_Common_WrapperOwningHolder_h
2 #define DataFormats_Common_WrapperOwningHolder_h
3 
4 /*----------------------------------------------------------------------
5 
6 ----------------------------------------------------------------------*/
7 
9 
10 #include "boost/shared_ptr.hpp"
11 
12 namespace edm {
14  public:
17  void operator()(void const* wrapper) const;
19  };
20 
22 
24 
25  WrapperOwningHolder(boost::shared_ptr<void const> wrapper, WrapperInterfaceBase const* interface);
26 
27  boost::shared_ptr<void const> makeWrapper(void const* wrapper, WrapperInterfaceBase const* interface);
28 
42 
43  boost::shared_ptr<void const> product() const {
44  return wrapperOwner_;
45  }
46 
47  void reset() {
49  wrapperOwner_.reset();
50  }
51 
52  private:
53  boost::shared_ptr<void const> wrapperOwner_;
54  };
55 
56 }
57 #endif
boost::shared_ptr< void const > makeWrapper(void const *wrapper, WrapperInterfaceBase const *interface)
std::type_info const & dynamicTypeInfo() const
Definition: WrapperHolder.h:68
bool mergeProduct(void const *newProduct)
Definition: WrapperHolder.h:57
boost::shared_ptr< void const > wrapperOwner_
boost::shared_ptr< void const > product() const
EDProductDeleter(WrapperInterfaceBase const *interface)
bool isProductEqual(void const *newProduct) const
Definition: WrapperHolder.h:60
WrapperInterfaceBase const * interface() const
Definition: WrapperHolder.h:80
bool hasIsProductEqual() const
Definition: WrapperHolder.h:53
void fillPtrVector(std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const
Definition: WrapperHolder.h:43
void operator()(void const *wrapper) const
void fillView(ProductID const &id, std::vector< void const * > &view, helper_vector_ptr &helpers) const
Definition: WrapperHolder.h:31
void setPtr(std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const
Definition: WrapperHolder.h:37
std::type_info const & wrappedTypeInfo() const
Definition: WrapperHolder.h:72
bool isMergeable() const
Definition: WrapperHolder.h:49
bool isValid() const
Definition: WrapperHolder.h:27
bool isPresent() const
Definition: WrapperHolder.h:64
void const * wrapper() const
Definition: WrapperHolder.h:76