diff --git a/include/flux/core/concepts.hpp b/include/flux/core/concepts.hpp index 5235c70e..faa1659c 100644 --- a/include/flux/core/concepts.hpp +++ b/include/flux/core/concepts.hpp @@ -380,23 +380,6 @@ template struct sequence_traits : T::flux_sequence_traits {}; -namespace detail { - -template -struct repeated_invocable_helper { - template - using repeater = E; - - static inline constexpr bool value = [] (std::index_sequence) consteval { - return std::regular_invocable...>; - }(std::make_index_sequence{}); -}; - -template -concept repeated_invocable = repeated_invocable_helper::value; - -} // namespace detail - } // namespace flux #endif // FLUX_CORE_CONCEPTS_HPP_INCLUDED diff --git a/include/flux/op/cartesian_power_map.hpp b/include/flux/op/cartesian_power_map.hpp index 45c8a536..4e288faa 100644 --- a/include/flux/op/cartesian_power_map.hpp +++ b/include/flux/op/cartesian_power_map.hpp @@ -7,6 +7,7 @@ #define FLUX_OP_CARTESIAN_POWER_MAP_HPP_INCLUDED #include +#include namespace flux { diff --git a/include/flux/op/requirements.hpp b/include/flux/op/requirements.hpp index 21bcf57e..0d059ddc 100644 --- a/include/flux/op/requirements.hpp +++ b/include/flux/op/requirements.hpp @@ -25,6 +25,23 @@ concept foldable_ = } // namespace detail +namespace detail { + +template +struct repeated_invocable_helper { + template + using repeater = E; + + static inline constexpr bool value = [] (std::index_sequence) consteval { + return std::regular_invocable...>; + }(std::make_index_sequence{}); +}; + +template +concept repeated_invocable = repeated_invocable_helper::value; + +} // namespace detail + FLUX_EXPORT template concept foldable =