Defined in header <type_traits> template< class T, unsigned N = 0>
struct extent; (since C++11)
If T is an array type, provides the member constant value equal to the number of elements along the Nth dimension of the array, if N is in [0, std::rank<T>::value). For any other type, or if T is array of unknown bound along its first dimension and N is 0, value is 0.
Helper variable template
template< class T, unsigned N = 0 >
constexpr std::size_t extent