Namensräume
Varianten
Aktionen

std::basic_filebuf<CharT,Traits>::operator=

Von cppreference.com
< cpp‎ | io‎ | basic filebuf
 
 
 
 
(1) (seit C++11)
std::basic_filebuf& operator=( const std::basic_filebuf& rhs ) = delete;
(2)

Weist einem anderen basic_filebuf-Objekt zu.

1) Ruft zuerst close() auf, um die zugeordnete Datei zu schließen, und verschiebt dann den Inhalt von rhs in *this: die Lese- und Schreibpuffer, die zugeordnete Datei, die Locale, den Öffnungsmodus, das is_open-Flag und jeden anderen Zustand. Nach dem Verschieben ist rhs nicht mehr mit einer Datei verbunden und rhs.is_open() == false.
2) Der Kopierzuweisungsoperator ist gelöscht; basic_filebuf ist nicht CopyAssignable.

Inhalt

[bearbeiten] Parameter

rhs - ein weiterer basic_filebuf, von dem verschoben wird

[bearbeiten] Rückgabewert

*this

[bearbeiten] Beispiel

#include <cassert>
#include <fstream>
#include <iostream>
#include <string>
 
int main()
{
    std::ofstream{"test.in"} << "test\n"; // writes via a temporary object
    std::ifstream fin("test.in"); // read-only stream
    std::ofstream fout("test.out"); // write-only stream
 
    std::string s;
    std::getline(fin, s);
    std::cout << "s = [" << s << "]\n"; // s contains "test"
 
    assert(fout.is_open());
    *fin.rdbuf() = std::move(*fout.rdbuf());
    assert(!fout.is_open());
 
    std::getline(fin, s);
    std::cout << "s = [" << s << "]\n"; // s is empty input
}

Ausgabe

s = [test]
s = []

[bearbeiten] Siehe auch

konstruiert ein basic_filebuf Objekt
(public member function) [edit]
(C++11)
tauscht zwei basic_filebuf Objekte
(public member function) [edit]