[#BloombergLP-bsltf-CopyMoveTracker-2constructor-06]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bsltf.adoc[bsltf]::xref:BloombergLP/bsltf/CopyMoveTracker.adoc[CopyMoveTracker]::CopyMoveTracker
:relfileprefix: ../../../
:mrdocs:

Move&hyphen;construct this object from a derived&hyphen;class rvalue&period;

== Synopsis

Declared in `&lt;bsltf&lowbar;copymovetracker&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class DERIVED&gt;
CopyMoveTracker(xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;DERIVED&gt;] original)
requires bsl&colon;&colon;is&lowbar;convertible&lt;DERIVED&ast;,
                           CopyMoveTracker&ast;&gt;&colon;&colon;value;
----

== Description

Create object an object in the `e&lowbar;MOVED&lowbar;INTO` state and set the state of `original` to the bitwise OR of its initial state and `e&lowbar;MOVED&lowbar;FROM`&period; This constructor will not participate in overload resolution unless a `DERIVED` is derived from `CopyMoveTracker`&semi; in C&plus;&plus;03, therefore, this constructor will simulate automatic derived&hyphen;to&hyphen;base conversion of rvalue references&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *original*
| object to move from
|===


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