11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHZEROORONE_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHZEROORONE_H 26 template <
typename Aux,
typename Metadata,
typename ArgTuple,
typename AuxTag = Aux>
31 OneTo01DataProxyMakerWrapper<Aux, Metadata, AuxTag>::template maker_t,
63 template <
typename Aux,
typename Metadata,
typename AuxTag,
typename... Args>
66 using ArgTuple_t = std::tuple<Args&&...>;
67 ArgTuple_t argsTuple(std::forward<Args>(args)...);
69 std::move(argsTuple));
74 template <
typename Aux,
typename AuxTag,
typename... Args>
77 return withZeroOrOneMetaAs<Aux, void, AuxTag>(std::forward<Args>(args)...);
143 template <
typename Aux,
typename Metadata,
typename... Args>
146 return withZeroOrOneMetaAs<Aux, Metadata, Aux>(std::forward<Args>(args)...);
152 template <
typename Aux,
typename... Args>
155 return withZeroOrOneMeta<Aux, void>(std::forward<Args>(args)...);
163 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_WITHZEROORONE_H Helper to create associated data proxy.
auto withZeroOrOneAs(Args &&...args)
WithAssociatedStructBase< Aux, Metadata, ArgTuple, OneTo01DataProxyMakerWrapper< Aux, Metadata, AuxTag >::template maker_t, AuxTag > WithOneTo01AssociatedStruct
auto withZeroOrOne(Args &&...args)
Encloses LArSoft data product proxy objects and utilities.See this doxygen module for an introduction...
Infrastructure for merging optional associated data to a proxy.
auto withZeroOrOneMeta(Args &&...args)
Helper function to merge one-to-(zero-or-one) associated data.
Template class to declare addition of associated data to a proxy.
auto withZeroOrOneMetaAs(Args &&...args)