From 1a425ee79f31038c6869dcfab902a4a8d174d6eb Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 17 Jul 2024 14:24:01 +0200 Subject: [PATCH] Utils: Dismantle ArgTuple Change-Id: I5810beef15956fb067dece35f59aecaa26149dea Reviewed-by: Jarek Kobus --- src/libs/utils/builderutils.h | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/libs/utils/builderutils.h b/src/libs/utils/builderutils.h index fd0de6227f1..0d20878ceac 100644 --- a/src/libs/utils/builderutils.h +++ b/src/libs/utils/builderutils.h @@ -25,13 +25,6 @@ public: const Arg arg; // FIXME: Could be const &, but this would currently break bindTo(). }; -template -struct ArgTuple -{ - ArgTuple(Args &&...args) : args(std::forward(args)...) {} - const std::tuple...> args; -}; - // The main dispatcher void doit(auto x, auto id, auto p); @@ -60,11 +53,11 @@ public: class name##_TAG {}; \ template \ inline auto name(Args &&...args) { \ - return Building::IdAndArg{name##_TAG{}, Building::ArgTuple{std::forward(args)...}}; \ + return Building::IdAndArg{name##_TAG{}, std::tuple{std::forward(args)...}}; \ } \ template \ -inline void doit(L *x, name##_TAG, const Building::ArgTuple &arg) { \ - std::apply(&L::setter, std::tuple_cat(std::make_tuple(x), arg.args)); \ +inline void doit(L *x, name##_TAG, const std::tuple &arg) { \ + std::apply(&L::setter, std::tuple_cat(std::make_tuple(x), arg)); \ } } // Building