11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHCOLLECTIONPROXY_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHCOLLECTIONPROXY_H 23 #include <type_traits> 35 template <
typename AuxProxy,
typename AuxTag,
typename... Args>
38 using ArgTuple_t = std::tuple<Args&&...>;
41 <std::decay_t<std::tuple_element_t<0U, ArgTuple_t>>,
art::InputTag>(),
42 "The first argument of withCollectionProxyAs() must be art::InputTag." 44 ArgTuple_t argsTuple(std::forward<Args>(args)...);
46 (std::move(argsTuple));
76 template <
typename AuxProxy,
typename... Args>
80 withCollectionProxyAs<AuxProxy, AuxProxy>(std::forward<Args>(args)...);
90 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_WITHCOLLECTIONPROXY_H Infrastructure for a collection proxy as auxiliary data for a proxy.
auto withCollectionProxyAs(Args &&...args)
Encloses LArSoft data product proxy objects and utilities.See this doxygen module for an introduction...
auto withCollectionProxy(Args &&...args)
Helper function to merge an auxiliary proxy into the proxy.
Helper to create a proxy as auxiliary data for another proxy.