Public Member Functions | Private Member Functions | List of all members
art::EDProduct Class Referenceabstract

#include <EDProduct.h>

Inheritance diagram for art::EDProduct:
art::Wrapper< T >

Public Member Functions

virtual ~EDProduct ()=default
 
bool isPresent () const
 
virtual std::vector< void const * > getView () const
 
virtual std::type_info const * typeInfo () const
 
void const * getElementAddress (std::type_info const &toType, unsigned long index) const
 
std::vector< void const * > getElementAddresses (std::type_info const &toType, std::vector< unsigned long > const &indices) const
 
virtual std::string productSize () const
 
product_typeids_t getTypeIDs () const
 
std::unique_ptr< EDProductmakePartner (std::type_info const &wanted_type) const
 
unsigned getRangeSetID () const
 
void setRangeSetID (unsigned const id)
 
void combine (EDProduct *p)
 
std::unique_ptr< EDProductcreateEmptySampledProduct (InputTag const &tag) const
 
void insertIfSampledProduct (std::string const &dataset, SubRunID const &id, std::unique_ptr< EDProduct > product)
 

Private Member Functions

virtual product_typeids_t do_getTypeIDs () const =0
 
virtual std::unique_ptr< EDProductdo_makePartner (std::type_info const &wanted_type) const =0
 
virtual unsigned do_getRangeSetID () const =0
 
virtual void do_setRangeSetID (unsigned)=0
 
virtual void do_combine (EDProduct const *)=0
 
virtual void const * do_getElementAddress (std::type_info const &toType, unsigned long index) const =0
 
virtual std::vector< void const * > do_getElementAddresses (std::type_info const &toType, std::vector< unsigned long > const &indices) const =0
 
virtual std::unique_ptr< EDProductdo_createEmptySampledProduct (InputTag const &tag) const =0
 
virtual void do_insertIfSampledProduct (std::string const &dataset, SubRunID const &id, std::unique_ptr< EDProduct > product)=0
 
virtual bool isPresent_ () const =0
 
virtual std::type_info const * typeInfo_ () const =0
 

Detailed Description

Definition at line 26 of file EDProduct.h.

Constructor & Destructor Documentation

virtual art::EDProduct::~EDProduct ( )
virtualdefault

Member Function Documentation

void art::EDProduct::combine ( EDProduct p)
inline

Definition at line 88 of file EDProduct.h.

89  {
90  do_combine(p);
91  }
virtual void do_combine(EDProduct const *)=0
p
Definition: test.py:223
std::unique_ptr<EDProduct> art::EDProduct::createEmptySampledProduct ( InputTag const &  tag) const
inline

Definition at line 94 of file EDProduct.h.

95  {
97  }
virtual std::unique_ptr< EDProduct > do_createEmptySampledProduct(InputTag const &tag) const =0
virtual void art::EDProduct::do_combine ( EDProduct const *  )
privatepure virtual

Implemented in art::Wrapper< T >.

virtual std::unique_ptr<EDProduct> art::EDProduct::do_createEmptySampledProduct ( InputTag const &  tag) const
privatepure virtual

Implemented in art::Wrapper< T >.

virtual void const* art::EDProduct::do_getElementAddress ( std::type_info const &  toType,
unsigned long  index 
) const
privatepure virtual

Implemented in art::Wrapper< T >.

virtual std::vector<void const*> art::EDProduct::do_getElementAddresses ( std::type_info const &  toType,
std::vector< unsigned long > const &  indices 
) const
privatepure virtual

Implemented in art::Wrapper< T >.

virtual unsigned art::EDProduct::do_getRangeSetID ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

virtual product_typeids_t art::EDProduct::do_getTypeIDs ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

virtual void art::EDProduct::do_insertIfSampledProduct ( std::string const &  dataset,
SubRunID const &  id,
std::unique_ptr< EDProduct product 
)
privatepure virtual

Implemented in art::Wrapper< T >.

virtual std::unique_ptr<EDProduct> art::EDProduct::do_makePartner ( std::type_info const &  wanted_type) const
privatepure virtual

Implemented in art::Wrapper< T >.

virtual void art::EDProduct::do_setRangeSetID ( unsigned  )
privatepure virtual

Implemented in art::Wrapper< T >.

void const * EDProduct::getElementAddress ( std::type_info const &  toType,
unsigned long  index 
) const

Definition at line 13 of file EDProduct.cc.

15 {
16  return do_getElementAddress(toType, index);
17 }
virtual void const * do_getElementAddress(std::type_info const &toType, unsigned long index) const =0
std::vector< void const * > EDProduct::getElementAddresses ( std::type_info const &  toType,
std::vector< unsigned long > const &  indices 
) const

Definition at line 20 of file EDProduct.cc.

22 {
23  return do_getElementAddresses(toType, indices);
24 }
virtual std::vector< void const * > do_getElementAddresses(std::type_info const &toType, std::vector< unsigned long > const &indices) const =0
unsigned art::EDProduct::getRangeSetID ( ) const
inline

Definition at line 76 of file EDProduct.h.

77  {
78  return do_getRangeSetID();
79  }
virtual unsigned do_getRangeSetID() const =0
product_typeids_t art::EDProduct::getTypeIDs ( ) const
inline

Definition at line 64 of file EDProduct.h.

65  {
66  return do_getTypeIDs();
67  }
virtual product_typeids_t do_getTypeIDs() const =0
virtual std::vector<void const*> art::EDProduct::getView ( ) const
inlinevirtual

Reimplemented in art::Wrapper< T >.

Definition at line 39 of file EDProduct.h.

40  { /* should be called only polymorphically */
41  return {};
42  }
void art::EDProduct::insertIfSampledProduct ( std::string const &  dataset,
SubRunID const &  id,
std::unique_ptr< EDProduct product 
)
inline

Definition at line 100 of file EDProduct.h.

103  {
104  return do_insertIfSampledProduct(dataset, id, move(product));
105  }
virtual void do_insertIfSampledProduct(std::string const &dataset, SubRunID const &id, std::unique_ptr< EDProduct > product)=0
def move(depos, offset)
Definition: depos.py:107
bool art::EDProduct::isPresent ( ) const
inline

Definition at line 31 of file EDProduct.h.

32  {
33  return isPresent_();
34  }
virtual bool isPresent_() const =0
virtual bool art::EDProduct::isPresent_ ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

std::unique_ptr<EDProduct> art::EDProduct::makePartner ( std::type_info const &  wanted_type) const
inline

Definition at line 70 of file EDProduct.h.

71  {
72  return do_makePartner(wanted_type);
73  }
virtual std::unique_ptr< EDProduct > do_makePartner(std::type_info const &wanted_type) const =0
virtual std::string art::EDProduct::productSize ( ) const
inlinevirtual

Reimplemented in art::Wrapper< T >.

Definition at line 58 of file EDProduct.h.

59  {
60  return "-";
61  }
void art::EDProduct::setRangeSetID ( unsigned const  id)
inline

Definition at line 82 of file EDProduct.h.

83  {
84  do_setRangeSetID(id);
85  }
virtual void do_setRangeSetID(unsigned)=0
virtual std::type_info const* art::EDProduct::typeInfo ( ) const
inlinevirtual

Definition at line 45 of file EDProduct.h.

46  {
47  return typeInfo_();
48  }
virtual std::type_info const * typeInfo_() const =0
virtual std::type_info const* art::EDProduct::typeInfo_ ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.


The documentation for this class was generated from the following files: