tuple::operator=
tuple& operator=(const tuple& right);
template <class... Types2>
tuple& operator=(const tuple<Types2...>& right);
template <class U1, class U2>
tuple& operator=(const pair<U1, U2>& right);
tuple& operator=(tuple&& right);
template <class... Types2>
tuple& operator=(tuple<Types2...>&& right);
template <class U1, class U2>
tuple& operator=(pair<U1, U2>&& right);
The first two member operators assign the elements of right to the corresponding elements of *this. The third member operator assigns right.first to the element at index 0 of *this and right.second to the element at index 1. All three member operators return *this.