| 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) | ||||
| File operations | ||||
| Non-member functions | ||||
swap(std::basic_ifstream) (C++11) |
template<class CharT,class Traits> void swap( basic_ifstream<CharT, Traits>& lhs, basic_ifstream<CharT, Traits>& rhs); | ||
Specializes thestd::swap algorithm forstd::basic_ifstream. 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::ifstream& fs){try{std::string some_name="/tmp/test_file.txt";std::ios_base::openmode some_flags= fs.trunc;// | other flags if(std::ifstream 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::ifstream fs; create_stream(fs)){// use fs stream}}
(C++11) | swaps two file streams (public member function)[edit] |