1 #ifndef art_Framework_Principal_Results_h 2 #define art_Framework_Principal_Results_h 32 cet::exempt_ptr<Consumer> consumer);
48 template <
typename PROD>
52 template <
typename PROD>
54 std::string
const& productInstanceName);
76 template <
typename PROD>
80 return put<PROD>(std::move(product), {});
83 template <
typename PROD>
86 std::string
const& productInstanceName)
88 TypeID const tid{
typeid(PROD)};
91 <<
"Results::put: A null unique_ptr was passed to 'put'.\n" 92 <<
"The pointer is of type " << tid <<
".\n" 93 <<
"The specified productInstanceName was '" << productInstanceName
98 auto wp = std::make_unique<Wrapper<PROD>>(std::move(product));
104 if (!result.second) {
106 <<
"Results::put: Attempt to put multiple products with the\n" 107 <<
" following description onto the Results.\n" 108 <<
" Products must be unique per Results.\n" 109 <<
"=================================\n" 110 << pd <<
"=================================\n";
113 return pd.productID();
PROD const * getPointerByLabel(InputTag const &tag) const
void commit(ResultsPrincipal &)
ProcessHistory const & processHistory() const
bool get(SelectorBase const &, Handle< PROD > &result) const
art::ProductID put(std::unique_ptr< PROD > &&product)
Results(Principal const &p, ModuleDescription const &md, cet::exempt_ptr< Consumer > consumer)
BranchDescription const & getProductDescription(TypeID const &type, std::string const &productInstanceName) const
std::size_t getView(std::string const &moduleLabel, std::string const &productInstanceName, std::vector< ELEMENT const * > &result) const
void getMany(SelectorBase const &, std::vector< Handle< PROD >> &results) const
EDProductGetter const * productGetter(ProductID const pid) const
void getManyByType(std::vector< Handle< PROD >> &results) const
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
static RangeSet invalid()
Principal const & principal_
TypeLabelMap & putProducts()
bool removeCachedProduct(Handle< PROD > &h) const
DataViewImpl(DataViewImpl const &)=delete
ValidHandle< PROD > getValidHandle(InputTag const &tag) const