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