11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHZEROORONE_H
12 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHZEROORONE_H
28 typename Aux,
typename Metadata,
typename ArgTuple,
35 OneTo01DataProxyMakerWrapper<Aux, Metadata, AuxTag>::template maker_t,
68 template <
typename Aux,
typename Metadata,
typename AuxTag,
typename... Args>
70 using ArgTuple_t = std::tuple<Args&&...>;
71 ArgTuple_t argsTuple(std::forward<Args>(
args)...);
74 (std::move(argsTuple));
80 template <
typename Aux,
typename AuxTag,
typename... Args>
84 withZeroOrOneMetaAs<Aux, void, AuxTag>(std::forward<Args>(
args)...);
150 template <
typename Aux,
typename Metadata,
typename... Args>
154 withZeroOrOneMetaAs<Aux, Metadata, Aux>(std::forward<Args>(
args)...);
160 template <
typename Aux,
typename... Args>
162 {
return withZeroOrOneMeta<Aux, void>(std::forward<Args>(
args)...); }
170 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_WITHZEROORONE_H
auto withZeroOrOne(Args &&...args)
Helper to create associated data proxy.
Infrastructure for merging optional associated data to a proxy.
WithAssociatedStructBase< Aux, Metadata, ArgTuple, OneTo01DataProxyMakerWrapper< Aux, Metadata, AuxTag >::template maker_t, AuxTag > WithOneTo01AssociatedStruct
auto withZeroOrOneMeta(Args &&...args)
Helper function to merge one-to-(zero-or-one) associated data.
auto withZeroOrOneMetaAs(Args &&...args)
Template class to declare addition of associated data to a proxy.
auto withZeroOrOneAs(Args &&...args)