splice
提供:cppreference.com
文法:
#include <list> void splice( iterator pos, list& lst ); void splice( iterator pos, list& lst, iterator del ); void splice( iterator pos, list& lst, iterator start, iterator end );
splice関数は、1つ以上の要素をlstで指定されたリストから移動して、posで指定された直前の位置に挿入します。オーバーロードされた3つの関数のうち、最初の関数は、すべての要素をlstに移動します。次の関数は、delで指定された要素だけを移動します。3つ目の関数はstartとendの間のすべての要素を移動します。
splice関数は要素をリスト間で移動するだけで、コピーや削除は行いません。そのため、この関数は3つ目のを除いて 定数時間で実行されます。3つ目n関数はlstがthisと異なる場合には線形時間以下の時間がかかります。もし sizeが線形の複雑さを持っているのであれば、splice関数はすべて定数時間で実行されます。