[#bsl-remove_extent-06]
= xref:bsl.adoc[bsl]::remove&lowbar;extent
:relfileprefix: ../
:mrdocs:

Metafunction that returns the element type of an array&period;

== Synopsis

Declared in `&lt;bslmf&lowbar;removeextent&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TYPE&gt;
struct remove&lowbar;extent;
----

== Description

From the C&plus;&plus;14 standard&colon; If `T` names a type &quot;array of `U`&quot;, the member typedef `type` shall be `U`, otherwise `T`&period; &lsqb; _Note&colon;_ For&rsqb; multidimensional arrays, only the first array dimension is removed&period; For a type &quot;array of `const U`&quot;, the resulting type is `const U`&period; &hyphen;&hyphen; &ast;end note&ast; &rsqb;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/remove_extent-06/type.adoc[`type`] 
| This `typedef` is an alias to `t&lowbar;TYPE` when `t&lowbar;TYPE` is not an array type&period;
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:bsl/remove_extent-02.adoc[`remove&lowbar;extent&lt;t&lowbar;TYPE[]&gt;`] 
| Specialization of `remove&lowbar;extent` for array of unknown bound
| xref:bsl/remove_extent-05.adoc[`remove&lowbar;extent&lt;t&lowbar;TYPE[]&gt;`] 
| Specialization of `remove&lowbar;extent` for array of known bound
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
