CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
WrapperInterfaceBase.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 
3 ----------------------------------------------------------------------*/
4 
7 #include <cassert>
8 
9 namespace edm {
11 
13 
14  void WrapperInterfaceBase::fillView(void const* me,
15  ProductID const& id,
16  std::vector<void const*>& pointers,
17  helper_vector_ptr& helpers) const {
18  // This should never be called with non-empty arguments, or an
19  // invalid ID; any attempt to do so is an indication of a coding
20  // error.
21  assert(id.isValid());
22  assert(pointers.empty());
23  assert(helpers.get() == 0);
24 
25  do_fillView(me, id, pointers, helpers);
26  }
27 
28  void WrapperInterfaceBase::setPtr(void const* me,
29  std::type_info const& iToType,
30  unsigned long iIndex,
31  void const*& oPtr) const {
32  do_setPtr(me, iToType, iIndex, oPtr);
33  }
34 
35  void
37  std::type_info const& iToType,
38  std::vector<unsigned long> const& iIndicies,
39  std::vector<void const*>& oPtr) const {
40  do_fillPtrVector(me, iToType, iIndicies, oPtr);
41  }
42 }
boost::shared_ptr< reftobase::RefVectorHolderBase > helper_vector_ptr
Definition: EDProductfwd.h:46
virtual void do_fillPtrVector(void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const =0
virtual void do_setPtr(void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const =0
virtual void do_fillView(void const *me, ProductID const &id, std::vector< void const * > &pointers, helper_vector_ptr &helpers) const =0
void fillView(void const *me, ProductID const &id, std::vector< void const * > &view, helper_vector_ptr &helpers) const
void setPtr(void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const
void fillPtrVector(void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const