1 #ifndef DataFormats_Provenance_WrapperInterfaceBase_h
2 #define DataFormats_Provenance_WrapperInterfaceBase_h
9 #include "boost/shared_ptr.hpp"
17 class RefVectorHolderBase;
31 std::vector<void const*>& view,
34 void setPtr(
void const* me,
35 std::type_info
const& iToType,
37 void const*& oPtr)
const;
40 std::type_info
const& iToType,
41 std::vector<unsigned long>
const& iIndicies,
42 std::vector<void const*>& oPtr)
const;
81 std::vector<void const*>& pointers,
85 std::type_info
const& iToType,
87 void const*& oPtr)
const = 0;
90 std::type_info
const& iToType,
91 std::vector<unsigned long>
const& iIndicies,
92 std::vector<void const*>& oPtr)
const = 0;
98 virtual bool mergeProduct_(
void* me,
void const* newProduct)
const = 0;
100 virtual bool isProductEqual_(
void const* me,
void const* newProduct)
const = 0;
106 virtual bool isPresent_(
void const* me)
const = 0;
bool isProductEqual(void const *me, void const *newProduct) const
bool sameType(WrapperInterfaceBase const &other) const
boost::shared_ptr< reftobase::RefVectorHolderBase > helper_vector_ptr
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 ~WrapperInterfaceBase()
std::type_info const & dynamicTypeInfo() const
bool mergeProduct(void *me, void const *newProduct) const
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
virtual bool isProductEqual_(void const *me, void const *newProduct) const =0
std::type_info const & wrappedTypeInfo() const
virtual void deleteProduct_(void const *me) const =0
virtual bool hasIsProductEqual_(void const *me) const =0
bool isMergeable(void const *me) const
void fillView(void const *me, ProductID const &id, std::vector< void const * > &view, helper_vector_ptr &helpers) const
void deleteProduct(void const *me) const
virtual bool mergeProduct_(void *me, void const *newProduct) const =0
virtual bool isMergeable_(void const *me) const =0
void setPtr(void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const
virtual std::type_info const & dynamicTypeInfo_() const =0
virtual std::type_info const & wrappedTypeInfo_() const =0
bool isPresent(void const *me) const
virtual bool isPresent_(void const *me) const =0
void fillPtrVector(void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const
bool hasIsProductEqual(void const *me) const