13 Provenance::Provenance() =
default;
15 Provenance::Provenance(cet::exempt_ptr<Group const> g) noexcept : group_{g} {}
18 Provenance::isValid() const noexcept
20 return static_cast<bool>(group_);
24 Provenance::productDescription() const noexcept
26 return group_->productDescription();
30 Provenance::produced() const noexcept
32 return productDescription().
produced();
36 Provenance::producedClassName() const noexcept
38 return productDescription().producedClassName();
42 Provenance::branchName() const noexcept
44 return productDescription().branchName();
48 Provenance::friendlyClassName() const noexcept
50 return productDescription().friendlyClassName();
54 Provenance::moduleLabel() const noexcept
56 return productDescription().moduleLabel();
60 Provenance::productInstanceName() const noexcept
62 return productDescription().productInstanceName();
66 Provenance::processName() const noexcept
68 return productDescription().processName();
72 Provenance::productID() const noexcept
74 return productDescription().productID();
77 set<fhicl::ParameterSetID>
const&
78 Provenance::psetIDs() const noexcept
80 return productDescription().psetIDs();
84 Provenance::parameterSet()
const 87 *productDescription().psetIDs().
begin());
91 Provenance::inputTag()
const 93 return productDescription().inputTag();
97 Provenance::productStatus()
const 99 return productProvenance().productStatus();
103 Provenance::parentage()
const 105 return productProvenance().parentage();
108 vector<ProductID>
const&
109 Provenance::parents()
const 111 return productProvenance().parentage().
parents();
115 Provenance::isPresent()
const 121 Provenance::rangeOfValidity()
const 123 return group_->rangeOfValidity();
129 return group_ ==
other.group_;
133 Provenance::productProvenance()
const 135 auto prov = group_->productProvenance();
136 assert(prov !=
nullptr);
147 Provenance::write(ostream& os)
const 151 productDescription().write(os);
152 productProvenance().write(os);
bool produced() const noexcept
bool operator==(Provenance const &a, Provenance const &b) noexcept
static collection_type const & get() noexcept
std::vector< ProductID > const & parents() const
unsigned char ProductStatus
decltype(auto) constexpr begin(T &&obj)
ADL-aware version of std::begin.
constexpr ProductStatus present() noexcept
ostream & operator<<(ostream &os, Provenance const &p)
std::ostream & write(std::ostream &) const