[#BloombergLP-bsltf-DegenerateFunctor-exchangeValues]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bsltf.adoc[bsltf]::xref:BloombergLP/bsltf/DegenerateFunctor.adoc[DegenerateFunctor]::exchangeValues
:relfileprefix: ../../../
:mrdocs:

Swap the wrapped `FUNCTOR` object, by move&hyphen;constructing a temporary object from the specified `&ast;other`, then alternately destroying and in&hyphen;place move&hyphen;constructing new values for each of `&ast;other` and `&ast;this`&period; Note that this function is deliberately _not_ named `swap` as some &quot;clever&quot; template libraries may try to call a member&hyphen;swap function when they can find it, and ADL&hyphen;swap is not available&period; Also note that this overload is needed only so that the ADL&hyphen;enabling free&hyphen;function `swap` can be defined, as the native std library `std&colon;&colon;swap` function will not accept this class (with its deliberate degenerate nature) on AIX, or on Windows with Visual C&plus;&plus; prior to VC2010&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void
exchangeValues(xref:BloombergLP/bsltf/DegenerateFunctor.adoc[DegenerateFunctor]* other);
----


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