CMS 3D CMS Logo

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

#include <Parentage.h>

Classes

struct  Transients
 

Public Member Functions

ParentageID id () const
 
void initializeTransients ()
 
Parentageoperator= (Parentage const &)=default
 
Parentageoperator= (Parentage &&)=default
 
 Parentage ()
 
 Parentage (std::vector< BranchID > const &parents)
 
 Parentage (std::vector< BranchID > &&parents)
 
 Parentage (Parentage const &)=default
 
 Parentage (Parentage &&)=default
 
std::vector< BranchID > const & parents () const
 
std::vector< BranchID > & parentsForUpdate ()
 
void setParents (std::vector< BranchID > const &parents)
 
void swap (Parentage &other)
 
void write (std::ostream &os) const
 
 ~Parentage ()
 

Private Attributes

std::vector< BranchIDparents_
 
Transients transient_
 

Detailed Description

Definition at line 25 of file Parentage.h.

Constructor & Destructor Documentation

edm::Parentage::Parentage ( )

Definition at line 11 of file Parentage.cc.

11  : parents_() {
12  }
std::vector< BranchID > parents_
Definition: Parentage.h:56
edm::Parentage::Parentage ( std::vector< BranchID > const &  parents)
explicit

Definition at line 14 of file Parentage.cc.

14  :
15  parents_(parents) {
16  }
std::vector< BranchID > parents_
Definition: Parentage.h:56
std::vector< BranchID > const & parents() const
Definition: Parentage.h:44
edm::Parentage::Parentage ( std::vector< BranchID > &&  parents)
explicit

Definition at line 18 of file Parentage.cc.

18  :
20  }
std::vector< BranchID > parents_
Definition: Parentage.h:56
std::vector< BranchID > const & parents() const
Definition: Parentage.h:44
def move(src, dest)
Definition: eostools.py:511
edm::Parentage::Parentage ( Parentage const &  )
default
edm::Parentage::Parentage ( Parentage &&  )
default
edm::Parentage::~Parentage ( )
inline

Definition at line 38 of file Parentage.h.

References id(), and write().

38 {}

Member Function Documentation

ParentageID edm::Parentage::id ( ) const

Definition at line 23 of file Parentage.cc.

References cms::Digest::digest(), class-composition::parent, parents_, AlCaHLTBitMon_QueryRunRegistry::string, and cms::MD5Result::toString().

Referenced by edm::Event::commit_aux(), edm::ParentageRegistry::insertMapped(), edm::ProductProvenance::ProductProvenance(), edm::RootFile::readEntryDescriptionTree(), edm::RootFile::readParentageTree(), edm::SwitchBaseProductResolver::SwitchBaseProductResolver(), ProvenanceDumper::work_(), and ~Parentage().

23  {
24  std::ostringstream oss;
25  for (auto const& parent : parents_) {
26  oss << parent << ' ';
27  }
28 
29  std::string stringrep = oss.str();
30  cms::Digest md5alg(stringrep);
31  ParentageID id(md5alg.digest().toString());
32  return id;
33  }
std::vector< BranchID > parents_
Definition: Parentage.h:56
ParentageID id() const
Definition: Parentage.cc:23
Hash< ParentageType > ParentageID
Definition: ParentageID.h:9
void edm::Parentage::initializeTransients ( )
inline

Definition at line 48 of file Parentage.h.

References edm::Parentage::Transients::reset(), and transient_.

48 {transient_.reset();}
Transients transient_
Definition: Parentage.h:57
Parentage& edm::Parentage::operator= ( Parentage const &  )
default
Parentage& edm::Parentage::operator= ( Parentage &&  )
default
std::vector<BranchID> const& edm::Parentage::parents ( ) const
inline
std::vector<BranchID>& edm::Parentage::parentsForUpdate ( )
inline

Definition at line 45 of file Parentage.h.

References parents_.

Referenced by edm::RootFile::readEntryDescriptionTree(), and edm::RootFile::readParentageTree().

45 {return parents_;}
std::vector< BranchID > parents_
Definition: Parentage.h:56
void edm::Parentage::setParents ( std::vector< BranchID > const &  parents)
inline

Definition at line 46 of file Parentage.h.

References parents(), and parents_.

Referenced by edm::Event::commit_aux(), edm::ProductProvenance::ProductProvenance(), edm::RootFile::readEntryDescriptionTree(), and edm::SwitchBaseProductResolver::SwitchBaseProductResolver().

46 {parents_ = parents;}
std::vector< BranchID > parents_
Definition: Parentage.h:56
std::vector< BranchID > const & parents() const
Definition: Parentage.h:44
void edm::Parentage::swap ( Parentage other)
inline

Definition at line 47 of file Parentage.h.

References parents_.

Referenced by edm::swap().

47 {parents_.swap(other.parents_);}
std::vector< BranchID > parents_
Definition: Parentage.h:56
void edm::Parentage::write ( std::ostream &  os) const

Definition at line 36 of file Parentage.cc.

Referenced by pkg.AbstractPkg::generate(), edm::operator<<(), and ~Parentage().

36  {
37  // This is grossly inadequate, but it is not critical for the
38  // first pass.
39  }

Member Data Documentation

std::vector<BranchID> edm::Parentage::parents_
private

Definition at line 56 of file Parentage.h.

Referenced by id(), parents(), parentsForUpdate(), setParents(), and swap().

Transients edm::Parentage::transient_
private

Definition at line 57 of file Parentage.h.

Referenced by initializeTransients().