##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::pair::swap

From cppreference.com
< cpp‎ | utility‎ | pair

void swap(pair& other); |  | (since C++11)

Swaps `first` with `other.first` and `second` with `other.second`.

This function does not participate in overload resolution unless std::is_swappable_v<first_type> && std::is_swappable_v<second_type> | (since C++17)

### [edit] Parameters

other | - | pair of values to swap

### [edit] Return value

(none)

### [edit] Exceptions

`noexcept` specification: noexcept( noexcept(std::swap(first, other.first)) && noexcept(std::swap(second, other.second)) ) | (until C++17)
`noexcept` specification: noexcept( std::is_nothrow_swappable<first_type>::value) && std::is_nothrow_swappable<second_type>::value) ) | (since C++17)

### [edit] Example

Run this code

    #include <iostream>
    #include <utility>
    #include <string>
    int main()
    {
        std::pair<int, std::string> p1, p2;
        p1 = std::make_pair(10, "test");
        p2.swap(p1);
        std::cout << "(" << p2.first << ", " << p2.second << ")\n";
    }

Output:

    (10, test)

### [edit] See also

swap | swaps the values of two objects (function template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/pair/swap&oldid=91849"
Category:

- conditionally noexcept

Hidden categories:

- Pages with unreviewed conditional noexcept template
- Pages with unreviewed noexcept template