1 #ifndef canvas_Persistency_Provenance_BranchDescription_h 2 #define canvas_Persistency_Provenance_BranchDescription_h 38 class BranchDescriptionStreamer;
47 friend class detail::BranchDescriptionStreamer;
50 static int constexpr invalidSplitLevel{-1};
51 static int constexpr invalidBasketSize{0};
52 static int constexpr invalidCompression{-1};
62 std::string branchName_{};
66 std::string wrappedName_{};
70 bool transient_{
false};
89 int compression_{invalidCompression};
101 std::string
const& moduleLabel,
106 std::string
const& moduleLabel,
107 std::string
const& processName,
108 std::string
const& producedClassName,
109 std::string
const& productInstanceName,
116 void write(std::ostream& os)
const;
131 return producedClassName_;
136 return friendlyClassName_;
141 return productInstanceName_;
146 return InputTag{moduleLabel(), productInstanceName(), processName()};
152 return guts().validity_ == Transients::Produced;
157 return guts().validity_ == Transients::PresentFromSource;
162 return guts().validity_ == Transients::Dropped;
165 transient()
const noexcept
167 return guts().transient_;
173 return guts().splitLevel_;
178 return guts().basketSize_;
183 return guts().compression_;
186 std::set<fhicl::ParameterSetID>
const&
205 return supportsView_;
210 return guts().branchName_;
215 return guts().wrappedName_;
224 guts().validity_ = state;
230 void initProductID_();
231 void fluffTransients_()
const;
232 bool transientsFluffed_()
const noexcept;
233 bool isPsetIDUnique()
const noexcept;
235 std::set<ProcessConfigurationID>
const& processConfigurationIDs()
241 void throwIfInvalid_()
const;
248 std::string moduleLabel_{};
251 std::string processName_{};
257 std::string producedClassName_{};
260 std::string friendlyClassName_{};
264 std::string productInstanceName_{};
267 bool supportsView_{
false};
271 std::set<fhicl::ParameterSetID> psetIDs_{};
275 std::set<ProcessConfigurationID> processConfigurationIDs_{};
bool produced() const noexcept
std::set< fhicl::ParameterSetID > const & psetIDs() const noexcept
std::string const & wrappedName() const noexcept
int basketSize() const noexcept
std::vector< BranchDescription > ProductDescriptions
bool supportsView() const noexcept
InputTag inputTag() const
bool present() const noexcept
std::string const & processName() const noexcept
BranchType branchType() const noexcept
bool operator<(ProductInfo const &a, ProductInfo const &b)
void swap(Handle< T > &a, Handle< T > &b)
bool dropped() const noexcept
int splitLevel() const noexcept
int compression() const noexcept
std::ostream & operator<<(std::ostream &os, Analyzer::Table< T > const &t)
bool combinable(BranchDescription const &a, BranchDescription const &b)
std::string const & moduleLabel() const noexcept
void setValidity(Transients::validity_state const state)
std::string const & productInstanceName() const noexcept
std::string const & producedClassName() const noexcept
std::map< ProductID, BranchDescription > ProductDescriptionsByID
std::string const & friendlyClassName() const noexcept
std::string const & branchName() const noexcept
ProductID productID() const noexcept
bool operator==(ModuleKeyAndType const &a, ModuleKeyAndType const &b) noexcept