CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::ProductData Class Reference

#include <ProductData.h>

Public Member Functions

std::shared_ptr< BranchDescription const > const & branchDescription () const
 
 ProductData ()
 
 ProductData (std::shared_ptr< BranchDescription const > bd)
 
 ProductData (WrapperBase *product, Provenance const &prov)
 
Provenance const & provenance () const
 
void resetBranchDescription (std::shared_ptr< BranchDescription const > bd)
 
void resetProductData ()
 
void setProcessHistory (ProcessHistory const &ph)
 
void setProvenance (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
 
void setWrapper (std::unique_ptr< WrapperBase > iValue)
 
std::shared_ptr< WrapperBase const > sharedConstWrapper () const
 
void swap (ProductData &other)
 
void unsafe_resetProductData () const
 
void unsafe_setWrapper (std::unique_ptr< WrapperBase > iValue) const
 
WrapperBaseunsafe_wrapper () const
 
WrapperBase const * wrapper () const
 
WrapperBasewrapper ()
 

Private Attributes

Provenance prov_
 
std::shared_ptr< WrapperBasewrapper_
 

Detailed Description

Definition at line 17 of file ProductData.h.

Constructor & Destructor Documentation

edm::ProductData::ProductData ( )

Definition at line 12 of file ProductData.cc.

12  :
13  wrapper_(),
14  prov_() {
15  }
Provenance prov_
Definition: ProductData.h:76
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
edm::ProductData::ProductData ( std::shared_ptr< BranchDescription const >  bd)
explicit

Definition at line 17 of file ProductData.cc.

17  :
18  wrapper_(),
19  prov_(bd, ProductID()) {
20  }
Provenance prov_
Definition: ProductData.h:76
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
edm::ProductData::ProductData ( WrapperBase product,
Provenance const &  prov 
)

Definition at line 23 of file ProductData.cc.

23  :
24  wrapper_(product, do_nothing_deleter()),
25  prov_(prov) {
26  }
Provenance prov_
Definition: ProductData.h:76
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75

Member Function Documentation

std::shared_ptr<BranchDescription const> const& edm::ProductData::branchDescription ( ) const
inline

Definition at line 26 of file ProductData.h.

References edm::Provenance::constBranchDescriptionPtr(), and prov_.

Referenced by edm::DataManagingProductResolver::branchDescription_().

26  {
28  }
Provenance prov_
Definition: ProductData.h:76
std::shared_ptr< BranchDescription const > const & constBranchDescriptionPtr() const
Definition: Provenance.h:44
Provenance const& edm::ProductData::provenance ( ) const
inline
void edm::ProductData::resetBranchDescription ( std::shared_ptr< BranchDescription const >  bd)

Definition at line 29 of file ProductData.cc.

References prov_, and edm::Provenance::setBranchDescription().

Referenced by edm::DataManagingProductResolver::resetBranchDescription_(), and swap().

29  {
31  }
void setBranchDescription(std::shared_ptr< BranchDescription const > const &p)
Definition: Provenance.h:83
Provenance prov_
Definition: ProductData.h:76
void edm::ProductData::resetProductData ( )
inline

Definition at line 51 of file ProductData.h.

References wrapper_.

Referenced by edm::DataManagingProductResolver::resetProductData_().

51  {
52  wrapper_.reset();
53  }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
void edm::ProductData::setProcessHistory ( ProcessHistory const &  ph)
inline

Definition at line 59 of file ProductData.h.

References prov_, and edm::Provenance::setProcessHistory().

Referenced by edm::DataManagingProductResolver::setProcessHistory_().

59  {
61  }
Provenance prov_
Definition: ProductData.h:76
void setProcessHistory(ProcessHistory const &ph)
Definition: Provenance.h:77
void edm::ProductData::setProvenance ( ProductProvenanceRetriever const *  provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
inline

Definition at line 63 of file ProductData.h.

References prov_, edm::Provenance::setProcessHistory(), edm::Provenance::setProductID(), and edm::Provenance::setStore().

Referenced by edm::DataManagingProductResolver::setProvenance_().

63  {
65  prov_.setStore(provRetriever);
67  }
Provenance prov_
Definition: ProductData.h:76
void setStore(ProductProvenanceRetriever const *store)
Definition: Provenance.h:75
void setProductID(ProductID const &pid)
Definition: Provenance.h:81
void setProcessHistory(ProcessHistory const &ph)
Definition: Provenance.h:77
void edm::ProductData::setWrapper ( std::unique_ptr< WrapperBase iValue)

Definition at line 33 of file ProductData.cc.

References eostools::move(), and wrapper_.

Referenced by swap().

33  {
34  wrapper_ = std::move(iValue);
35  }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
def move(src, dest)
Definition: eostools.py:510
std::shared_ptr<WrapperBase const> edm::ProductData::sharedConstWrapper ( ) const
inline

Definition at line 35 of file ProductData.h.

References wrapper_.

Referenced by edm::getProductByTag().

35  {
36  return wrapper_;
37  }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
void edm::ProductData::swap ( ProductData other)
inline

Definition at line 39 of file ProductData.h.

References prov_, resetBranchDescription(), setWrapper(), edm::Provenance::swap(), std::swap(), unsafe_setWrapper(), and wrapper_.

Referenced by edm::swap().

39  {
40  std::swap(wrapper_, other.wrapper_);
41  prov_.swap(other.prov_);
42  }
Provenance prov_
Definition: ProductData.h:76
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
void swap(Provenance &)
Definition: Provenance.cc:55
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
void edm::ProductData::unsafe_resetProductData ( ) const
inline

Definition at line 55 of file ProductData.h.

References wrapper_.

55  {
56  wrapper_.reset();
57  }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
void edm::ProductData::unsafe_setWrapper ( std::unique_ptr< WrapperBase iValue) const

Definition at line 38 of file ProductData.cc.

References eostools::move(), and wrapper_.

Referenced by edm::DataManagingProductResolver::setProduct(), and swap().

38  {
39  wrapper_ = std::move(iValue);
40  }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
def move(src, dest)
Definition: eostools.py:510
WrapperBase* edm::ProductData::unsafe_wrapper ( ) const
inline

Definition at line 34 of file ProductData.h.

References wrapper_.

Referenced by edm::DataManagingProductResolver::mergeProduct().

34 { return wrapper_.get(); }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75
WrapperBase const* edm::ProductData::wrapper ( ) const
inline
WrapperBase* edm::ProductData::wrapper ( )
inline

Definition at line 33 of file ProductData.h.

References wrapper_.

33 { return wrapper_.get(); }
std::shared_ptr< WrapperBase > wrapper_
Definition: ProductData.h:75

Member Data Documentation

Provenance edm::ProductData::prov_
private
std::shared_ptr<WrapperBase> edm::ProductData::wrapper_
mutableprivate