1 #ifndef DataFormats_Common_WrapperBase_h 2 #define DataFormats_Common_WrapperBase_h 35 std::vector<void const*>& view,
38 void setPtr(std::type_info
const& iToType,
40 void const*& oPtr)
const;
43 std::vector<unsigned long>
const& iIndicies,
44 std::vector<void const*>& oPtr)
const;
62 return tableExaminer_();
65 virtual std::type_info
const& dynamicTypeInfo_()
const = 0;
67 virtual std::type_info
const& wrappedTypeInfo_()
const = 0;
74 virtual bool isMergeable_()
const = 0;
75 virtual bool mergeProduct_(
WrapperBase const* newProduct ) = 0;
76 virtual bool hasIsProductEqual_()
const = 0;
77 virtual bool isProductEqual_(
WrapperBase const* newProduct)
const = 0;
78 virtual bool hasSwap_()
const = 0;
79 virtual void swapProduct_(
WrapperBase* newProduct) = 0;
81 virtual void do_fillView(
ProductID const&
id,
82 std::vector<void const*>& pointers,
84 virtual void do_setPtr(std::type_info
const& iToType,
86 void const*& oPtr)
const = 0;
88 virtual void do_fillPtrVector(std::type_info
const& iToType,
89 std::vector<unsigned long>
const& iIndicies,
90 std::vector<void const*>& oPtr)
const = 0;
92 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
std::vector< std::pair< edm::ProductID, unsigned long > > FillViewHelperVector
bool isProductEqual(WrapperBase const *newProduct) const