CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/DataFormats/Provenance/src/WrapperInterfaceBase.cc

Go to the documentation of this file.
00001 /*----------------------------------------------------------------------
00002 
00003 ----------------------------------------------------------------------*/
00004 
00005 #include "DataFormats/Provenance/interface/WrapperInterfaceBase.h"
00006 #include "DataFormats/Provenance/interface/ProductID.h"
00007 
00008 namespace edm {
00009   WrapperInterfaceBase::WrapperInterfaceBase() {}
00010 
00011   WrapperInterfaceBase::~WrapperInterfaceBase() {}
00012 
00013   void WrapperInterfaceBase::fillView(void const* me,
00014                                       ProductID const& id,
00015                                       std::vector<void const*>& pointers,
00016                                       helper_vector_ptr& helpers) const {
00017     // This should never be called with non-empty arguments, or an
00018     // invalid ID; any attempt to do so is an indication of a coding
00019     // error.
00020     assert(id.isValid());
00021     assert(pointers.empty());
00022     assert(helpers.get() == 0);
00023 
00024     do_fillView(me, id, pointers, helpers);
00025   }
00026 
00027   void WrapperInterfaceBase::setPtr(void const* me,
00028                                     std::type_info const& iToType,
00029                                     unsigned long iIndex,
00030                                     void const*& oPtr) const {
00031     do_setPtr(me, iToType, iIndex, oPtr);
00032   }
00033 
00034   void
00035   WrapperInterfaceBase::fillPtrVector(void const* me,
00036                                       std::type_info const& iToType,
00037                                       std::vector<unsigned long> const& iIndicies,
00038                                       std::vector<void const*>& oPtr) const {
00039     do_fillPtrVector(me, iToType, iIndicies, oPtr);
00040   }
00041 }