5 #ifndef VCCC_ARRAY_TO_ARRAY_HPP_
6 #define VCCC_ARRAY_TO_ARRAY_HPP_
10 #include <type_traits>
16 template<
typename T, std::size_t N, std::size_t... I>
17 constexpr std::array<std::remove_cv_t<T>, N> to_array_impl(T (&a)[N], std::index_sequence<I...>) {
21 template<
typename T, std::size_t N, std::size_t... I>
22 constexpr std::array<std::remove_cv_t<T>, N> to_array_impl(T (&&a)[N], std::index_sequence<I...>) {
23 return {{std::move(a[I])...}};
32 constexpr std::array<std::remove_cv_t<T>, N>
to_array(T (&a)[N]) {
33 return vccc::detail::to_array_impl(a, std::make_index_sequence<N>{});
37 constexpr std::array<std::remove_cv_t<T>, N>
to_array(T (&&a)[N]) {
38 return vccc::detail::to_array_impl(std::move(a), std::make_index_sequence<N>{});
constexpr std::array< std::remove_cv_t< T >, N > to_array(T(&a)[N])
Definition: to_array.hpp:32
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35