liste : : 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 est égal à son élément précédent -- si l'élément X précède l'élément Y et si X == Y, la fonction membre supprime Y. Vous l'utilisez pour supprimer toutes les copies sauf une de chaque sous-séquence d'éléments adjacents égaux. Notez que si la séquence contrôlée est triée, par exemple en appelant liste : : tri (STL/CLR)(), la fonction membre laisse uniquement les éléments avec des valeurs uniques. (D'où le nom).
La deuxième fonction membre se comporte de la même manière que la première, sauf qu'il supprime chaque élément Y suivant un élément X tel que pred(X, Y). Vous l'utilisez pour supprimer toutes les copies sauf de chaque sous-séquence d'éléments adjacents qui satisfont à une fonction de prédicat ou un délégué que vous spécifiez. Notez que si la séquence contrôlée est triée, par exemple en appelant sort(pred), la fonction membre laisse uniquement les éléments qui ne sont pas classés comme équivalent avec un 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/list>
Espace de nom : cliext