11 std::shared_ptr<RunAuxiliary>
aux,
12 std::shared_ptr<ProductRegistry const> reg,
15 unsigned int iRunIndex) :
17 aux_(aux), index_(iRunIndex), complete_(
false) {
27 for(
auto const&
prod : *
this) {
35 std::unique_ptr<WrapperBase> edp) {
39 if(edp.get() ==
nullptr) {
41 <<
"put: Cannot put because unique_ptr to product is null."
52 for(
auto const&
prod : *
this) {
72 if(edp.get() !=
nullptr) {
void putOrMerge(std::unique_ptr< WrapperBase > prod, ProductHolderBase const *productHolder) const
RunPrincipal(std::shared_ptr< RunAuxiliary > aux, std::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int iRunIndex)
virtual unsigned int transitionIndex_() const override
unsigned int value() const
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp)
void fillRunPrincipal(ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
ProcessHistory const & processHistory() const
void readImmediate() const
ProcessHistoryID m_reducedHistoryID
std::shared_ptr< RunAuxiliary > aux_
bool singleProduct() const
BranchDescription const & branchDescription() const
void resolveProductImmediate(ProductHolderBase const &phb) const
T const * getProduct(RefCore const &ref)
BranchID const & branchID() const
ProcessHistoryID const & reducedProcessHistoryID(ProcessHistoryID const &fullID) const
DelayedReader * reader() const
volatile std::atomic< bool > shutdown_flag false
void fillPrincipal(ProcessHistoryID const &hist, ProcessHistoryRegistry const &phr, DelayedReader *reader)
ProductHolderBase * getExistingProduct(BranchID const &branchID)
bool productUnavailable() const