home | help
std::basic_istream::swap(3)    C++ Standard Libary   std::basic_istream::swap(3)

NAME
     std::basic_istream::swap - std::basic_istream::swap

Synopsis
	protected:			  (since C++11)
	void swap( basic_istream& rhs );

	Calls  basic_ios::swap(rhs)  to  swap all data members of the base class
     except for
	rdbuf(), and swaps the values of the gcount() counters between *this and
     rhs. This
	swap function is protected: it is called by the swap  functions  of  the
     swappable
	input  stream  classes std::basic_ifstream and std::basic_istringstream,
     which know
	how to correctly swap the associated streambuffers.

Parameters
	rhs - different basic_istream object of the same type to swap with

Example
     // Run this code

      #include <iostream>
      #include <sstream>
      #include <utility>

      int main()
      {
	  std::istringstream s1("hello");
	  std::istringstream s2("bye");

	  s1.swap(s2); // OK, istringstream has a public swap()
	  std::swap(s1, s2); // OK, calls s1.swap(s2)
      //  std::cin.swap(s2); // ERROR: swap is a protected member

	  std::cout << s1.rdbuf() << '\n';
      }

Output:
      hello

http://cppreference.com 	   2024.06.10	     std::basic_istream::swap(3)

home | help