関数オブジェクト
関数オブジェクトとは関数のように呼ぶことができるオブジェクトであり,operator()が定義されたクラスのオブジェクトである。STLでは次のテンプレートクラスが提供されている。
二項関数オブジェクト
算術
plus<T> |
T f(x,y) returns x+y |
minus<T> |
T f(x,y) returns x-y |
multiplies<T> |
T f(x,y) returns x*y |
divides<T> |
T f(x,y) returns x/y |
modulus<T> |
T f(x,y) returns x%y |
比較
equal_to<T> |
bool f(x,y) retunrs (x==y) |
not_equal_to<T> |
bool f(x,y) retunrs (x!=y) |
less<T> |
bool f(x,y) retunrs (x<y) |
greater<T> |
bool f(x,y) retunrs (x>y) |
less_equal<T> |
bool f(x,y) retunrs (x<=y) |
greater_equal<T> |
bool f(x,y) retunrs (x>=y) |
論理
logical_and<T> |
bool f(x,y) retunrs (x && y) |
logical_or<T> |
bool f(x,y) retunrs (x || y) |
単項関数オブジェクト
算術
negate<T> |
T f(x) returns -x |
論理
logical_not<T> |
bool f(x) retunrs !x |