Common Library  0.9.5
AddBinder< Op > クラステンプレート

単項関数で値を処理してから加算するための関数オブジェクト [詳解]

公開メンバ関数

 AddBinder (Op op)
 処理用の関数を指定して構築 [詳解]
 
template<class Res , class T >
Res operator() (Res init, T value)
 値 value を処理してから init に加算する [詳解]
 

詳解

template<class Op>
class AddBinder< Op >

単項関数で値を処理してから加算するための関数オブジェクト

渡された数を処理してから加算して返す。 ループ処理により和の計算を行うことを想定した関数オブジェクトであり、例えば

typedef double ( *Func )( double, double );
std::accumulate( s, e, 0.0,
std::bind2nd( std::ptr_fun( static_cast< Func >( std::pow ) ), 2.0 )
)
);
AddBinder< Op > OpBind(Op op)
処理用単項関数から AddBinder 関数オブジェクトを生成する
Definition: math_library.h:1145

とすれば、[ s, e ) に対し二乗和を計算することができる。

テンプレート引数の Res は戻り値の型、Op は加算前の処理を行なう関数を表す。

構築子と解体子

◆ AddBinder()

template<class Op >
AddBinder< Op >::AddBinder ( Op  op)
inline

処理用の関数を指定して構築

引数
op加算する値を処理するための単項関数

関数詳解

◆ operator()()

template<class Op >
template<class Res , class T >
Res AddBinder< Op >::operator() ( Res  init,
value 
)
inline

値 value を処理してから init に加算する

テンプレート引数の Res は戻り値及び初期値の型、T は単項関数で処理する値の型をそれぞれ表す。

引数
init初期値
value処理する値
戻り値
加算結果

このクラス詳解は次のファイルから抽出されました: