23 General utilities library [utilities]
template <class... Types>
void swap(variant<Types...>& v, variant<Types...>& w) noexcept(see below);
Effects: Equivalent to
v.swap(w). Remarks: This function shall not participate in overload resolution
unless
is_move_constructible_v<> && is_swappable_v<>
is
true for all
i. The expression inside
noexcept is equivalent to
noexcept(v.swap(w)).