template<class T, size_t N>
constexpr array<remove_cv_t<T>, N> to_array(T (&a)[N]);
Mandates: is_array_v<T> is
false and
is_constructible_v<T, T&> is
true. Preconditions: T meets the
Cpp17CopyConstructible requirements
. Returns: {{ a[0], …, a[N - 1] }}. template<class T, size_t N>
constexpr array<remove_cv_t<T>, N> to_array(T (&&a)[N]);
Mandates: is_array_v<T> is
false and
is_move_constructible_v<T> is
true. Preconditions: T meets the
Cpp17MoveConstructible requirements
. Returns: {{ std::move(a[0]), …, std::move(a[N - 1]) }}.