list::unique (STL/CLR)
Usuwa sąsiadujących elementów, które przechodzą badania określonego.
void unique();
template<typename Pred2>
void unique(Pred2 pred);
Parametry
- pred
Moduł porównujący dla elementu par.
Uwagi
Pierwsza funkcja Członkowskie usuwa się z sekwencji kontrolowanych (kasuje) każdego elementu, który porównuje równa jej poprzedni element--Jeśli element X poprzedza elementu Y i X == Y, funkcja Członkowskie usuwa Y.Umożliwia ona usunąć wszystkie oprócz jednej kopii każdego podciąg sąsiadujących elementów tego porównania równości.Należy zauważyć, że jeśli kontrolowanych sekwencji porządkowania, takie jak przez wywołanie list::sort (STL/CLR)(), funkcja Członkowskich pozostawia tylko elementy unikatowe wartości.(Stąd nazwa).
Działa drugiej funkcji składowej tak samo jak pierwszy, chyba, że powoduje to usunięcie każdego elementu Y następującego elementu X dla którego pred(X, Y).Umożliwia ona usunąć wszystkie oprócz jednej kopii Każdy podciąg sąsiadujących elementów, które spełniają predykatu funkcji lub pełnomocnika, który określisz.Należy zauważyć, że jeśli kontrolowanych sekwencji porządkowania, takie jak przez wywołanie sort(pred), funkcja Członkowskich pozostawia tylko te elementy, które nie mają zamawiania równoważne z innymi elementami.
Przykład
// 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);
}
Wymagania
Nagłówek: < w cliext na liście >
Obszar nazw: cliext