Condividi tramite


list::splice (STL/CLR)

Collegamenti di Restitch tra i nodi.

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

Parametri

  • innanzitutto
    A partire dall'intervallo da impiombare.

  • last
    estremità di intervallo da impiombare.

  • right
    contenitore da impiombare da.

  • where
    La posizione del contenitore impiombare prima.

Note

La prima funzione membro inserire la sequenza controllata da right prima dell'elemento nella sequenza selezionata indicata da where.Elimina inoltre tutti gli elementi da right.(%right non deve essere uguale this). È possibile utilizzarlo per impiombare qualsiasi un elenco in un altro.

La seconda funzione membro rimuove l'elemento fa riferimento da first nella sequenza controllata da right che viene inserito prima dell'elemento nella sequenza selezionata indicata da where.(Se where==first||where== ++first, nessuna modifica avviene.) Utilizzarla per impiombare un singolo elemento di un elenco in un altro.

La terza funzione membro inserisce il sottosistema definito da [first,last) dalla sequenza controllata da right prima dell'elemento nella sequenza selezionata indicata da where.Rimuove anche il sottosistema originale dalla sequenza controllata da right.(Se right==this, l'intervallo [first,last) non deve includere l'elemento fa riferimento da where). È possibile utilizzarlo per impiombare una sottosequenza di zero o più elementi da un elenco in un altro.

Esempio

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

Requisiti

intestazione: <cliext/elenco>

Cliext diSpazio dei nomi:

Vedere anche

Riferimenti

list (STL/CLR)

list::assign (STL/CLR)

list::insert (STL/CLR)

list::merge (STL/CLR)