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< >