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