std::extent (3) - Linux Manuals
std::extent: std::extent
NAME
Synopsis
Defined in header <type_traits>
template< class T, unsigned N = 0> (since C++11)
struct extent;
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 > (since C++17)
inline constexpr std::size_t extent_v = extent<T, N>::value;
Inherited from std::integral_constant
Member constants
value the number of elements along the Nth dimension of T
[static]
Member functions
operator std::size_t (public member function)
operator() returns value
(C++14)
Member types
Type Definition
value_type std::size_t
type std::integral_constant<std::size_t, value>
Possible implementation
Example
// Run this code
Output:
See also
is_array checks if a type is an array type
(C++11)
rank obtains the number of dimensions of an array type
(C++11)
remove_extent removes one extent from the given array type
(C++11)
remove_all_extents removes all extents from the given array type
(C++11)