Re[6]: Использование алгоритмов
От: Andrew Galuzin Украина  
Дата: 30.07.03 10:49
Оценка: 8 (2)
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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.