public member function
<fstream>

std::basic_fstream::swap

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

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

Parameters

x
Another basic_fstream 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
// swapping fstream objects
#include <fstream>      // std::fstream

int main () {
  std::fstream foo;
  std::fstream bar ("test.txt");

  foo.swap(bar);

  foo << "lorem ipsum";

  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