Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | io‎ | basic istream
 
 
 
 
protected:
void swap( basic_istream& rhs );
(seit C++11)

Ruft basic_ios::swap(rhs) auf, um alle Datenmember der Basisklasse mit Ausnahme von rdbuf() zu tauschen, und tauscht die Werte der gcount()-Zähler zwischen *this und rhs. Diese Swap-Funktion ist geschützt: sie wird von den Swap-Funktionen der austauschbaren Eingabe-Stream-Klassen std::basic_ifstream und std::basic_istringstream aufgerufen, die wissen, wie die zugehörigen Streambuffer korrekt getauscht werden.

[edit] Parameter

rhs - anderes basic_istream-Objekt desselben Typs zum Tauschen

[edit] Beispiel

#include <iostream>
#include <sstream>
#include <utility>
 
int main()
{
    std::istringstream s1("hello");
    std::istringstream s2("bye");
 
    s1.swap(s2); // OK, istringstream has a public swap()
    std::swap(s1, s2); // OK, calls s1.swap(s2)
//  std::cin.swap(s2); // ERROR: swap is a protected member
 
    std::cout << s1.rdbuf() << '\n';
}

Ausgabe

hello