Namespaces
Variants

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

From cppreference.net
protected :
void swap ( basic_ostream & 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 ( ) , 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 de sortie échangeables std::basic_ofstream et std::basic_ostringstream , qui savent comment échanger correctement les tampons de flux associés.

Paramètres

rhs - un basic_ostream du même type à échanger

Exemple

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

Sortie :

hello