emplate<typename OP1,typename OP2>
class compose_f_gx_t : public unary_function< typename OP2::argument_type,typename OP1::result_type>
{
private :
OP1 op1; // op(op2(x)) 를 처리한다
OP2 op2;
public :
compose_f_gx_t(const OP1& o1, const OP2& o2) : op1(o1), op2(o2)
{
}
typename OP2::result_type
operator()(const typename OP2::argument_type& x) const {
return op1(op2(x));
}
};
template<typename OP1,typename OP2>
inline compose_f_gx_t<OP1,OP2> compose_f_gx(const OP1& o1, const OP2& o2){
return compose_f_gx_t<OP1,OP2>(o1,o2);
}
반응형
'STLTemplate > STL & EffectiveSTL' 카테고리의 다른 글
함수자 (0) | 2012.11.01 |
---|---|
어댑터에 사용하기 위한 사용자 정의 함수객체 (0) | 2012.11.01 |
클래스 구조체 자료형 정렬하기 (0) | 2012.11.01 |
STL algoritm + 클래스노드포인터 (0) | 2012.11.01 |
함수객체 어댑터 functor adapter (0) | 2012.11.01 |