A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../preprocessor/../utility/pair/swap2.html below:

std::swap(std::pair) - cppreference.com

(1) template< class T1, class T2 >

void swap( std::pair<T1,T2>& x, std::pair<T1,T2>& y )

    noexcept(/* see below */);
(since C++11)
(until C++20) template< class T1, class T2 >

constexpr void swap( std::pair<T1,T2>& x, std::pair<T1,T2>& y )

    noexcept(/* see below */);
(since C++20) template< class T1, class T2 >

constexpr void swap( const std::pair<T1,T2>& x, const std::pair<T1,T2>& y )

    noexcept(/* see below */);
(2) (since C++23)

Swaps the contents of x and y. Equivalent to x.swap(y).

[edit] Parameters x, y - pairs whose contents to swap [edit] Return value

(none)

[edit] Exceptions noexcept

specification:

noexcept(noexcept(x.swap(y)))

[edit] Example
#include <iostream>
#include <utility>
 
int main()
{
    auto p1 = std::make_pair(10, 3.14);
    auto p2 = std::pair(12, 1.23); // CTAD, since C++17
 
    auto print_p1_p2 = [&](auto msg) {
        std::cout << msg
                  << "p1 = {" << std::get<0>(p1)
                  << ", "     << std::get<1>(p1) << "}, "
                  << "p2 = {" << std::get<0>(p2)
                  << ", "     << std::get<1>(p2) << "}\n";
    };
 
    print_p1_p2("Before p1.swap(p2): ");
    p1.swap(p2);
    print_p1_p2("After  p1.swap(p2): ");
    std::swap(p1, p2);
    print_p1_p2("After swap(p1, p2): ");
}

Output:

Before p1.swap(p2): p1 = {10, 3.14}, p2 = {12, 1.23}
After  p1.swap(p2): p1 = {12, 1.23}, p2 = {10, 3.14}
After swap(p1, p2): p1 = {10, 3.14}, p2 = {12, 1.23}
[edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4