Reference

public member function
<fstream>

std::basic_ifstream::swap

void swap (basic_ifstream& x);
Swap internals
Exchanges all internal data between x and *this.

Internally, the function calls basic_istream::swap and then calls the member swap of the associated basic_filebuf object.

Parameters

x
Another basic_ifstream object of the same type (i.e., with the same template parameters charT and traits).

Return Value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// swapping ifstream objects
#include <iostream> // std::cout
#include <fstream> // std::ifstream
int main () {
 std::ifstream foo;
 std::ifstream bar ("test.txt");
 foo.swap(bar);
 char c = foo.get();
 while (foo.good()) {
 std::cout << c;
 c = foo.get();
 }
 foo.close();
 return 0;
}

Data races

Modifies both stream objects (*this and x).

Exception safety

No-throw guarantee: this member function never throws exceptions.

See also

basic_ifstream::operator=
Move assignment (public member function)
basic_istream::swap
Swap internals (protected member function)

AltStyle によって変換されたページ (->オリジナル) /