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: