[array.creation] # 23 Containers library [[containers]](./#containers) ## 23.3 Sequence containers [[sequences]](sequences#array.creation) ### 23.3.3 Class template array [[array]](array#creation) #### 23.3.3.6 Array creation functions [array.creation] [🔗](#lib:to_array) `template constexpr array, N> to_array(T (&a)[N]); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L6344) *Mandates*: is_array_v is false andis_constructible_v, T&> is true[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L6349) *Preconditions*: T meets the *Cpp17CopyConstructible* requirements[.](#2.sentence-1) [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L6353) *Returns*: {{ a[0], …, a[N - 1] }}[.](#3.sentence-1) [🔗](#lib:to_array_) `template constexpr array, N> to_array(T (&&a)[N]); ` [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L6365) *Mandates*: is_array_v is false andis_constructible_v, T> is true[.](#4.sentence-1) [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L6370) *Preconditions*: T meets the *Cpp17MoveConstructible* requirements[.](#5.sentence-1) [6](#6) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L6374) *Returns*: {{ std​::​move(a[0]), …, std​::​move(a[N - 1]) }}[.](#6.sentence-1)