Namespaces
Variants

std::basic_istream<CharT,Traits>:: swap

From cppreference.net
protected :
void swap ( basic_istream & rhs ) ;
(depuis C++11)

Appelle basic_ios :: swap ( rhs ) pour échanger tous les membres de données de la classe de base à l'exception de rdbuf() , et échange les valeurs des compteurs gcount() entre * this et rhs . Cette fonction d'échange est protégée : elle est appelée par les fonctions d'échange des classes de flux d'entrée échangeables std::basic_ifstream et std::basic_istringstream , qui savent comment échanger correctement les tampons de flux associés.

Paramètres

rhs - autre objet basic_istream du même type à échanger

Exemple

#include <iostream>
#include <sstream>
#include <utility>
int main()
{
    std::istringstream s1("hello");
    std::istringstream s2("bye");
    s1.swap(s2); // OK, istringstream a un swap() public
    std::swap(s1, s2); // OK, appelle s1.swap(s2)
//  std::cin.swap(s2); // ERREUR : swap est un membre protégé
    std::cout << s1.rdbuf() << '\n';
}

Sortie :

hello