11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHPARALLELDATA_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHPARALLELDATA_H 28 template <
typename Aux,
typename ArgTuple,
typename AuxTag = Aux>
30 WithAssociatedStructBase<Aux,
33 ParallelDataProxyMakerWrapper<Aux, AuxTag>::template maker_t,
36 template <
typename Aux,
typename ArgTuple,
typename AuxColl,
typename AuxTag = Aux>
88 template <
typename Aux,
typename AuxTag,
typename... Args>
91 using ArgTuple_t = std::tuple<Args&&...>;
92 ArgTuple_t argsTuple(std::forward<Args>(args)...);
174 template <
typename Aux,
typename... Args>
177 return withParallelDataAs<Aux, Aux>(std::forward<Args>(args)...);
226 template <
typename AuxTag,
typename AuxColl>
229 std::tuple<AuxColl const&> args = {auxColl};
233 AuxTag>(std::move(args));
255 template <
typename AuxColl>
258 return wrapParallelDataAs<util::collection_value_t<AuxColl>>(auxColl);
266 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_WITHPARALLELDATA_H Helper to create associated data proxy.
WithAssociatedStructBase< Aux, void, ArgTuple, ParallelDataProxyMakerWrapper< Aux, AuxTag >::template maker_t, AuxTag > WithParallelCollectionStruct
auto wrapParallelDataAs(AuxColl const &auxColl)
Uses a collection as auxiliary data for a collection proxy.
auto withParallelData(Args &&...args)
Helper function to merge an auxiliary data product into the proxy.
Encloses LArSoft data product proxy objects and utilities.See this doxygen module for an introduction...
Infrastructure for the addition of parallel data to a proxy.
auto wrapParallelData(AuxColl const &auxColl)
Uses a collection as auxiliary data for a collection proxy.
auto withParallelDataAs(Args &&...args)
Helper function to merge an auxiliary data product into the proxy.
Template class to declare addition of associated data to a proxy.