Function Objects














Built-in function objects

Function Object

Type

Return

Arithmatic function objects
plus binary arg1 + arg2
minus binary arg1 - arg2
times binary arg1 * arg2
divides binary arg1 / arg2
modulus binary arg1 % arg2
negate unary -arg1
ident unary arg1
Comparison function objects
equal_to binary arg1 == arg2
not_equal_to binary arg1 != arg2
greater binary arg1 > arg2
less binary arg1 < arg2
greater_equal binary arg1 >= arg2
less_equal binary arg1 <= arg2
Logical function objects
logical_and binary arg1 && arg2
logical_or binary arg1 || arg2
logical_not unary !arg1








Function adaptors








Built-in function adaptors

Function adaptor

Argument types

Result object type

Result class

not1 bool fn(arg) bool fn(arg) unary_negate< >
not2 bool fn(arg1,arg2) bool fn(arg1,arg2) binary_negate< >
bind1st T fn(arg1,arg2),x T fn(arg) binder1st< >
bind2nd T fn(arg1,arg2),x T fn(arg) binder2nd< >
ptr_fun T (*fn)(arg) T fn(arg) pointer_to_unary_function< >
ptr_fun T (*fn)(arg1,arg2) T fn(arg1,arg2) pointer_to_binary_function< >
compose1 T fn(arg), T fn2(arg) T fn(arg) unary_compose< >
compose2 T fn(arg1,arg2),
T fn2(arg),T fn3(arg)
T fn(arg)binary_compose< >