15 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_WITHASSOCIATED_H 16 #define LARDATA_RECOBASEPROXY_PROXYBASE_WITHASSOCIATED_H 54 typename Aux,
typename Metadata,
55 typename ArgTuple,
typename AuxTag = Aux
61 AssociatedDataProxyMakerWrapper<Aux, Metadata, AuxTag>::template maker_t,
148 template <
typename Aux,
typename Metadata,
typename AuxTag,
typename... Args>
150 using ArgTuple_t = std::tuple<Args&&...>;
151 ArgTuple_t argsTuple(std::forward<Args>(
args)...);
205 template <
typename Aux,
typename AuxTag,
typename... Args>
208 return withAssociatedMetaAs<Aux, void, AuxTag>
209 (std::forward<Args>(
args)...);
334 template <
typename Aux,
typename Metadata,
typename... Args>
337 return withAssociatedMetaAs<Aux, Metadata, Aux>
338 (std::forward<Args>(
args)...);
377 template <
typename Aux,
typename... Args>
379 {
return withAssociatedMeta<Aux, void>(std::forward<Args>(
args)...); }
425 template <
typename AuxTag,
typename Assns>
428 using Aux_t =
typename Assns::right_t;
478 template <
typename Assns>
480 {
return wrapAssociatedAs<typename Assns::right_t>(assns); }
496 template <
typename AuxTag,
typename Assns>
498 {
return wrapAssociatedAs<AuxTag>(assns); }
505 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_WITHASSOCIATED_H Helper to create associated data proxy.
auto withAssociated(Args &&...args)
Helper function to merge associated data with no metadata.
auto withAssociatedMetaAs(Args &&...args)
Helper function to merge associated data with metadata.
Infrastructure to add associated data to a collection proxy.
Helper to create associated data proxy.
auto wrapAssociatedAs(Assns const &assns)
Helper function to merge associated data from a given association.
auto withAssociatedMeta(Args &&...args)
Helper function to merge associated data.
auto withAssociatedAs(Args &&...args)
Helper function to merge associated data with no metadata.
Template class to declare addition of associated data to a proxy.
auto wrapAssociated(Assns const &assns)
Helper function to merge associated data from a given association.