list::splice (STL/CLR)
Restitch propojení mezi uzly.
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
první
Začátek rozsahu splice.poslední
Konec rozsahu splice.pravý
Splice z kontejneru.kde
Kde v kontejneru splice před.
Poznámky
První členské funkce vloží sekvence řízena right před řízené postupně odkazuje prvek where.Odebere také všechny prvky z right.(%right must not equal this.) Použít pro všechny jeden seznam splice do jiného.
Druhý členské funkce odstraní prvek odkazuje first v posloupnosti řízena right a vloží ho před prvek řízené postupně odkazuje where.(If where == first || where == ++first, no change occurs.) Použijte ji splice jeden prvek jednoho seznamu do druhého.
Třetí členské funkce vloží Podrozsah určené [first, last) z řady řízena right před řízené postupně odkazuje prvek where.Také odebere původní Podrozsah z řady řízena right.(If right == this, the range [first, last) must not include the element pointed to by where.) Použijte ji splice subsequence nula nebo více prvků z jednoho seznamu do druhého.
Příklad
// 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);
}
Požadavky
Záhlaví: < cliext/list >
Obor názvů: cliext