File indexing completed on 2023-03-17 10:51:09
0001 #include "DataFormats/Provenance/interface/Parentage.h"
0002 #include "FWCore/Utilities/interface/Digest.h"
0003 #include <ostream>
0004 #include <sstream>
0005
0006
0007
0008
0009
0010 namespace edm {
0011 Parentage::Parentage() : parents_() {}
0012
0013 Parentage::Parentage(std::vector<BranchID> const& parents) : parents_(parents) {}
0014
0015 Parentage::Parentage(std::vector<BranchID>&& parents) : parents_(std::move(parents)) {}
0016
0017 ParentageID Parentage::id() const {
0018 std::ostringstream oss;
0019 for (auto const& parent : parents_) {
0020 oss << parent << ' ';
0021 }
0022
0023 std::string stringrep = oss.str();
0024 cms::Digest md5alg(stringrep);
0025 ParentageID id(md5alg.digest().toString());
0026 return id;
0027 }
0028
0029 void Parentage::write(std::ostream&) const {
0030
0031
0032 }
0033
0034 bool operator==(Parentage const& a, Parentage const& b) { return a.parents() == b.parents(); }
0035 }