[devel] [PATCH] apt virtual packages
Alexey Tourbin
at на altlinux.ru
Вс Дек 17 19:09:33 MSK 2006
On Sun, Dec 17, 2006 at 05:14:14PM +0300, Alexey Tourbin wrote:
> On Sun, Dec 17, 2006 at 04:43:40PM +0300, Alexey Tourbin wrote:
> > +static inline bool
> > +vercmpOrder(const pkgCache::VerIterator &a, const pkgCache::VerIterator &b)
> > +{
> > + return a.CompareVer(b) < 0;
> > +}
>
> Кстати вот тут должно быть "<" или "<="?
> Что-то у Страуса примера на сортировку с предикатом порядка нету.
Ага, тут похоже должно быть "<=". Дело в том, что всего одной операции
"<=" достаточно, чтобы логически вывести все остальные операции сравнения.
(==)(a,b) := (a<=b)&&(b<=a)
(>=)(a,b) := !(b<=a)
(!=)(a,b) := !(a==b)
(<)(a,b) := (a<=b)&&(a!=b)
(>)(a,b) := (a>=b)&&(a!=b)
А в случае с одной только операцией "<" такой ляпоты не получается,
потому что не удается логически вывести равенство.
А может я чего-то не понимаю? Кто точно знает?
> > +done:
> > + // best versions go first
> > + found.sort(vercmpOrder);
> > + found.unique();
> > + found.reverse();
> > + return found;
> > +}
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20061217/9c22740f/attachment.bin
Подробная информация о списке рассылки Devel