Biblioteca C ++ Forward_list - função splice_after ()

Descrição

A função C ++ std::forward_list::splice_after()transfere os elementos no intervalo do primeiro ao último de x para * isso usando a semântica de movimento. Os elementos são inseridos após o elemento apontado pela posição .

Declaração

A seguir está a declaração para o formulário de função std :: forward_list :: splice_after () cabeçalho std :: forward_list.

C ++ 11

void splice_after (const_iterator position, forward_list&& x,
                   const_iterator first, const_iterator last);

Parâmetros

  • position - Posição na forward_list após a qual novos elementos serão inseridos.

  • x - Outro objeto forward_list do mesmo tipo.

  • first - Insira o iterador na posição inicial no intervalo.

  • last - Insira o iterador para a posição final no intervalo.

Valor de retorno

Nenhum

Exceções

Esta função de membro nunca lança exceção.

Complexidade de tempo

Linear, ou seja, O (n)

Exemplo

O exemplo a seguir mostra o uso da função std :: forward_list :: splice_after ().

#include <iostream>
#include <forward_list>

using namespace std;

int main(void) {

   forward_list<int> fl1 = {1, 2, 3, 4};
   forward_list<int> fl2 = {1, 5};

   fl2.splice_after(fl2.begin(), move(fl1), fl1.begin(), fl1.end());

   cout << "List contains following elements" << endl;

   for (auto it = fl2.begin(); it != fl2.end(); ++it)
      cout << *it << endl;

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

List contains following elements
1
2
3
4
5