public member function

std::forward_list::swap

<forward_list>
void swap ( forward_list& fwdlst );
Swap content
Exchanges the content of the container by the content of fwdlst, which is another forward_list object containing elements of the same type. Sizes may differ.

After the call to this member function, the elements in this container are those which were in fwdlst before the call, and the elements of fwdlst are those which were in this. All iterators, references and pointers remain valid for the swapped objects.

Notice that a global algorithm function exists with this same name, forward_list:swap, and the same behavior.

Parameters

fwdlst
Another forward_list container of the same type as this (i.e., with the same template parameters) whose content is swapped with that of this container.

Return value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// forward_list::swap
#include <iostream>
#include <forward_list>

int main ()
{
  std::forward_list<int> first = {10, 20, 30};
  std::forward_list<int> second = {100, 200};
  std::forward_list<int>::iterator it;

  first.swap(second);

  std::cout << "first contains:";
  for (int& x: first) std::cout << " " << x;
  std::cout << std::endl;

  std::cout << "second contains:";
  for (int& x: second) std::cout << " " << x;
  std::cout << std::endl;

  return 0;
}


Output:
first contains: 100 200
second contains: 10 20 30

Complexity

Constant.

Iterator validity

All iterators, pointers and references remain valid, but now are referring to elements in the other container, and iterate in it.

See also