25#ifdef __cpp_lib_to_array
33template <
typename T,
size_t kSize,
size_t... kIndices>
34constexpr std::array<std::remove_cv_t<T>, kSize> CopyArray(
35 const T (&values)[kSize], std::index_sequence<kIndices...>) {
36 return {{values[kIndices]...}};
39template <
typename T,
size_t kSize,
size_t... kIndices>
40constexpr std::array<std::remove_cv_t<T>, kSize> MoveArray(
41 T (&&values)[kSize], std::index_sequence<kIndices...>) {
42 return {{std::move(values[kIndices])...}};
54template <
typename T,
size_t kSize>
55constexpr std::array<std::remove_cv_t<T>, kSize>
to_array(T (&values)[kSize]) {
56 return impl::CopyArray(values, std::make_index_sequence<kSize>{});
59template <
typename T,
size_t kSize>
60constexpr std::array<std::remove_cv_t<T>, kSize>
to_array(T (&&values)[kSize]) {
61 return impl::MoveArray(std::move(values), std::make_index_sequence<kSize>{});
constexpr std::array< std::remove_cv_t< T >, kSize > to_array(T(&values)[kSize])
Definition: to_array.h:55
The Pigweed namespace.
Definition: alignment.h:27