Partager via


liste : : ajout (STL/CLR)

Liens de Restitches 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

  • first
    Début de la plage à épisser.

  • last
    Fin de la plage à épisser.

  • right
    Conteneur à partir duquel effectuer l'opération splice.

  • where
    Où dans le conteneur épisser avant.

Notes

La première fonction membre insère la séquence contrôlée par right avant l'élément dans la séquence contrôlée est référencé par where. Elle supprime également tous les éléments d'right. (%right ne doit pas être égal this.) Vous l'utilisez pour épisser toute la liste dans une autre.

La deuxième fonction membre supprime l'élément référencé par first dans la séquence contrôlée par right et l'insère avant l'élément dans la séquence contrôlée est référencé par where. (Si where == first || where == ++first, aucune modification se produit.) Vous l'utilisez pour épisser un élément unique dans une liste dans une autre.

La troisième fonction membre insère le sous-plage indiqué par [first, last) de la séquence contrôlée par right avant l'élément dans la séquence contrôlée est référencé par where. Elle supprime également le 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 référencé par where.) Vous l'utilisez pour épisser une 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/list>

Espace de nom cliext

Voir aussi

Référence

list (STL/CLR)

liste : : assignez (STL/CLR)

liste : : insertion (STL/CLR)

liste : : fusion (STL/CLR)