Function objects
From Cppreference
C++ Standard Library | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Utilities library | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Function objects | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A function object is any object for which the function call operator is defined.
Function objects | ||
Arithmetic operations | ||
function object implementing x + y (class template) |
||
function object implementing x - y (class template) |
||
function object implementing x * y (class template) |
||
function object implementing x / y (class template) |
||
function object implementing x % y (class template) |
||
function object implementing -x (class template) |
||
Comparisons | ||
function object implementing x == y (class template) |
||
function object implementing x != y (class template) |
||
function object implementing x > y (class template) |
||
function object implementing x < y (class template) |
||
function object implementing x >= y (class template) |
||
function object implementing x <= y (class template) |
||
Logical operations | ||
function object implementing x && y (class template) |
||
function object implementing x || y (class template) |
||
function object implementing !x (class template) |
||
Bitwise operations | ||
function object implementing x & y (class template) |
||
function object implementing x | y (class template) |
||
function object implementing x ^ y (class template) |
||
Negators | ||
wrapper function object returning the complement of the unary predicate it holds (class template) |
||
wrapper function object returning the complement of the binary predicate it holds (class template) |
||
constructs custom std::unary_negate object (function template) |
||
constructs custom std::binary_negate object (function template) |
[edit] Bind
(C++11)
|
binds one or more arguments to a function object (function template) |
(C++11)
|
indicates that an object is std::bind expression or can be used as one (class template) |
(C++11)
|
indicates that an object is a standard placeholder or can be used as one (class template) |
Defined in namespace std::placeholders
| |
(C++11)
|
placeholders for the unbound arguments in a std::bind expression (constant) |
Polymorphic function wrappers | |
(C++11)
|
binds an object to a pointer to its member function to form independent function object (function template) |
(C++11)
|
wraps callable object of any type with specified function call signature (class template) |
(C++11)
|
the exception thrown when invoking an empty std::function (class) |
Reference wrappers | |
(C++11)
|
CopyConstructible and CopyAssignable reference wrapper (class template) |
(C++11)
(C++11) |
creates a reference_wrapper of type, deduced from its argument (function template) |
Deprecated in C++11 | |
Base | |
(deprecated)
|
adaptor-compatible unary function base class (class template) |
(deprecated)
|
adaptor-compatible binary function base class (class template) |
Binders | |
(deprecated)
|
function object holding a binary function and its first argument (class template) |
(deprecated)
|
function object holding a binary function and its second argument (class template) |
(deprecated)
|
binds the first argument to a binary function (constructs a binder1st object) (function template) |
(deprecated)
|
binds the second argument to a binary function (constructs a binder2nd object) (function template) |
Function adaptors | |
(deprecated)
|
adaptor-compatible wrapper for a pointer to unary function (class template) |
(deprecated)
|
adaptor-compatible wrapper for a pointer to binary function (class template) |
(deprecated)
|
creates an adaptor-compatible function object wrapper from a pointer to function (function template) |
(deprecated)
(deprecated) (deprecated) (deprecated) |
wrapper for a pointer to nullary member function, callable with a pointer to object (class template) |
(deprecated)
|
creates a wrapper from a pointer to member function, callable with a pointer to object (function template) |
(deprecated)
(deprecated) (deprecated) (deprecated) |
wapper for a pointer to nullary or unary member function, callable with a reference to object (class template) |
(deprecated)
|
creates a wrapper from a pointer to member function, callable with a reference to object (function template) |