Re: Динамический критерий сортировки через boost::bind
От: Bell Россия  
Дата: 29.03.06 08:55
Оценка: 1 (1)
Здравствуйте, Ulin, Вы писали:

Во-первых, для сортировки по убыванию лучше подходит std::greater
Во-вторых, вот вариант с лямдой:

struct CVector {
    float x;
    float    y;
};

struct CUnitPos {
    CVector        coords;
    
    float    some_other_field;
};


int main()
{
   vector<CUnitPos> arr;

   namespace bl = boost::lambda;
   sort(
      arr.begin(), arr.end(), 
      bl::bind(&CVector::y, bl::bind(&CUnitPos::coords, bl::_1)) > 
      bl::bind(&CVector::y, bl::bind(&CUnitPos::coords, bl::_2))
      );

   return 0;
}


Если доработать напильником, то можно будет наверное и на boost::bind перевести...
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.