![]() |
![]() |
#include <Parentage.h>
Classes | |
struct | Transients |
Public Member Functions | |
ParentageID | id () const |
Parentage () | |
Parentage (std::vector< BranchID > const &parents) | |
std::vector< BranchID > & | parents () |
std::vector< BranchID > const & | parents () const |
void | swap (Parentage &other) |
void | write (std::ostream &os) const |
~Parentage () | |
Private Member Functions | |
ParentageID & | parentageID () const |
Private Attributes | |
std::vector< BranchID > | parents_ |
Transient< Transients > | transients_ |
Definition at line 26 of file Parentage.h.
edm::Parentage::Parentage | ( | ) |
Definition at line 11 of file Parentage.cc.
: parents_() {}
edm::Parentage::Parentage | ( | std::vector< BranchID > const & | parents | ) | [explicit] |
Definition at line 15 of file Parentage.cc.
edm::Parentage::~Parentage | ( | ) | [inline] |
Definition at line 32 of file Parentage.h.
{}
ParentageID edm::Parentage::id | ( | void | ) | const |
Definition at line 20 of file Parentage.cc.
References cms::Digest::digest(), i, parentageID(), parents_, edm::Hash< I >::swap(), and tmp.
{ // This implementation is ripe for optimization. if(parentageID().isValid()) { return parentageID(); } std::ostringstream oss; for (std::vector<BranchID>::const_iterator i = parents_.begin(), e = parents_.end(); i != e; ++i) { oss << *i << ' '; } std::string stringrep = oss.str(); cms::Digest md5alg(stringrep); ParentageID tmp(md5alg.digest().toString()); parentageID().swap(tmp); return parentageID(); }
ParentageID& edm::Parentage::parentageID | ( | ) | const [inline, private] |
Definition at line 49 of file Parentage.h.
References edm::Transient< T >::get(), and transients_.
Referenced by id(), and swap().
{return transients_.get().parentageID_;}
std::vector<BranchID>& edm::Parentage::parents | ( | ) | [inline] |
std::vector<BranchID> const& edm::Parentage::parents | ( | ) | const [inline] |
Definition at line 39 of file Parentage.h.
References parents_.
Referenced by edm::OutputModule::fillDependencyGraph(), edm::RootOutputFile::insertAncestors(), edm::operator==(), edm::Provenance::parents(), edm::StreamSerializer::serializeEvent(), and ProvenanceDumper::work_().
{return parents_;}
void edm::Parentage::swap | ( | Parentage & | other | ) | [inline] |
Definition at line 41 of file Parentage.h.
References parentageID(), parents_, and edm::Hash< I >::swap().
Referenced by edm::swap().
{parents_.swap(other.parents_); parentageID().swap(other.parentageID());}
void edm::Parentage::write | ( | std::ostream & | os | ) | const |
Definition at line 43 of file Parentage.cc.
Referenced by edm::operator<<().
{ // This is grossly inadequate, but it is not critical for the // first pass. }
std::vector<BranchID> edm::Parentage::parents_ [private] |
Definition at line 51 of file Parentage.h.
Transient<Transients> edm::Parentage::transients_ [mutable, private] |
Definition at line 52 of file Parentage.h.
Referenced by parentageID().