Namespaces
Variants

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

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

Llama a basic_ios :: swap ( rhs ) para intercambiar todos los miembros de datos de la clase base, excepto rdbuf ( ) , entre * this y rhs . Esta función de intercambio está protegida: es llamada por las funciones de intercambio de las clases de flujo de salida intercambiables std::basic_ofstream y std::basic_ostringstream , que saben cómo intercambiar correctamente los búferes de flujo asociados.

Parámetros

rhs - un basic_ostream del mismo tipo para intercambiar

Ejemplo

#include <iostream>
#include <sstream>
#include <utility>
int main()
{
    std::ostringstream s1("hello");
    std::ostringstream s2("bye");
    s1.swap(s2); // OK, ostringstream tiene un swap() público
    std::swap(s1, s2); // OK, llama a s1.swap(s2)
//  std::cout.swap(s2); // ERROR: swap es un miembro protegido
    std::cout << s1.str() << '\n';
}

Salida:

hello