1 #ifndef canvas_Persistency_Common_EDProduct_h 2 #define canvas_Persistency_Common_EDProduct_h 40 virtual std::type_info
const*
46 void setPtr(std::type_info
const& toType,
48 void const*& ptr)
const;
51 std::vector<unsigned long>
const&
indices,
52 std::vector<void const*>& ptr)
const;
60 std::unique_ptr<EDProduct>
86 std::type_info
const& wanted_type)
const = 0;
92 virtual void do_setPtr(std::type_info
const& toType,
94 void const*& ptr)
const = 0;
97 std::vector<unsigned long>
const& indices,
98 std::vector<void const*>& ptr)
const = 0;
102 virtual std::type_info
const*
typeInfo_()
const = 0;
virtual unsigned do_getRangeSetID() const =0
virtual void fillView(std::vector< void const * > &) const
virtual void do_setPtr(std::type_info const &toType, unsigned long index, void const *&ptr) const =0
virtual bool isPresent_() const =0
virtual std::type_info const * typeInfo() const
virtual void do_combine(EDProduct *)=0
virtual std::unique_ptr< EDProduct > do_makePartner(std::type_info const &wanted_type) const =0
std::unique_ptr< EDProduct > makePartner(std::type_info const &wanted_type) const
constexpr std::array< std::size_t, geo::vect::dimension< Vector >)> indices()
Returns a sequence of indices valid for a vector of the specified type.
unsigned getRangeSetID() const
void combine(EDProduct *p)
virtual void do_setRangeSetID(unsigned)=0
virtual std::type_info const * typeInfo_() const =0
void getElementAddresses(std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptr) const
virtual std::string productSize() const
virtual ~EDProduct()=default
void setRangeSetID(unsigned const id)
void setPtr(std::type_info const &toType, unsigned long index, void const *&ptr) const
virtual void do_getElementAddresses(std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptr) const =0