Vector#
Source file#
Interface#
-
template<ContainerElement T>
class Vector# A dynamic array container.
A
Vectoris a sequence container that supports: (amortized) constant time insert and erase operations at the end; insert and erase in the middle take linear time. Storage management is handled automatically, though hints can be given to improve efficiency.Difference
Allocatoris not required as template parameter.vector<bool>is a vector of boolean values and not a bit vector.The storage expansion policy is implementation defined.
- 模板参数
T – Type of the elements stored in the vector.
Public Types
-
using allocator_traits = std::allocator_traits<allocator_type>#
-
using pointer = typename allocator_traits::pointer#
-
using const_pointer = typename allocator_traits::const_pointer#
-
using reference = value_type&#
-
using const_reference = const value_type&#
-
using size_type = std::size_t#
-
using difference_type = std::ptrdiff_t#
-
using const_reverse_iterator = std::reverse_iterator<const_iterator>#
Public Functions
-
constexpr Vector() noexcept#
-
~Vector()#
-
constexpr Vector &operator=(Vector &&other) noexcept(allocator_traits::propagate_on_container_move_assignment::value || allocator_traits::is_always_equal::value)#
-
constexpr allocator_type get_allocator() const noexcept#
-
constexpr const_iterator begin() const noexcept#
-
constexpr const_iterator end() const noexcept#
-
constexpr const_iterator cbegin() const noexcept#
-
constexpr const_iterator cend() const noexcept#
-
constexpr reverse_iterator rbegin() noexcept#
-
constexpr reverse_iterator rend() noexcept#
-
constexpr const_reverse_iterator rbegin() const noexcept#
-
constexpr const_reverse_iterator rend() const noexcept#
-
constexpr const_reverse_iterator crbegin() const noexcept#
-
constexpr const_reverse_iterator crend() const noexcept#
-
constexpr bool empty() const noexcept#
-
constexpr void shrink_to_fit()#
-
constexpr const_reference operator[](size_type pos) const#
-
constexpr const_reference at(size_type pos) const#
-
constexpr const_reference front() const#
-
constexpr const_reference back() const#
-
constexpr void pop_back()#
-
template<class ...Args>
constexpr iterator emplace(const_iterator position, Args&&... args)#
-
constexpr iterator insert(const_iterator pos, const T &value)#
-
constexpr iterator insert(const_iterator pos, T &&rvalue)#
-
constexpr iterator insert(const_iterator pos, size_type count, const T &value)#
-
template<std::input_iterator InputIt>
constexpr iterator insert(const_iterator pos, InputIt first, InputIt last)#
-
constexpr iterator insert(const_iterator pos, std::initializer_list<T> ilist)#
-
constexpr iterator erase(const_iterator pos)#
-
constexpr iterator erase(const_iterator first, const_iterator last)#
-
constexpr void swap(Vector &other) noexcept(allocator_traits::propagate_on_container_swap::value || allocator_traits::is_always_equal::value)#
-
constexpr void clear() noexcept#