Namespaces
Variants
Views
Actions

std::function::operator()

From cppreference.com
< cpp‎ | utility‎ | functional‎ | function
Revision as of 21:14, 31 May 2013 by P12bot (Talk | contribs)

 
 
 
Function objects


Function wrappers
(C++11)
(C++11)
Bind
(C++11)
Reference wrappers
(C++11)(C++11)
Operator wrappers
Negators
Deprecated binders and adaptors
(deprecated)
(deprecated)
(deprecated)
(deprecated)
(deprecated)(deprecated)(deprecated)(deprecated)
(deprecated)
(deprecated)(deprecated)(deprecated)(deprecated)
(deprecated)(deprecated)
(deprecated)(deprecated)
 
 
R operator()( ArgTypes... args ) const;
(since C++11)

Calls the stored callable function target with the parameters args.

Contents

Parameters

args - parameters to pass to the stored callable function target

Return value

None if R is void. Otherwise the return value of the invocation of the stored callable object.

Exceptions

Example

The following example shows how std::function can passed to other functions by value. Also, it shown how std::function can store lambdas.

#include <iostream>
#include <functional>
 
void call(std::function<int()> f)  // can be passed by value
{ 
    std::cout << f() << '\n';
}
 
int normal_function() 
{
    return 42;
}
 
int main()
{
    int n = 1;
    std::function<int()> f = [&n](){ return n; };
    call(f);
 
    n = 2;
    call(f); 
 
    f = normal_function; 
    call(f);
}

Output:

1
2
42

See also