|  | 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)) { }