[#BloombergLP-bslmf-MovableRefUtil_AddMovableReference] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::MovableRefUtil_AddMovableReference :relfileprefix: ../../ :mrdocs: forward declaration == Synopsis Declared in `<bslmf_movableref.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct MovableRefUtil_AddMovableReference : xref:bsl/add_rvalue_reference-00.adoc[bsl::add_rvalue_reference<t_TYPE>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/add_rvalue_reference-00.adoc[bsl::add_rvalue_reference<t_TYPE>]` | This `struct` template implements a meta‐function to transform the (template parameter) `t_TYPE` to its rvalue reference type. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/add_rvalue_reference-00/type.adoc[`type`] | This `typedef` is an alias to the return type of this meta‐function. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/MovableRefUtil/AddMovableReference.adoc[`AddMovableReference`] | This `struct` template provides a metafunction that defines a nested `type` typedef that, if `t_TYPE` is not a reference type, is `MovableRef<t_TYPE>`. Otherwise, if `t_TYPE` is a specialization of `MovableRef`, `type` is the same as `t_TYPE`. Otherwise, `type` is `t_TYPE&`. This transformation reflects the semantics of _reference collapsing_ in section [dec.ref]of the standard. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#