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.