Exchange the values of two std::experimental::shared_ptr objects such that
each holds the value and ownership properties that the other did prior
to the exchange.
void swap(shared_ptr& other) noexcept;
Exchange the value and ownership properties of *this with other.
Nothing.
#include <experimental/atomic>