void splice(iterator it, list& x);
void splice(iterator it, list& x, iterator first);
void splice(iterator it, list& x, iterator first, iterator last);
The first member function inserts the sequence controlled by x
before the element in the controlled sequence pointed to
by it
. It also removes all elements from x
. (&x
must not equal this
.)
The second member function removes the element pointed to by first
in the sequence controlled by x
and inserts it
before the element in the controlled sequence pointed to by it
. (If it == first || it == ++first
, no change
occurs.)
The third member function inserts the subrange designated by [first, last)
from the sequence controlled by x
before the element in the controlled sequence pointed to by it
. It also removes the original subrange from the sequence
controlled by x
. (If &x == this
, the range [first, last)
must not include the element pointed to by it
.)
If the third member function inserts N
elements, and &x != this
, an object of class iterator
is incremented N
times.
For all splice
member functions, if allocator
!= str.allocator
, a copy and a destructor call also occur for
each inserted element.