std::basic_istream<CharT,Traits>::swap
From cppreference.com
< cpp | io | basic istream
| protected: void swap( basic_istream& rhs ); |
(C++11以降) | |
基底クラスのすべてのデータメンバ(rdbuf() を除く)を swap し、*this と rhs の間で gcount() カウンタの値を swap します。この swap 関数は protected です。これは、関連するストリームバッファを正しく swap する方法を知っている、swap 可能入力ストリームクラスである std::basic_ifstream および std::basic_istringstream の swap 関数によって呼び出されます。
[編集] パラメータ
| rhs | - | 交換対象の、同じ型の別の basic_istream オブジェクト |
[編集] 例
このコードを実行
#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'; }
出力
hello