![]() |
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)) { }