Partager via


list::splice (STL/CLR)

Liens de Restitch entre les nœuds.

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

Paramètres

  • tout d'abord
    Début de la plage à d'ajouter.

  • last
    Fin de la plage à d'ajouter.

  • right
    Conteneur à d'ajouter de.

  • where
    Où dans le conteneur d'ajouter avant.

Notes

La première fonction membre insère la séquence contrôlée par right avant que l'élément de la séquence contrôlée a désigné par where.Il supprime également tous les éléments d' right.(%right ne doit pas être égal this.) Vous l'utilisez pour d'ajouter toute une liste dans une autre.

La deuxième fonction membre supprime l'élément sur lequel pointe first dans la séquence contrôlée par right et l'insère avant que l'élément de la séquence contrôlée a désigné par where.(Si where==first||where== ++first, aucune modification se produit.) Vous l'utilisez pour d'ajouter un élément dans une liste dans une autre.

La troisième fonction membre insère la sous-plage indiqué par [first,last) de la séquence contrôlée par right avant que l'élément de la séquence contrôlée a désigné par where.Il supprime également la sous-plage d'origine de la séquence contrôlée par right.(Si right==this, la plage [first,last) ne doit pas inclure l'élément sur lequel pointe where.) Vous l'utilisez pour d'ajouter un sous-séquence de zéro ou plusieurs éléments d'une liste dans une autre.

Exemple

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

Configuration requise

en-tête :<cliext/liste>

Cliext del'espace de noms :

Voir aussi

Référence

list (STL/CLR)

list::assign (STL/CLR)

list::insert (STL/CLR)

list::merge (STL/CLR)