Bonjour
j'ai un petit probleme avec sort_stable
j'envie de passer un predicat a la fonction sort_stable mais je veux aussi qu'elle ignore la case
car j'ai des resultats du genre
A
B
a
B
quelqu-un a une idee?
merci
Version imprimable
Bonjour
j'ai un petit probleme avec sort_stable
j'envie de passer un predicat a la fonction sort_stable mais je veux aussi qu'elle ignore la case
car j'ai des resultats du genre
A
B
a
B
quelqu-un a une idee?
merci
Ben, je dirais soumettre une fonction (enfin, s�rement un foncteur) de comparaison perso qui elle, ignore la casse...
Il n'y a rien de vraiment standard qui l'ignore, il me semble.
je travaille avec VS2005, et j'ai ce resultat,
le probleme c'est que je donne comme troisieme argument une function
du genre
mais je ne vois vraiment pas comment faireCode:
1
2 std::stable_sort(temp_indices.begin(), temp_indices.end(), SortByAttributeFunc(this, attr_index));
sinon dans l'une des implementation de stable_sort
j;ai vu qu'il y'avait un parametres du genre lt_nocase pour ignorer la case
http://www.sgi.com/tech/stl/stable_sort.html
bon j'ai trouve la reponse a mon probleme
le changement devait etre fait dans la fonction predicat
j'ai modifie cela
par :Code:case str::TYPE_STRING : return points_->getStringAt(attr_index_, a)<points_->getStringAt(attr_index_, b);
je crois que l'operateur < fait la meme chose de Compare, mais pas la meme chose que CompareNoCaseCode:case str::TYPE_STRING : return points_->getStringAt(attr_index_, a).CompareNoCase(points_->getStringAt(attr_index_, b))<0;