1 #ifndef DataFormats_Common_WrapperBase_h 2 #define DataFormats_Common_WrapperBase_h 36 void setPtr(std::type_info
const& iToType,
unsigned long iIndex,
void const*& oPtr)
const;
39 std::vector<unsigned long>
const& iIndicies,
40 std::vector<void const*>& oPtr)
const;
52 bool hasSwap()
const {
return hasSwap_(); }
55 std::shared_ptr<soa::TableExaminerBase>
tableExaminer()
const {
return tableExaminer_(); }
58 virtual std::type_info
const& dynamicTypeInfo_()
const = 0;
60 virtual std::type_info
const& wrappedTypeInfo_()
const = 0;
67 virtual bool isMergeable_()
const = 0;
68 virtual bool mergeProduct_(
WrapperBase const* newProduct) = 0;
69 virtual bool hasIsProductEqual_()
const = 0;
70 virtual bool isProductEqual_(
WrapperBase const* newProduct)
const = 0;
71 virtual bool hasSwap_()
const = 0;
72 virtual void swapProduct_(
WrapperBase* newProduct) = 0;
74 virtual void do_fillView(
ProductID const&
id,
75 std::vector<void const*>& pointers,
77 virtual void do_setPtr(std::type_info
const& iToType,
unsigned long iIndex,
void const*& oPtr)
const = 0;
79 virtual void do_fillPtrVector(std::type_info
const& iToType,
80 std::vector<unsigned long>
const& iIndicies,
81 std::vector<void const*>& oPtr)
const = 0;
83 virtual std::shared_ptr<soa::TableExaminerBase> tableExaminer_()
const = 0;
bool mergeProduct(WrapperBase const *newProduct)
std::type_info const & dynamicTypeInfo() const
void fillPtrVector(std::vector< T, A > const &obj, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr)
std::shared_ptr< soa::TableExaminerBase > tableExaminer() const
virtual bool isPresent_() const
void setPtr(std::vector< T, A > const &obj, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr)
bool sameType(WrapperBase const &other) const
void fillView(AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper > const &obj, ProductID const &id, std::vector< void const * > &pointers, FillViewHelperVector &helpers)
void swapProduct(WrapperBase *newProduct)
std::type_info const & wrappedTypeInfo() const
bool hasIsProductEqual() const
bool isProductEqual(WrapperBase const *newProduct) const
std::vector< std::pair< edm::ProductID, unsigned long > > FillViewHelperVector