Common Library
0.9.5
|
単項関数と二項関数の組み合わせにより値を処理するための関数オブジェクト [詳解]
公開メンバ関数 | |
OpBinder (UnOp unOp, BinOp binOp) | |
処理用の関数と加算用の関数を指定して構築 [詳解] | |
template<class T , class U > | |
Res | operator() (T init, U value) |
値 value を単項関数で処理してから二項関数により init に作用させる [詳解] | |
単項関数と二項関数の組み合わせにより値を処理するための関数オブジェクト
渡された数を単項関数で処理してから加算などの二項関数を使って初期値に作用させる。 ループ処理により和の計算などを行うことを想定した関数オブジェクトであり、例えば
とすれば、[ s, e ) に対し KahanSumOp を使って二乗和を計算することができる。
テンプレート引数の Res は戻り値の型、UnOp は単項関数、BinOp は二項関数を表す。
|
inline |
処理用の関数と加算用の関数を指定して構築
unOp | 単項関数 |
binOp | 二項関数 |
|
inline |
値 value を単項関数で処理してから二項関数により init に作用させる
テンプレート引数の T は初期値の型、U は処理する値の型をそれぞれ表す。 単項関数が U 型の値を処理して T 型の値を出力し、二項関数によって T 型の値から Res 型の値が出力されることを想定している。
init | 初期値 |
value | 処理する値 |