Home | Libraries | People | FAQ | More |
The header <boost/core/exchange.hpp> provides the function template
boost::exchange
which is an implementation of
the std::exchange
function introduced in C++14.
boost::exchange(o, v)
replaces the value of o
with v
and returns the old
value of o
.
The following example shows boost::exchange
used to simplify the implementation of a move constructor.
Node(Node&& other) : head_(boost::exchange(other.head_, nullptr)) , tail_(boost::exchange(other.tail_, nullptr)) { }