Function objects

From Cppreference

Jump to: navigation, search

A function object is any object for which the function call operator is defined.

Contents

Function objects

Arithmetic operations
plus
function object implementing x + y
(class template)
minus
function object implementing x - y
(class template)
multiplies
function object implementing x * y
(class template)
divides
function object implementing x / y
(class template)
modulus
function object implementing x % y
(class template)
negate
function object implementing -x
(class template)
Comparisons
equal_to
function object implementing x == y
(class template)
not_equal_to
function object implementing x != y
(class template)
greater
function object implementing x > y
(class template)
less
function object implementing x < y
(class template)
greater_equal
function object implementing x >= y
(class template)
less_equal
function object implementing x <= y
(class template)
Logical operations
logical_and
function object implementing x && y
(class template)
logical_or
function object implementing x || y
(class template)
logical_not
function object implementing !x
(class template)
Bitwise operations
bit_and
function object implementing x & y
(class template)
bit_or
function object implementing x | y
(class template)
bit_xor
function object implementing x ^ y
(class template)
Negators
unary_negate
wrapper function object returning the complement of the unary predicate it holds
(class template)
binary_negate
wrapper function object returning the complement of the binary predicate it holds
(class template)
not1
constructs custom unary_negate object
(function template)
not2
constructs custom binary_negate object
(function template)

Bind

bind (C++11)
binds one or more arguments to a function object
(function template)
is_bind_expression (C++11)
indicates that an object is std::bind expression or can be used as one
(class template)
is_placeholder (C++11)
indicates that an object is a standard placeholder or can be used as one
(class template)
Defined in namespace std::placeholders
_1, _2, _3, _4, ... (C++11)
placeholders for the unbound arguments in a std::bind expression
(constant)
Polymorphic function wrappers
mem_fn (C++11)
binds an object to a pointer to its member function to form independent function object
(function template)
function (C++11)
wraps callable object of any type with specified function call signature
(class template)
bad_function_call (C++11)
the exception thrown when invoking an empty std::function
(class)
Reference wrappers
reference_wrapper (C++11)
CopyConstructible and CopyAssignable reference wrapper
(class template)
ref (C++11)
creates a reference_wrapper of type, deduced from its argument
(function template)
cref (C++11)
creates a reference_wrapper to const, of type, deduced from its argument
(function template)

Deprecated in C++11

Base
unary_function (deprecated)
adaptor-compatible unary function base class
(class template)
binary_function (deprecated)
adaptor-compatible binary function base class
(class template)
Binders
binder1st (deprecated)
function object holding a binary function and its first argument
(class template)
binder2nd (deprecated)
function object holding a binary function and its second argument
(class template)
bind1st (deprecated)
binds the first argument to a binary function (constructs a binder1st object)
(function template)
bind2nd (deprecated)
binds the second argument to a binary function (constructs a binder2nd object)
(function template)
Function adaptors
pointer_to_unary_function (deprecated)
adaptor-compatible wrapper for a pointer to unary function
(class template)
pointer_to_binary_function (deprecated)
adaptor-compatible wrapper for a pointer to binary function
(class template)
ptr_fun (deprecated)
creates an adaptor-compatible function object wrapper from a pointer to function
(function template)
mem_fun_t (deprecated)
wrapper for a pointer to nullary member function, callable with a pointer to object
(class template)
const_mem_fun_t (deprecated)
wrapper for a pointer to nullary const member function, callable with a pointer to object
(class template)
mem_fun1_t (deprecated)
wrapper for a pointer to unary member function, callable with a pointer to object
(class template)
const_mem_fun1_t (deprecated)
wrapper for a pointer to unary const member function, callable with a pointer to object
(class template)
mem_fun (deprecated)
creates a wrapper from a pointer to member function, callable with a pointer to object
(function template)
mem_fun_ref_t (deprecated)
wapper for a pointer to nullary member function, callable with a reference to object
(class template)
const_mem_fun_ref_t (deprecated)
wapper for a pointer to nullary const member function, callable with a reference to object
(class template)
mem_fun1_ref_t (deprecated)
wrapper for a pointer to unary member function, callable with a reference to object
(class template)
const_mem_fun1_ref_t (deprecated)
wrapper for a pointer to unary const member function, callable with a reference to object
(class template)
mem_fun_ref (deprecated)
creates a wrapper from a pointer to member function, callable with a reference to object
(function template)