[#BloombergLP-bslmf-MovableRefUtil]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::MovableRefUtil
:relfileprefix: ../../
:mrdocs:

Utility functions for operating on `MovableRef` objects&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct MovableRefUtil;
----

== Description

This `struct` provides a collection of utility functions operating on objects of type `MovableRef&lt;t&lowbar;TYPE&gt;`&period; The primary use of these utilities is to create a consistent notation for using the C&plus;&plus;03 `MovableRef&lt;t&lowbar;TYPE&gt;` objects and the C&plus;&plus;11 `t&lowbar;TYPE&amp;&amp;` r&hyphen;value references&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/MovableRefUtil/AddLvalueReference.adoc[`AddLvalueReference`] 
| Metafunction that adds an lvalue reference to `t&lowbar;TYPE`&period;
| xref:BloombergLP/bslmf/MovableRefUtil/AddMovableReference.adoc[`AddMovableReference`] 
| Metafunction that adds a movable reference to `t&lowbar;TYPE`&period;
| xref:BloombergLP/bslmf/MovableRefUtil/Decay.adoc[`Decay`] 
| Metafunction that applies decay conversions to `t&lowbar;TYPE`&period;
| xref:BloombergLP/bslmf/MovableRefUtil/IsLvalueReference.adoc[`IsLvalueReference`] 
| Boolean metafunction that is true if `t&lowbar;TYPE` is an lvalue reference&period;
| xref:BloombergLP/bslmf/MovableRefUtil/IsMovableReference.adoc[`IsMovableReference`] 
| Boolean metafunction that is true if `t&lowbar;TYPE` is a `MovableRef`&period;
| xref:BloombergLP/bslmf/MovableRefUtil/IsReference.adoc[`IsReference`] 
| Boolean metafunction that is true if `t&lowbar;TYPE` is a reference type&period;
| xref:BloombergLP/bslmf/MovableRefUtil/RemoveReference.adoc[`RemoveReference`] 
| Metafunction that removes reference qualification from `t&lowbar;TYPE`&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/MovableRefUtil/access.adoc[`access`] 
| Return an lvalue reference to the object referenced by the specified `ref` object&period;
| xref:BloombergLP/bslmf/MovableRefUtil/move.adoc[`move`] 
| Return a movable reference to the object referred to by the specified `reference`&period;
| xref:BloombergLP/bslmf/MovableRefUtil/move_if_noexcept-0e.adoc[`move&lowbar;if&lowbar;noexcept`] 
| `move&lowbar;if&lowbar;noexcept` overloads
|===



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