7 #include "cetlib/MD5Digest.h" 8 #include "cetlib/container_algorithms.h" 20 ProcessHistory::~ProcessHistory() =
default;
21 ProcessHistory::ProcessHistory() =
default;
24 ProcessHistory::ProcessHistory(
size_type const n) : data_(n) {}
66 data_ = std::move(rhs.data_);
100 return data_.empty();
112 return data_.capacity();
148 return data_.begin();
160 return data_.cbegin();
172 return data_.rbegin();
184 return data_.crbegin();
190 return data_.crend();
205 std::lock_guard sentry{
mutex_};
212 for (
auto I =
data_.begin(),
E =
data_.end(); I !=
E; ++I) {
213 oss << I->processName() <<
' ' << I->parameterSetID() <<
' ' 214 << I->releaseVersion() <<
' ' 217 string stringrep = oss.str();
218 cet::MD5Digest md5alg(stringrep);
224 std::optional<ProcessConfiguration>
227 std::lock_guard sentry{
mutex_};
229 if (i->processName() == name) {
230 return std::make_optional(*i);
260 for (
auto itA = a.
data().cbegin(),
261 itB = b.
data().cbegin(),
262 itAEnd = a.
data().cend();
281 ost <<
"Process History = ";
282 copy_all(ph, ostream_iterator<ProcessHistory::value_type>(ost,
";"));
reference at(size_type i)
bool operator==(Provenance const &a, Provenance const &b) noexcept
const_iterator end() const
std::recursive_mutex mutex_
Transient< Transients > transients_
const_iterator begin() const
std::recursive_mutex & get_mutex() const
size_type capacity() const
bool operator!=(ScheduleID const left, ScheduleID const right) noexcept
const_reverse_iterator rend() const
reference operator[](size_type i)
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
const_reverse_iterator crend() const
const_iterator cbegin() const
collection_type::const_iterator const_iterator
const_reverse_iterator crbegin() const
const_iterator cend() const
collection_type::reference reference
bool isAncestor(ProcessHistory const &a, ProcessHistory const &b)
std::optional< ProcessConfiguration > getConfigurationForProcess(std::string const &name) const
const_reverse_iterator rbegin() const
collection_type::size_type size_type
void reserve(size_type n)
void swap(ProcessHistory &other)
ProcessHistory & operator=(ProcessHistory const &)
std::vector< value_type > collection_type
void push_back(const_reference t)
collection_type::const_reverse_iterator const_reverse_iterator
collection_type const & data() const
ProcessHistoryID const & id() const
Hash< ProcessHistoryType > ProcessHistoryID
bool isDescendant(ProcessHistory const &a, ProcessHistory const &b)
collection_type::const_reference const_reference