Namespaces
Variants

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

From cppreference.net
void swap ( std:: basic_filebuf & rhs ) ;
(начиная с C++11)

Обменивает состояние и содержимое * this и rhs .

Содержание

Параметры

rhs - другой basic_filebuf

Возвращаемое значение

(нет)

Примечания

Эта функция вызывается автоматически при обмене std::fstream объектов, редко возникает необходимость вызывать её напрямую.

Пример

#include <fstream>
#include <iostream>
#include <string>
int main()
{
    std::ifstream fin("test.in"); // только для чтения
    std::ofstream fout("test.out"); // только для записи
    std::string s;
    getline(fin, s);
    std::cout << s << '\n'; // выводит первую строку из test.in
    fin.rdbuf()->swap(*fout.rdbuf()); // обменять базовые буферы
    getline(fin, s); // ошибка: невозможно читать из filebuf только для записи
    std::cout << s << '\n'; // выводит пустую строку
}

Смотрите также

(C++11)
присваивает объект basic_filebuf
(публичная функция-член)
специализирует алгоритм std::swap
(шаблон функции)
(C++11)
обменивает два файловых потока
(публичная функция-член std::basic_fstream<CharT,Traits> )