std::swap(std::any) - cppreference.com
Namespaces
Variants

std::swap(std::any)

From cppreference.com
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)    
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
Defined in header <any>
void swap( any& lhs, any& rhs ) noexcept;
(since C++17)

Overloads the std::swap algorithm for std::any. Swaps the content of two any objects by calling lhs.swap(rhs).

Parameters

lhs, rhs - objects to swap

Example

#include <any>
#include <print>
#include <string>

int main()
{
    std::any p = 42, q = std::string{"Bishop"};
    std::println("p: {}, q: {}", std::any_cast<int>(p), std::any_cast<std::string&>(q));
    std::println("swap(p, q)");
    std::swap(p, q);
    std::println("p: {}, q: {}", std::any_cast<std::string&>(p), std::any_cast<int>(q));
}

Output:

p: 42, q: Bishop
swap(p, q)
p: Bishop, q: 42

See also