list::splice (STL/CLR)
Restitch łącza między węzłami.
void splice(iterator where, list<Value>% right);
void splice(iterator where, list<Value>% right,
iterator first);
void splice(iterator where, list<Value>% right,
iterator first, iterator last);
Parametry
pierwszy
Początek zakresu, aby połączyć.ostatni
Koniec zakresu, aby połączyć.prawo
Kontener, aby połączyć się z.gdzie
Gdy w pojemniku do sklejania przed.
Uwagi
Pierwsza funkcja Członkowskie wstawia sekwencji kontrolowane przez right przed elementu w kontrolowanej sekwencji wskazywanej przez where.Usuwa również wszystkie elementy z right.(%right must not equal this.) Umożliwia on połączyć wszystkie jednej listy do innego.
Druga funkcja Członkowskie usuwa elementu wskazywanego przez first w sekwencji, kontrolowana przez right i wstawia go, zanim element w kontrolowanej sekwencji wskazywanej przez where.(If where == first || where == ++first, no change occurs.) Umożliwia on połączyć jeden element z listy jeden na drugi.
Trzecią funkcję Członkowskie wstawia Podzakres, wyznaczony przez [first, last) z sekwencji, kontrolowana przez right przed elementu w kontrolowanej sekwencji wskazywanej przez where.Usuwa również oryginalne Podzakres z sekwencji, kontrolowana przez right.(If right == this, the range [first, last) must not include the element pointed to by where.) Służy on do sklejania podciąg zero lub więcej elementów z jednej listy do innego.
Przykład
// cliext_list_splice.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// splice to a new list
cliext::list<wchar_t> c2;
c2.splice(c2.begin(), c1);
System::Console::WriteLine("c1.size() = {0}", c1.size());
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// return one element
c1.splice(c1.end(), c2, c2.begin());
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// return remaining elements
c1.splice(c1.begin(), c2, c2.begin(), c2.end());
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
System::Console::WriteLine("c2.size() = {0}", c2.size());
return (0);
}
Wymagania
Nagłówek: < w cliext na liście >
Obszar nazw: cliext