11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHCOLLECTIONPROXY_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHCOLLECTIONPROXY_H 22 #include <type_traits> 34 template <
typename AuxProxy,
typename AuxTag,
typename... Args>
37 using ArgTuple_t = std::tuple<Args&&...>;
39 std::is_convertible<std::decay_t<std::tuple_element_t<0U, ArgTuple_t>>,
art::InputTag>(),
40 "The first argument of withCollectionProxyAs() must be art::InputTag.");
41 ArgTuple_t argsTuple(std::forward<Args>(args)...);
72 template <
typename AuxProxy,
typename... Args>
75 return withCollectionProxyAs<AuxProxy, AuxProxy>(std::forward<Args>(args)...);
83 #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.