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 |
(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
Führen Sie diesen Code aus
#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) | |
| (C++11) |
tauscht zwei String-Streams (public member function of std::basic_stringstream<CharT,Traits,Allocator>) |