I/O manipulators | ||||
Print functions(C++23) | ||||
C-style I/O | ||||
Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
Streams | ||||
Abstractions | ||||
File I/O | ||||
String I/O | ||||
Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
Synchronized Output | ||||
(C++20) | ||||
Types | ||||
Error category interface | ||||
(C++11) | ||||
(C++11) |
Member functions | ||||
(C++11) | ||||
(C++11) | ||||
(C++26) | ||||
File operations | ||||
Non-member functions | ||||
swap(std::basic_fstream) (C++11) |
template<class CharT,class Traits> void swap( basic_fstream<CharT, Traits>& lhs, basic_fstream<CharT, Traits>& rhs); | ||
Specializes thestd::swap algorithm forstd::basic_fstream. Exchanges the state oflhs with that ofrhs. Effectively callslhs.swap(rhs).
Contents |
lhs, rhs | - | streams whose state to swap |
(none)
May throw implementation-defined exceptions.
#include <fstream>#include <iostream>#include <string> bool create_stream(std::fstream& fs){try{std::string some_name="/tmp/test_file.txt";std::ios_base::openmode some_flags= fs.trunc;// | other flags if(std::fstream ts{some_name, some_flags}; ts.is_open()){std::swap(ts, fs);// stream objects are not copyable => swapreturntrue;}}catch(...){std::cout<<"Exception!\n";}returnfalse;} int main(){if(std::fstream fs; create_stream(fs)){// use fs stream}}
(C++11) | swaps two file streams (public member function)[edit] |