From 083ce1a150f91e04a0eef563177b324c7c2e309b Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sat, 2 Mar 2024 22:58:08 +0100 Subject: [PATCH] Fix issue with return type in inplace_function --- components/util/include/util/inplace_function.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/util/include/util/inplace_function.h b/components/util/include/util/inplace_function.h index 93cc254..4bc1024 100644 --- a/components/util/include/util/inplace_function.h +++ b/components/util/include/util/inplace_function.h @@ -59,7 +59,7 @@ public: return_t operator()(args_t... args) { if (mWrapper) - mWrapper(mStorage, args...); + return mWrapper(mStorage, args...); else throw std::bad_function_call(); } @@ -77,7 +77,7 @@ public: requires std::is_invocable_r_v void bind() { mWrapper = [](storage_t, args_t... args) { - std::invoke(F, std::forward(args)...); + return std::invoke(F, std::forward(args)...); }; } @@ -96,8 +96,8 @@ public: new (mStorage)(class_t*){&c}; mWrapper = [](storage_t storage, args_t... args) { - std::invoke(F, reinterpret_cast(storage), - std::forward(args)...); + return std::invoke(F, reinterpret_cast(storage), + std::forward(args)...); }; } @@ -111,8 +111,8 @@ public: void bind(F f) { new (mStorage) F{std::move(f)}; mWrapper = [](storage_t storage, args_t... args) { - std::invoke(*reinterpret_cast(storage), - std::forward(args)...); + return std::invoke(*reinterpret_cast(storage), + std::forward(args)...); }; }