Scroll to navigation

std::basic_istream::operator=(3) C++ Standard Libary std::basic_istream::operator=(3)

NAME

std::basic_istream::operator= - std::basic_istream::operator=

Synopsis


protected: (1)
basic_istream& operator=( const basic_istream& rhs ) = delete;
protected: (2) (since C++11)
basic_istream& operator=( basic_istream&& rhs );


1) The copy assignment operator is protected, and is deleted. Input streams are not
CopyAssignable.


2) The move assignment operator exchanges the gcount() values and all data members
of the base class, except for rdbuf(), with rhs, as if by calling swap(*rhs). This
move assignment operator is protected: it is only called by the move assignment
operators of the derived movable input stream classes std::basic_ifstream and
std::basic_istringstream, which know how to correctly move-assign the associated
streambuffers.

Parameters


rhs - the basic_istream object from which to assign to *this

Example

// Run this code


#include <sstream>
#include <iostream>


int main()
{
std::istringstream s1;
s1 = std::istringstream("test"); // OK


std::cin = std::istringstream("test"); // ERROR: 'operator=' is protected
}

2022.07.31 http://cppreference.com