[#BloombergLP-bslmf-MovableRefUtil_Decay] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::MovableRefUtil_Decay :relfileprefix: ../../ :mrdocs: forward declaration == Synopsis Declared in `<bslmf_movableref.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct MovableRefUtil_Decay : xref:bsl/decay.adoc[bsl::decay<t_TYPE>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/decay.adoc[bsl::decay<t_TYPE>]` | Metafunction to return the variant of the specified parameter `t_TYPE` used for pass‐by‐reference, e.g., by applying array‐to‐pointer and function‐to‐pointer conversion. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/decay/type.adoc[`type`] | This `typedef` is an alias to the decayed form of `t_TYPE`. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/MovableRefUtil/Decay.adoc[`Decay`] | This `struct` template provides a metafunction that defines a nested `type` typedef that applies lvalue‐to‐rvalue, array‐to‐pointer, and function‐to‐pointer conversions that occur when an lvalue of type `t_TYPE` is used as an rvalue, and also removes `const`, `volatile`, and reference qualifiers from class types in order to model by‐value argument passing. For the purpose of this type trait, `MovableRef<T>` is considered a (movable) reference‐qualified `T`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#