From e4fcf82f70518e29061df51e9e9108a72fe117a0 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 6 Jun 2023 13:21:30 +0300 Subject: [PATCH] Support fmap over a tuple --- libs/util/include/psemek/util/fmap.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libs/util/include/psemek/util/fmap.hpp b/libs/util/include/psemek/util/fmap.hpp index ba26114b..10396f8f 100644 --- a/libs/util/include/psemek/util/fmap.hpp +++ b/libs/util/include/psemek/util/fmap.hpp @@ -3,6 +3,7 @@ #include #include +#include namespace psemek::util { @@ -25,6 +26,16 @@ namespace psemek::util else return std::optional(); } + + template + auto operator()(std::tuple && x) + { + return [&](std::index_sequence){ + return std::tuple{ + f(std::get(x))... + }; + }(std::make_index_sequence{}); + } }; }