22 throwExceptionWithText(
char const* txt)
25 <<
"Problem using an incomplete BranchDescription\n" 26 << txt <<
"\nPlease report this error to the ART developers\n";
33 BranchDescription::BranchDescription() =
default;
34 BranchDescription::BranchDescription(BranchDescription
const&) =
default;
35 BranchDescription::BranchDescription(BranchDescription&&) =
default;
36 BranchDescription& BranchDescription::operator=(BranchDescription
const&) =
38 BranchDescription& BranchDescription::operator=(BranchDescription&&) =
40 BranchDescription::~BranchDescription() =
default;
42 BranchDescription::BranchDescription(
45 std::string
const& moduleLabel,
118 <<
"Your application requires all events on Branch '" 120 <<
"'\n to have the same provenance. This file has events with " 122 <<
"on this branch. Use a different input file.\n";
152 os <<
"Product ID = " <<
productID() <<
'\n';
179 constexpr
char underscore(
'_');
184 throwExceptionWithText(
"Illegal BranchType detected");
187 throwExceptionWithText(
"Module label is not allowed to be empty");
190 throwExceptionWithText(
"Process name is not allowed to be empty");
193 throwExceptionWithText(
"Full class name is not allowed to be empty");
196 throwExceptionWithText(
"Friendly class name is not allowed to be empty");
201 <<
"' contains an underscore ('_'), which is illegal in the " 202 <<
"name of a product.\n";
207 <<
"' contains an underscore ('_'), which is illegal in a " 208 <<
"module label.\n";
213 <<
"' contains an underscore ('_'), which is illegal in a " 214 <<
"product instance name.\n";
219 <<
"' contains an underscore ('_'), which is illegal in a " 220 <<
"process name.\n";
236 set<ProcessConfigurationID>
const&
std::string const & productInstanceName() const
fhicl::ParameterSetID const & psetID() const
std::string const & emulatedModule() const
void merge(BranchDescription const &other)
std::set< fhicl::ParameterSetID > const & psetIDs() const noexcept
void fluffTransients_() const
bool hasEmulatedModule() const
std::string wrappedClassName(std::string const &className)
static int constexpr invalidCompression
bool supportsView() const noexcept
friend bool operator<(BranchDescription const &, BranchDescription const &)
std::set< ProcessConfigurationID > processConfigurationIDs_
std::set< ProcessConfigurationID > const & processConfigurationIDs() const noexcept
bool supportsView() const
ProcessConfigurationID id() const
std::string const & processName() const noexcept
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
BranchType branchType() const noexcept
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
std::string producedClassName_
constexpr bool isValid() const noexcept
std::string friendlyClassName_
static int constexpr invalidSplitLevel
void swap(BranchDescription &other)
std::string canonicalProductName(std::string const &friendlyClassName, std::string const &moduleLabel, std::string const &productInstanceName, std::string const &processName)
void setID(std::string const &canonicalProductName)
void write(std::ostream &os) const
std::string friendlyName(std::string const &iFullName)
std::string const & moduleLabel() const noexcept
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
std::set< fhicl::ParameterSetID > psetIDs_
void throwIfInvalid_() const
bool transientsFluffed_() const noexcept
bool isPsetIDUnique() const noexcept
std::string const & productInstanceName() const noexcept
std::string const & producedClassName() const noexcept
void swap(lar::deep_const_fwd_iterator_nested< CITER, INNERCONTEXTRACT > &a, lar::deep_const_fwd_iterator_nested< CITER, INNERCONTEXTRACT > &b)
std::string productInstanceName_
std::string const & processName() const noexcept
friend bool combinable(BranchDescription const &, BranchDescription const &)
std::string const & friendlyClassName() const noexcept
static int constexpr invalidBasketSize
std::string className() const
friend bool operator==(BranchDescription const &, BranchDescription const &)
Transient< Transients > transients_
ProductID productID() const noexcept
Transients & guts() noexcept
decltype(auto) constexpr empty(T &&obj)
ADL-aware version of std::empty.