list::unique (STL/CLR)

Rimuove elementi adiacenti che superano un test specificato.

    void unique();
    template<typename Pred2>
        void unique(Pred2 pred);

Parametri

  • pred
    Operatore di confronto per le coppie dell'elemento.

Note

La prima funzione membro eliminato dalla sequenza selezionata (erases) ogni elemento che confronta uguale al relativo elemento precedente -- se l'elemento X precede l'elemento Y e X == Y, la funzione membro rimuove Y.Utilizzarla per rimuovere tutti solo una copia di ogni sottosequenza di elementi adiacenti che confrontano equivalenti.Notare che se la sequenza selezionata è ordinata, ad esempio chiamando list::sort (STL/CLR)(), la funzione membro lascia solo gli elementi con valori univoci.(Il nome).

La seconda funzione membro si comporta come il primo, con la differenza che elimina ogni elemento Y che segue un elemento X per il quale pred(X, Y).È possibile utilizzarlo per rimuovere tutti solo una copia di ogni sottosequenza di elementi adiacenti che soddisfano una funzione predicativa o delegate specificato.Notare che se la sequenza selezionata è ordinata, ad esempio chiamando sort(pred), la funzione membro lascia solo gli elementi che non dispongono di un ordine equivalente con altri elementi.

Esempio

// 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); 
    } 
 
  

Requisiti

intestazione: <cliext/elenco>

Cliext diSpazio dei nomi:

Vedere anche

Riferimenti

list (STL/CLR)

list::remove (STL/CLR)

list::remove_if (STL/CLR)

list::sort (STL/CLR)