Freigeben über


list::unique (STL/CLR)

Entfernt benachbarte Elemente, die einen angegebenen Test bestehen.

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

Parameter

  • pred
    Element für den Vergleich.

Hinweise

Die erste Memberfunktion entfernt von der kontrollierten Sequenz (deaktiviert) jedes Element, das gleich sein vorangehendes vergleicht Element -- X wenn das Element X == Y vorausgeht, und Y-Element entfernt die Memberfunktion Y.Sie verwenden sie, um alle bis auf eine Kopie jeder Untersequenz der angrenzenden Elemente zu entfernen, die gleich vergleichen.Beachten Sie, dass, wenn die gesteuerte Reihenfolge geordnet ist z. B., indem sie list::sort (STL/CLR)(), die Memberfunktion aufruft, nur Elemente mit eindeutigen Werten ermöglicht.Daher (der Name).

Die zweite Memberfunktion verhält sich genauso wie das erste, außer dass sie entfernt jedes Element Y, das ein Element X folgt, für das pred(X, Y).Sie verwenden sie, um alle bis auf eine Kopie jeder Untersequenz der angrenzenden Elemente zu entfernen, die einer Prädikatfunktion entsprechen oder delegieren.Beachten Sie, dass, wenn die gesteuerte Reihenfolge geordnet ist z. B., indem sie sort(pred), die Memberfunktion aufruft, nur Elemente können, die keine entsprechenden Reihenfolge mit keinem anderen Elementen verfügen.

Beispiel

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

Anforderungen

Header: <cliext/Liste>

Namespace: cliext

Siehe auch

Referenz

Liste (STL/CLR)

list::remove (STL/CLR)

list::remove_if (STL/CLR)

list::sort (STL/CLR)