5 #ifndef VCCC_UTILITY_SEQUENCE_FOR_EACH_HPP_
6 #define VCCC_UTILITY_SEQUENCE_FOR_EACH_HPP_
20 template<
typename Seq,
typename F>
21 struct sequence_for_each_invocable : std::false_type {};
23 template<
typename T, T... v,
typename F>
24 struct sequence_for_each_invocable<
std::integer_sequence<T, v...>, F>
26 is_invocable<F, std::integral_constant<T, v>>...
35 template<
typename T, T... v,
typename F>
36 constexpr std::enable_if_t<detail::sequence_for_each_invocable<std::integer_sequence<T, v...>, F>
::value>
45 template<
typename T, T N,
typename F>
46 constexpr std::enable_if_t<detail::sequence_for_each_invocable<std::make_integer_sequence<T, N>, F>
::value>
52 template<std::
size_t N,
typename F>
53 constexpr std::enable_if_t<detail::sequence_for_each_invocable<std::make_index_sequence<N>, F>
::value>
constexpr invoke_result_t< F, Args... > invoke(F &&f, Args &&... args) noexcept(is_nothrow_invocable< F, Args... >::value)
Definition: invoke.hpp:38
constexpr std::enable_if_t< detail::sequence_for_each_invocable< std::integer_sequence< T, v... >, F >::value > sequence_for_each(std::integer_sequence< T, v... >, F &&f)
performs f(std::integral_constant<T, i>{}) for i in v...
Definition: sequence_for_each.hpp:37
Definition: matrix.hpp:495
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35