| Home | Libraries | People | FAQ | More

### remove_extent

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

    template <class T> using remove_extent_t = typename remove_extent<T>::type; // C++11 and above

type: If `T` is an array type, then removes the topmost array bound, otherwise leaves `T` unchanged.

C++ Standard Reference: 8.3.4.

Compiler Compatibility: All current compilers are supported by this trait.

Header: `#include <boost/type_traits/remove_extent.hpp>` or `#include <boost/type_traits.hpp>`

Table 1.33. Examples

Expression | Result Type
--- | ---
`remove_extent<int>::type` | `int`
`remove_extent<int const[2]>::type` | `int const`
`remove_extent<int[2][4]>::type` | `int[4]`
`remove_extent<int[][2]>::type` | `int[2]`
`remove_extent<int const*>::type` | `int const*`