diff --git a/include/flux/core/utils.hpp b/include/flux/core/utils.hpp index 927b7c43..5f68dc17 100644 --- a/include/flux/core/utils.hpp +++ b/include/flux/core/utils.hpp @@ -69,35 +69,10 @@ template inline constexpr auto checked_cast = detail::checked_cast_fn{}; namespace detail { -template -struct disjunction_t { // handle true trait or last trait - using type = First; -}; - - -template -struct disjunction_t { // first trait is false, try the next trait - using type = typename disjunction_t::type; -}; - -template -struct disjunction : std::false_type {}; // If _Traits is empty, false_type - -template -struct disjunction - : disjunction_t::type { - // the first true trait in _Traits, or the last trait if none are true -}; - -template -inline constexpr bool disjunction_v = disjunction::value; - -// VARIABLE TEMPLATE _Is_any_of_v -template -inline constexpr bool is_any_of = disjunction_v...>; -; +template +concept any_of = (std::same_as || ...); } // namespace detail + } // namespace flux #endif diff --git a/include/flux/op/split_string.hpp b/include/flux/op/split_string.hpp index 52073eb0..bf1c456f 100644 --- a/include/flux/op/split_string.hpp +++ b/include/flux/op/split_string.hpp @@ -7,6 +7,7 @@ #define FLUX_STRING_SPLIT_HPP_INCLUDED #include +#include #include @@ -14,9 +15,6 @@ namespace flux { namespace detail { -template -concept any_of = (std::same_as || ...); - template concept character = any_of;