std::vector<T,Allocator>::swap (3) - Linux Manuals
std::vector<T,Allocator>::swap: std::vector<T,Allocator>::swap
Command to display std::vector<T,Allocator>::swap
manual in Linux: $ man 3 std::vector<T,Allocator>::swap
NAME
std::vector<T,Allocator>::swap - std::vector<T,Allocator>::swap
Synopsis
void swap( vector& other ); (until C++17)
void swap( vector& other ) noexcept(/* see below */); (since C++17)
Exchanges the contents of the container with those of other. Does not invoke any move, copy, or swap operations on individual elements.
All iterators and references remain valid. The past-the-end iterator is invalidated.
If std::allocator_traits<allocator_type>::propagate_on_container_swap::value is true, then the allocators are exchanged using an unqualified call to non-member swap. Otherwise, they are not swapped (and if get_allocator() != other.get_allocator(), the behavior is undefined). (since C++11)
Parameters
other - container to exchange the contents with
Return value
(none)
Exceptions
(none) (until C++17)
noexcept specification:
noexcept(std::allocator_traits<Allocator>::propagate_on_container_swap::value (since C++17)
|| std::allocator_traits<Allocator>::is_always_equal::value)
Complexity
Constant.
Example
// Run this code
#include <vector>
#include <iostream>
void printVector(std::vector<int>& vec)
{
for (int a : vec)
{
std::cout << a << " ";
}
}
int main()
{
std::vector<int> v1{1, 2, 3};
std::vector<int> v2{7, 8, 9};
std::cout << "v1: ";
printVector(v1);
std::cout << "\nv2: ";
printVector(v2);
std::cout << "\n-- SWAP\n";
v2.swap(v1);
std::cout << "v1: ";
printVector(v1);
std::cout << "\nv2: ";
printVector(v2);
}
Output:
v1: 1 2 3
v2: 7 8 9
-- SWAP
v1: 7 8 9
v2: 1 2 3
See also
specializes the std::swap algorithm
std::swap(std::vector) (function template)
Pages related to std::vector<T,Allocator>::swap
- std::vector<T,Allocator>::shrink_to_fit (3) - std::vector<T,Allocator>::shrink_to_fit
- std::vector<T,Allocator>::size (3) - std::vector<T,Allocator>::size
- std::vector<T,Allocator>::assign (3) - std::vector<T,Allocator>::assign
- std::vector<T,Allocator>::at (3) - std::vector<T,Allocator>::at
- std::vector<T,Allocator>::back (3) - std::vector<T,Allocator>::back
- std::vector<T,Allocator>::begin,std::vector<T,Allocator>::cbegin (3) - std::vector<T,Allocator>::begin,std::vector<T,Allocator>::cbegin
- std::vector<T,Allocator>::capacity (3) - std::vector<T,Allocator>::capacity
- std::vector<T,Allocator>::clear (3) - std::vector<T,Allocator>::clear
- std::vector<T,Allocator>::data (3) - std::vector<T,Allocator>::data
- std::vector<T,Allocator>::emplace (3) - std::vector<T,Allocator>::emplace
- std::vector<T,Allocator>::emplace_back (3) - std::vector<T,Allocator>::emplace_back
- std::vector<T,Allocator>::empty (3) - std::vector<T,Allocator>::empty
- std::vector<T,Allocator>::end,std::vector<T,Allocator>::cend (3) - std::vector<T,Allocator>::end,std::vector<T,Allocator>::cend
- std::vector<T,Allocator>::erase (3) - std::vector<T,Allocator>::erase
- std::vector<T,Allocator>::front (3) - std::vector<T,Allocator>::front
- std::vector<T,Allocator>::get_allocator (3) - std::vector<T,Allocator>::get_allocator
- std::vector<T,Allocator>::insert (3) - std::vector<T,Allocator>::insert
- std::vector<T,Allocator>::max_size (3) - std::vector<T,Allocator>::max_size
- std::vector<T,Allocator>::operator= (3) - std::vector<T,Allocator>::operator=
- std::vector<T,Allocator>::operator[] (3) - std::vector<T,Allocator>::operator[]
- std::vector<T,Allocator>::pop_back (3) - std::vector<T,Allocator>::pop_back
- std::vector<T,Allocator>::push_back (3) - std::vector<T,Allocator>::push_back
- std::vector<T,Allocator>::rbegin,std::vector<T,Allocator>::crbegin (3) - std::vector<T,Allocator>::rbegin,std::vector<T,Allocator>::crbegin
- std::vector<T,Allocator>::rend,std::vector<T,Allocator>::crend (3) - std::vector<T,Allocator>::rend,std::vector<T,Allocator>::crend
- std::vector<T,Allocator>::reserve (3) - std::vector<T,Allocator>::reserve
- std::vector<T,Allocator>::resize (3) - std::vector<T,Allocator>::resize
- std::vector<T,Allocator>::vector (3) - std::vector<T,Allocator>::vector
- std::vector<T,Allocator>::~vector (3) - std::vector<T,Allocator>::~vector
- std::vector<bool,Allocator>::flip (3) - std::vector<bool,Allocator>::flip