Namespaces
Variants
Actions

std::function<R(Args...)>::swap

From cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
 
Function objects
Function invocation
(C++17)(C++23)
Identity function object
(C++20)
Old binders and adaptors
(until C++17*)
(until C++17*)
(until C++17*)
(until C++17*)  
(until C++17*)
(until C++17*)(until C++17*)(until C++17*)(until C++17*)
(until C++20*)
(until C++20*)
(until C++17*)(until C++17*)
(until C++17*)(until C++17*)

(until C++17*)
(until C++17*)(until C++17*)(until C++17*)(until C++17*)
(until C++20*)
(until C++20*)
 
 
void swap( function& other )noexcept;
(since C++11)

Exchanges the stored callable objects of *this and other.

Contents

[edit]Parameters

other - function wrapper to exchange the stored callable object with

[edit]Return value

(none)

[edit]Example

#include <functional>#include <iostream>   void foo(constchar* str, int x){std::cout<<"foo(\""<< str <<"\", "<< x <<")\n";}   void bar(constchar* str, int x){std::cout<<"bar(\""<< str <<"\", "<< x <<")\n";}   int main(){std::function<void(constchar*, int)> f1{foo};std::function<void(constchar*, int)> f2{bar};   f1("f1", 1); f2("f2", 2);   std::cout<<"f1.swap(f2);\n"; f1.swap(f2);   f1("f1", 1); f2("f2", 2);}

Output:

foo("f1", 1) bar("f2", 2) f1.swap(f2); bar("f1", 1) foo("f2", 2)

[edit]See also

swaps the targets of two std::move_only_function objects
(public member function of std::move_only_function)[edit]
close