1 #ifndef art_Framework_Core_RPManager_h 2 #define art_Framework_Core_RPManager_h 12 #include "cetlib/BasicPluginFactory.h" 26 using RPPath_t = std::vector<std::unique_ptr<art::RPWorker>>;
27 using RPMap_t = std::map<std::string, RPPath_t>;
29 template <
typename RET,
typename... ARGS>
36 std::size_t
size()
const;
39 template <
typename... ARGS>
45 cet::BasicPluginFactory
pf_;
64 template <
typename... ARGS>
68 for (
auto& path :
rpmap_) {
69 for (
auto&
w : path.second) {
70 (
w->rp().*mfunc)(std::forward<ARGS>(args)...);
78 for (
auto& path :
rpmap_) {
79 for (
auto&
w : path.second) {
std::function< void(art::RPWorker &)> on_rpworker_t
RET(art::ResultsProducer::*)(ARGS...) invoke_function_t
cet::BasicPluginFactory pf_
void for_each_RPWorker(on_rpworker_t wfunc)
std::map< std::string, RPPath_t > RPMap_t
RPManager(fhicl::ParameterSet const &ps)
void invoke(invoke_function_t< void, ARGS... > mfunc, ARGS &&...args)
std::vector< std::unique_ptr< art::RPWorker >> RPPath_t
RPMap_t makeRPs_(fhicl::ParameterSet const &ps)