##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# 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)

### [edit] Parameters

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

### [edit] Return value

(none)

### [edit] Exceptions

`noexcept` specification:
noexcept

### [edit] Complexity

Constant

### [edit] See also

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

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