std::basic_stringbuf<CharT,Traits,Allocator>::swap
void swap( basic_stringbuf& rhs ); |
(с C++11) (до C++20) |
|
void swap( basic_stringbuf& rhs ) noexcept(/* see below */); |
(с C++20) |
Меняет состояние и содержимое *this и rhs.
|
Поведение не определено, если |
(с C++11) |
Параметры
| rhs | - | другой basic_stringbuf |
Возвращаемое значение
(нет)
Исключения
|
Может выбросить исключения, определенные реализацией. |
(с C++11) (до C++20) |
noexcept спецификация: noexcept(std::allocator_traits<Allocator>::propagate_on_container_swap::value |
(с C++20) |
Примечания
Эта функция вызывается автоматически при перестановке объектов std::stringstream. Редко необходимо вызывать ее напрямую.
Пример
#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";
}Вывод:
Before swap: one = "one", two = "two". After swap: one = "two", two = "one".
См. также
создает объект basic_stringbuf (общедоступный член-функция) |
|
|
(C++11)
|
меняет местами два потока строк (общедоступный член-функция std::basic_stringstream<CharT,Traits,Allocator>) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_stringbuf/swap