# std::swap(std::unique_ptr)

From cppreference.com
< cpp‎ | memory‎ | unique ptr

template< class T, class Deleter > void swap( unique_ptr<T,Deleter>& lhs, unique_ptr<T,Deleter>& rhs ); |  | (since C++11)

Specializes the std::swap algorithm for std::unique_ptr. Swaps the pointers of `lhs` and `rhs`. Calls lhs.swap(rhs).

This function does not participate in overload resolution unless std::is_swappable<D>::value is true. | (since C++17)

### Parameters

lhs, rhs | - | smart pointers whose contents to swap

### Return value

(none)

### Exceptions

`noexcept` specification:
noexcept

### Complexity

Constant

### See also

swap | swaps the values of two objects (function template)
swap | swaps the contents (public member function)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/unique_ptr/swap2&oldid=42071"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template