GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::remove_extent(3) C++ Standard Libary std::remove_extent(3)

std::remove_extent - std::remove_extent


Defined in header <type_traits>
template< class T > (since C++11)
struct remove_extent;


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.


The behavior of a program that adds specializations for remove_extent is undefined.


Name Definition
type the type of the element of T


template< class T > (since C++14)
using remove_extent_t = typename remove_extent<T>::type;


template<class T>
struct remove_extent { typedef T type; };


template<class T>
struct remove_extent<T[]> { typedef T type; };


template<class T, std::size_t N>
struct remove_extent<T[N]> { typedef T type; };

// Run this code


#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]);
}


4 5 6


is_array checks if a type is an array type
(C++11) (class template)
rank obtains the number of dimensions of an array type
(C++11) (class template)
extent obtains the size of an array type along a specified dimension
(C++11) (class template)
remove_all_extents removes all extents from the given array type
(C++11) (class template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.