public member function
<sstream>

std::basic_ostringstream::swap

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

Internally, the function calls basic_ostream::swap and then calls the member swap of the associated basic_stringbuf object.

Parameters

x
Another basic_ostringstream object with the same template parameters (charT, traits and Alloc).

Return Value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// swapping ostringstream objects
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::ostringstream

int main () {

  std::ostringstream foo;
  std::ostringstream bar;

  foo << 100;
  bar << 200;

  foo.swap(bar);

  std::cout << "foo: " << foo.str() << '\n';
  std::cout << "bar: " << bar.str() << '\n';

  return 0;
}

Output:
foo: 200
bar: 100


Data races

Modifies both stream objects (*this and x).

Exception safety

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

See also