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{}); + } }; }