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

Constructors

== Synopses

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

Create object an object in the `e&lowbar;NOT&lowbar;COPIED&lowbar;OR&lowbar;MOVE` state&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-01.adoc[CopyMoveTracker]();
----

[.small]#xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-01.adoc[_» more&period;&period;&period;_]#

Create object an object in the `e&lowbar;COPIED&lowbar;NONCONST&lowbar;INTO` state&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-00.adoc[CopyMoveTracker](xref:BloombergLP/bsltf/CopyMoveTracker.adoc[CopyMoveTracker]& original);
----

[.small]#xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-00.adoc[_» more&period;&period;&period;_]#

Create object an object in the `e&lowbar;COPIED&lowbar;CONST&lowbar;INTO` state&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-0e.adoc[CopyMoveTracker](xref:BloombergLP/bsltf/CopyMoveTracker.adoc[CopyMoveTracker] const& original);
----

[.small]#xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-0e.adoc[_» more&period;&period;&period;_]#

Create object an object in the `e&lowbar;MOVED&lowbar;INTO` state and set the state of `original` to the bitwise OR of its inititial state and `e&lowbar;MOVED&lowbar;FROM`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-0d.adoc[CopyMoveTracker](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef&lt;CopyMoveTracker&gt;] original);
----

[.small]#xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-0d.adoc[_» more&period;&period;&period;_]#

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;


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

[.small]#xref:BloombergLP/bsltf/CopyMoveTracker/2constructor-06.adoc[_» more&period;&period;&period;_]#


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