template<class... Types> constexpr void swap(variant<Types...>& v, variant<Types...>& w) noexcept(see below);