list::unique (STL/CLR)
Supprime les éléments adjacents qui réussissent un test spécifié.
void unique();
template<typename Pred2>
void unique(Pred2 pred);
Paramètres
- pred
Comparateur pour les paires d'éléments.
Notes
La première fonction membre supprime de la séquence contrôlée (effacements) chaque élément qui compare une valeur égale à l'élément précédent -- si l'élément X précède l'élément Y et X == Y, la fonction membre supprime Y.Vous l'utilisez pour supprimer une seule une copie de chaque sous-séquence d'éléments adjacents qui comparent une valeur égale.Notez que si la séquence contrôlée est classée, par exemple en appelant list::sort (STL/CLR)(), la fonction membre autorise uniquement des éléments avec des valeurs uniques.(D'où le nom).
La deuxième fonction membre se comporte de la même manière que le premier, mais qu'il supprime chaque élément Y suivant un élément X pour lequel pred(X, Y).Vous l'utilisez pour supprimer une seule une copie de chaque sous-séquence d'éléments adjacents qui satisfont une fonction de prédicat ou le déclenchement que vous spécifiez.Notez que si la séquence contrôlée est classée, par exemple en appelant sort(pred), la fonction membre autorise uniquement les éléments qui n'ont pas d'équivalent à aucun autre élément.
Exemple
// cliext_list_unique.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// display contents after unique
cliext::list<wchar_t> c2(c1);
c2.unique();
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// display contents after unique(not_equal_to)
c2 = c1;
c2.unique(cliext::not_equal_to<wchar_t>());
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Configuration requise
en-tête :<cliext/liste>
Cliext del'espace de noms :