# std::basic_stringbuf<CharT,Traits,Allocator>::swap

From cppreference.com
< cpp‎ | io‎ | basic stringbuf

void swap( std::basic_stringbuf& rhs ) |  | (since C++11)

Swaps the state and the contents of *this and `rhs`.

### Parameters

rhs | - | another `basic_stringbuf`

### Return value

(none)

### Notes

This function is called automatically when swapping std::stringstream objects, it is rarely necessary to call it directly.

### Example

Run this code

    #include <sstream>
    #include <string>
    #include <iostream>

    int main()
    {

        std::istringstream one("one");
        std::ostringstream two("two");

        std::cout << "Before swap, one = \"" << one.str() << '"'
                  << " two = \"" << two.str() << "\"\n";

        *one.rdbuf()->swap(*two.rdbuf());

        std::cout << "Before swap, one = \"" << one.str() << '"'
                  << " two = \"" << two.str() << "\"\n";
    }

Output:

    Before swap, one = "one" two = "two"
    Before swap, one = "two" two = "one"

### See also

(constructor) | constructs a basic_stringbuf object (public member function)
swap (C++11) | swaps two string streams (public member function of `std::basic_stringstream<CharT,Traits,Allocator>`)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_stringbuf/swap&oldid=62742"