Standard C++ Library Reference ISO/IEC (VERSION3)

slist::splice
void splice(iterator it, slist& x);
void splice(iterator it, slist& x, iterator first);
void splice(iterator it, slist& 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
get_allocator() == str.get_allocator(), no exception occurs. Otherwise, a
copy and a destructor call also occur for each inserted element.
In all cases, only iterators or references that point at spliced elements become invalid.
slist::swap
void swap(slist& x);
The member function swaps the controlled sequences between *this and x. If
get_allocator() == x.get_allocator(), it does so in constant time, it throws no
exceptions, and it invalidates no references, pointers, or iterators that designate elements in the
two controlled sequences. Otherwise, it performs a number of element assignments and
constructor calls proportional to the number of elements in the two controlled sequences.
slist::unique
void unique();
template<class Pred>
void unique(Pred pr);
The first member function removes from the controlled sequence every element that compares
equal to its preceding element. For the iterators Pi and Pj designating elements at positions i
and j, the second member function removes every element for which i + 1 == j &&
pr(*Pi, *Pj).