[#bsl-decay_imp-03]
= xref:bsl.adoc[bsl]::decay&lowbar;imp
:relfileprefix: ../
:mrdocs:

Component&hyphen;private implementation of `decay`&period; Do not use&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class t&lowbar;TYPE,
    bool t&lowbar;IS&lowbar;ARRAY,
    bool t&lowbar;IS&lowbar;FUNC&gt;
struct decay&lowbar;imp
    : xref:bsl/remove_cv.adoc[remove&lowbar;cv&lt;t&lowbar;TYPE&gt;]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:bsl/remove_cv.adoc[remove&lowbar;cv&lt;t&lowbar;TYPE&gt;]`
| Meta&hyphen;function for removing top&hyphen;level cv&hyphen;qualifiers from a type&period;
|===

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/remove_cv/type.adoc[`type`] 
| This `typedef` is an alias to the same type as the (template parameter) `t&lowbar;TYPE` except that any top&hyphen;level cv&hyphen;qualifier has been removed&period;
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:bsl/decay_imp-00.adoc[`decay&lowbar;imp&lt;t&lowbar;TYPE, false, true&gt;`] 
| Component&hyphen;private specialization of `decay&lowbar;imp` for function types&period;
| xref:bsl/decay_imp-09.adoc[`decay&lowbar;imp&lt;t&lowbar;TYPE, true, false&gt;`] 
| Component&hyphen;private specialization of `decay&lowbar;imp` for array types&period;
|===



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