Namensräume
Varianten
Aktionen

std::basic_stringbuf<CharT,Traits,Allocator>::swap

Von cppreference.com
< cpp‎ | io‎ | basic stringbuf
 
 
 
 
void swap( basic_stringbuf& rhs );
(seit C++11)
(bis C++20)
void swap( basic_stringbuf& rhs ) noexcept(/* siehe unten */);
(seit C++20)

Vertauscht den Zustand und die Inhalte von *this und rhs.

Das Verhalten ist undefiniert, wenn Allocator beim Vertauschen nicht propagiert und die Allokatoren von *this und other ungleich sind.

(seit C++11)

Inhalt

[bearbeiten] Parameter

rhs - Ein anderer basic_stringbuf

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Ausnahmen

Kann implementierungsdefinierte Ausnahmen auslösen.

(seit C++11)
(bis C++20)
noexcept-Spezifikation:  
noexcept(std::allocator_traits<Allocator>::propagate_on_container_swap::value
|| std::allocator_traits<Allocator>::is_always_equal::value)
(seit C++20)

[bearbeiten] Hinweise

Diese Funktion wird automatisch aufgerufen, wenn std::stringstream Objekte vertauscht werden. Es ist selten notwendig, sie direkt aufzurufen.

[bearbeiten] Beispiel

#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
 
int main()
{
    std::istringstream one("one");
    std::ostringstream two("two");
 
    std::cout << "Before swap: one = " << std::quoted(one.str())
              << ", two = " << std::quoted(two.str()) << ".\n";
 
    one.rdbuf()->swap(*two.rdbuf());
 
    std::cout << "After  swap: one = " << std::quoted(one.str())
              << ", two = " << std::quoted(two.str()) << ".\n";
}

Ausgabe

Before swap: one = "one", two = "two".
After  swap: one = "two", two = "one".

[bearbeiten] Siehe auch

konstruiert ein basic_stringbuf-Objekt
(public member function) [bearbeiten]
(C++11)
tauscht zwei String-Streams
(public member function of std::basic_stringstream<CharT,Traits,Allocator>) [bearbeiten]