Partager via


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

Voir aussi

Référence

list (STL/CLR)

liste : : supprimez (STL/CLR)

liste : : remove_if (STL/CLR)

liste : : tri (STL/CLR)