std::experimental::propagate_const::swap

From cppreference.com
constexpr void swap(propagate_const & pt);
(library fundamentals TS v2)

Swaps the wrapped pointer with that of pt. Let t_ designate the private data member that is the wrapped pointer-like object, then this function is equivalent to swap(t_, pt.t_).

[edit] Parameters

pt - another propagate_const object to swap with

[edit] Exceptions

noexcept specification:  
noexcept(noexcept(swap(t_, pt.t_)))