BloombergLP::bsltf::DegenerateFunctor::exchangeValues

Swap the wrapped FUNCTOR values with those of the specified other.

Synopsis

Declared in <bsltf_degeneratefunctor.h>

void
exchangeValues(DegenerateFunctor* other);

Description

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

Parameters

NameDescription
otherobject with which to exchange values