P> Так против boost::bind я ничего не имею.
P> А вот mem_fun, mem_fun_ref в случае со встроенными типами бессмыленны
Ну почему же?
Вот несколько синтетический пример:
#include <vector>
#include <algorithm>
class A
{
public:
A()
: value (0)
{
}
A(int value_)
: value (value_)
{
}
bool equal(int value_) const
{
return value == value_;
}
private:
int value;
};
int main()
{
std::vector<int> iv;
iv.push_back(10);
iv.push_back(1);
iv.push_back(3);
iv.push_back(0);
iv.push_back(6);
A a(0);
std::find_if(iv.begin(), iv.end(), std::bind1st(std::mem_fun(&A::equal), &a));
std::vector<A> av;
av.push_back(A(10));
av.push_back(A(1));
av.push_back(A(3));
av.push_back(A(0));
av.push_back(A(6));
std::find_if(av.begin(), av.end(), std::bind2nd(std::mem_fun_ref(&A::equal), 0));
}
boost::bind(&A::pred,this)) эквивалентен boost::bind(boost::mem_fn(&A::pred), this))
--
aga
Posted via RSDN NNTP Server 1.6 RC1