21 Metaprogramming library [meta]

21.3 Metaprogramming and type traits [type.traits]

21.3.8 Transformations between types [meta.trans]

21.3.8.5 Array modifications [meta.trans.arr]

Table 54: Array modifications [tab:meta.trans.arr]
Template
Comments
template<class T>
struct remove_­extent;
If T is a type โ€œarray of Uโ€, the member typedef type denotes U, otherwise T.
[Note 1:
For multidimensional arrays, only the first array dimension is removed.
For a type โ€œarray of const Uโ€, the resulting type is const U.
โ€” end note]
template<class T>
struct remove_­all_­extents;
If T is โ€œmulti-dimensional array of Uโ€, the resulting member typedef type denotes U, otherwise T.