13 template <
typename T, std::
size_t N>
14 constexpr std::array<T, N> to_array(
const T (&arr)[N]) {
15 std::array<T, N> result{};
16 std::copy(std::begin(arr), std::end(arr), result.begin());
20 template <
typename T,
typename... Args>
21 constexpr std::array<T,
sizeof...(Args)> to_array(Args&&... args) {
22 return std::array<T,
sizeof...(Args)>{
static_cast<T
>(std::forward<Args>(args))...};