Defined in header <type_traits> | ||||
---|---|---|---|---|
| (since C++11) |
If T
is an array of some type X
, provides the member typedef type
equal to X
, otherwise type
is T
. Note that if T is a multidimensional array, only the first dimension is removed.
Member types
Name | Definition |
---|---|
type | the type of the element of T |
Helper types
| (since C++14) |
Possible implementation
|
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> #include <iterator> #include <algorithm> #include <type_traits> template < class A> typename std::enable_if< std::rank<A>::value == 1 >::type print_1d( const A& a) { copy(a, a+std::extent<A>::value, std::ostream_iterator< typename std::remove_extent<A>::type>(std::cout, " " )); std::cout << '\n' ; } int main() { int a[][3] = {{1,2,3},{4,5,6}}; // print_1d(a); // compile-time error print_1d(a[1]); } |
Output:
1 | 4 5 6 |
See also
(C++11) | checks if a type is an array type (class template) |
(C++11) | obtains the number of dimensions of an array type (class template) |
(C++11) | obtains the size of an array type along a specified dimension (class template) |
(C++11) | removes all extents from the given array type (class template) |
Please login to continue.