# std::swap(std::variant)

From cppreference.com
< cpp‎ | utility‎ | variant

Defined in header `<variant>` |  |
template <class... Types> void swap(variant<Types...>& lhs, variant<Types...>& rhs) noexcept(/* see below */); |  | (since C++17)

Overloads the std::swap algorithm for std::variant. Effectively calls lhs.swap(rhs).

This overload only participates in overload resolution if is_move_constructible_v<T_i> and is_swappable_v<T_i> are both true for all `T_i` in `Types...`

### Parameters

lhs, rhs | - | `variant` objects whose values to swap

### Return value

(none)

### Exceptions

`noexcept` specification:
noexcept(noexcept(lhs.swap(rhs)))

### Example

| This section is incomplete Reason: no example

### See also

swap | swaps with another variant (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/variant/swap2&oldid=105617"