1 #ifndef art_Framework_Principal_AssnsGroup_h 2 #define art_Framework_Principal_AssnsGroup_h 8 #include "cetlib/exempt_ptr.h" 12 class BranchDescription;
19 template <
typename... ARGS>
32 TypeID const& primary_wrapper_type,
33 TypeID const& partner_wrapper_type,
34 std::unique_ptr<EDProduct>&& edp =
nullptr,
35 cet::exempt_ptr<Worker> productProducer = cet::exempt_ptr<Worker>())
49 std::unique_ptr<EDProduct>&& edp,
50 TypeID const& primary_wrapper_type,
51 TypeID const& partner_wrapper_type)
63 cet::exempt_ptr<Worker> productProducer,
64 TypeID const& primary_wrapper_type,
65 TypeID const& partner_wrapper_type)
89 TypeID const& wanted_wrapper_type)
const override;
104 std::unique_ptr<EDProduct>& partner)
const 109 if ((result = edp.get())) {
110 partner = std::move(edp);
EDProduct const * uniqueProduct() const override
TypeID partnerWrapperType_
EDProduct const * anyProduct() const override
std::unique_ptr< Group > make_group(BranchDescription const &pd, ARGS &&...args)
AssnsGroup(BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, std::unique_ptr< EDProduct > &&edp, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type)
bool isReady() const override
std::unique_ptr< EDProduct > makePartner(std::type_info const &wanted_type) const
std::unique_ptr< EDProduct > partnerProduct_
std::type_info const & typeInfo() const
AssnsGroup(BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, cet::exempt_ptr< Worker > productProducer, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type)
AssnsGroup(BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type, std::unique_ptr< EDProduct > &&edp=nullptr, cet::exempt_ptr< Worker > productProducer=cet::exempt_ptr< Worker >())
EDProduct const * getIt() const override
EDProduct const * uniqueProduct() const override
bool makePartner(TypeID const &wanted_wrapper_type, std::unique_ptr< EDProduct > &partner) const
bool resolveProductIfAvailable(TypeID const &) const override
TypeID const & partnerWrapperType() const
void removeCachedProduct() const override