Namespaces
Variants

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

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

Intercambia el estado y el contenido de * this y rhs .

Contenidos

Parámetros

rhs - otro basic_filebuf

Valor de retorno

(ninguno)

Notas

Esta función se llama automáticamente al intercambiar std::fstream objetos, rara vez es necesario llamarla directamente.

Ejemplo

#include <fstream>
#include <iostream>
#include <string>
int main()
{
    std::ifstream fin("test.in"); // solo lectura
    std::ofstream fout("test.out"); // solo escritura
    std::string s;
    getline(fin, s);
    std::cout << s << '\n'; // muestra la primera línea de test.in
    fin.rdbuf()->swap(*fout.rdbuf()); // intercambia los buffers subyacentes
    getline(fin, s); // falla: no se puede leer de un filebuf de solo escritura
    std::cout << s << '\n'; // imprime una línea vacía
}

Véase también

(C++11)
asigna un objeto basic_filebuf
(función miembro pública)
especializa el algoritmo std::swap
(plantilla de función)
(C++11)
intercambia dos flujos de archivo
(función miembro pública de std::basic_fstream<CharT,Traits> )