[#bsl-add_rvalue_reference-00]
= xref:bsl.adoc[bsl]::add&lowbar;rvalue&lowbar;reference
:relfileprefix: ../
:mrdocs:

This `struct` template implements a meta&hyphen;function to transform the (template parameter) `t&lowbar;TYPE` to its rvalue reference type&period;

== Synopsis

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

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

== 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&hyphen;function&period;
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:bsl/add_rvalue_reference-0b.adoc[`add&lowbar;rvalue&lowbar;reference&lt;void&gt;`] 
| This partial specialization of `add&lowbar;rvalue&lowbar;reference` defines the return type when it is instantiated with the `void` type&period;
| xref:bsl/add_rvalue_reference-09.adoc[`add&lowbar;rvalue&lowbar;reference&lt;void volatile&gt;`] 
| This partial specialization of `add&lowbar;rvalue&lowbar;reference` defines the return type when it is instantiated with the `void volatile` type&period;
| xref:bsl/add_rvalue_reference-06.adoc[`add&lowbar;rvalue&lowbar;reference&lt;void const&gt;`] 
| This partial specialization of `add&lowbar;rvalue&lowbar;reference` defines the return type when it is instantiated with the `void const` type&period;
| xref:bsl/add_rvalue_reference-03.adoc[`add&lowbar;rvalue&lowbar;reference&lt;void const volatile&gt;`] 
| This partial specialization of `add&lowbar;rvalue&lowbar;reference` defines the return type when it is instantiated with the `void const volatile` type&period;
|===


== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/MovableRefUtil_AddMovableReference.adoc[`MovableRefUtil&lowbar;AddMovableReference`] 
| forward declaration
|===


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