|
Boost : |
From: Mark Rodgers (mark.rodgers_at_[hidden])
Date: 2000-09-06 03:30:17
I was thinking of adding something like
template <class Arg1, class Arg2 = Arg1, class Result = Arg1>
struct plus : std::binary_function<Arg1,Arg2,Result>
{
Result operator()(typename call_traits<Arg1>::param_type x,
typename call_traits<Arg2>::param_type y) const
{
return x + y;
}
};
template <class Arg1, class Arg2 = Arg1, class Result = Arg1>
struct minus : std::binary_function<Arg1,Arg2,Result>
{
Result operator()(typename call_traits<Arg1>::param_type x,
typename call_traits<Arg2>::param_type y) const
{
return x - y;
}
};
to functional.hpp. The idea would be to allow things like
boost::plus<Foo*,std::ptrdiff_t,Foo*>()
or boost::minus<Foo*,std::ptrdiff_t,Foo*>()
or boost::minus<Foo*,Foo*,std::ptrdiff_t>()
as well as the traditional
boost::minus<int>()
Thoughts anyone?
Mark
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk