C/C++ API Reference
Loading...
Searching...
No Matches
pw::DynamicVector< T, SizeType > Class Template Reference

Overview

template<typename T, typename SizeType = uint16_t>
class pw::DynamicVector< T, SizeType >

Array-backed list similar to std::vector, but optimized for embedded.

Key features of pw::DynamicVector.

Note
pw::DynamicVector is currently implemented as a wrapper around pw::DynamicDeque. Some operations are more expensive than they need to be, and DynamicVector objects are larger than necessary. This overhead will be eliminated in the future (see b/424613355).

Public Types

using value_type = T
 
using size_type = SizeType
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using iterator = containers::PtrIterator< DynamicVector >
 
using const_iterator = containers::ConstPtrIterator< DynamicVector >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using allocator_type = Allocator
 

Public Member Functions

constexpr DynamicVector (Allocator &allocator)
 
 DynamicVector (const DynamicVector &)=delete
 
DynamicVectoroperator= (const DynamicVector &)=delete
 
constexpr DynamicVector (DynamicVector &&)=default
 
constexpr DynamicVectoroperator= (DynamicVector &&)=default
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator crbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
const_reverse_iterator crend () const
 
constexpr allocator_typeget_allocator () const
 Returns the vector's allocator.
 
bool empty () const
 Checks if the vector is empty.
 
size_type size () const
 Returns the number of elements in the vector.
 
size_type capacity () const
 
size_type max_size () const
 Maximum possible value of size(), ignoring allocator limitations.
 
void reserve (size_type new_capacity)
 
void reserve_exact (size_type new_capacity)
 
bool try_reserve (size_type new_capacity)
 
bool try_reserve_exact (size_type new_capacity)
 
void shrink_to_fit ()
 Reduces memory usage by releasing unused capacity.
 
reference operator[] (size_type pos)
 
const_reference operator[] (size_type pos) const
 
reference at (size_type pos)
 
const_reference at (size_type pos) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
pointer data ()
 
const_pointer data () const
 
void assign (size_type count, const value_type &value)
 
bool try_assign (size_type count, const value_type &value)
 
void assign (std::initializer_list< T > init)
 
bool try_assign (std::initializer_list< T > init)
 
void push_back (const value_type &value)
 
void push_back (value_type &&value)
 
bool try_push_back (const value_type &value)
 
bool try_push_back (value_type &&value)
 
void pop_back ()
 
template<typename... Args>
void emplace_back (Args &&... args)
 
template<typename... Args>
bool try_emplace_back (Args &&... args)
 
template<typename... Args>
iterator emplace (const_iterator pos, Args &&... args)
 
template<typename... Args>
std::optional< iteratortry_emplace (const_iterator pos, Args &&... args)
 
iterator insert (const_iterator pos, const T &value)
 
iterator insert (const_iterator pos, T &&value)
 
iterator insert (const_iterator pos, size_type count, const T &value)
 
template<typename InputIt >
iterator insert (const_iterator pos, InputIt first, InputIt last)
 
iterator insert (const_iterator pos, std::initializer_list< T > ilist)
 
std::optional< iteratortry_insert (const_iterator pos, const T &value)
 
std::optional< iteratortry_insert (const_iterator pos, T &&value)
 
std::optional< iteratortry_insert (const_iterator pos, size_type count, const T &value)
 
template<typename InputIt >
std::optional< iteratortry_insert (const_iterator pos, InputIt first, InputIt last)
 
std::optional< iteratortry_insert (const_iterator pos, std::initializer_list< T > ilist)
 
iterator erase (const_iterator pos)
 
iterator erase (const_iterator first, const_iterator last)
 
void resize (size_type count)
 
void resize (size_type count, const value_type &value)
 
bool try_resize (size_type count)
 
bool try_resize (size_type count, const value_type &value)
 
void clear ()
 Removes all elements from the vector.
 
void swap (DynamicVector &other)
 

The documentation for this class was generated from the following file: