template <typename T, std::size_t N>

class inplace_vector

Defined at line 18 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

Polyfill for C++26 std::inplace_vector.

See: https://wg21.link/P0843R8

Public Methods

void inplace_vector<T, N> ()

Defined at line 32 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void inplace_vector<T, N> (size_type n)

Defined at line 33 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void inplace_vector<T, N> (size_type n, const T & value)

Defined at line 42 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class InputIterator, typename = std::enable_if_t<!std::is_integral_v<InputIterator>>>
void inplace_vector<T, N> (InputIterator first, InputIterator last)

Defined at line 52 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <typename R, typename = internal::container_compatible_range_t<R, T>>
void inplace_vector<T, N> (cpp23::from_range_t , R && rg)

Defined at line 58 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <typename R, typename = internal::container_compatible_range_t<R, T>>
void inplace_vector<T, N> (cpp23::from_range_t , R && rg)

Defined at line 58 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void inplace_vector<T, N> (std::initializer_list<T> ilist)

Defined at line 63 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void inplace_vector<T, N> (const inplace_vector<T, N> & other)

Defined at line 71 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

inplace_vector<T, N> & operator= (const inplace_vector<T, N> & other)

Defined at line 72 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void inplace_vector<T, N> (inplace_vector<T, N> && other)

Defined at line 85 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

inplace_vector<T, N> & operator= (inplace_vector<T, N> && other)

Defined at line 94 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void ~inplace_vector<T, N> ()

Defined at line 108 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class InputIterator, typename = std::enable_if_t<!std::is_integral_v<InputIterator>>>
void assign (InputIterator first, InputIterator last)

Defined at line 111 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <typename R, typename = internal::container_compatible_range_t<R, T>>
void assign_range (R && rg)

Defined at line 118 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void assign (size_type n, const_reference value)

Defined at line 124 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void assign (std::initializer_list<T> ilist)

Defined at line 133 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

size_type size ()

Defined at line 143 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

size_type capacity ()

Defined at line 144 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

size_type max_size ()

Defined at line 145 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

bool empty ()

Defined at line 146 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void resize (size_type n)

Defined at line 148 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void resize (size_type n, const T & c)

Defined at line 149 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void reserve (size_type n)

Defined at line 164 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void shrink_to_fit ()

Defined at line 170 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

reference operator[] (size_type i)

Defined at line 174 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reference operator[] (size_type i)

Defined at line 178 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

reference at (size_type i)

Defined at line 182 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reference at (size_type i)

Defined at line 188 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

reference front ()

Defined at line 195 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reference front ()

Defined at line 199 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

reference back ()

Defined at line 203 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reference back ()

Defined at line 207 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T * data ()

Defined at line 212 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const T * data ()

Defined at line 213 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator begin ()

Defined at line 215 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_iterator begin ()

Defined at line 216 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_iterator cbegin ()

Defined at line 217 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator end ()

Defined at line 218 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_iterator end ()

Defined at line 219 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_iterator cend ()

Defined at line 220 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

reverse_iterator rbegin ()

Defined at line 222 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reverse_iterator rbegin ()

Defined at line 223 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reverse_iterator crbegin ()

Defined at line 224 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

reverse_iterator rend ()

Defined at line 227 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reverse_iterator rend ()

Defined at line 228 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

const_reverse_iterator crend ()

Defined at line 229 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void clear ()

Defined at line 233 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T & push_back (const T & value)

Defined at line 240 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T & push_back (T && value)

Defined at line 246 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T * try_push_back (const T & value)

Defined at line 254 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T * try_push_back (T && value)

Defined at line 257 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class... Args, typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
reference emplace_back (Args &&... args)

Defined at line 262 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class... Args, typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
T * try_emplace_back (Args &&... args)

Defined at line 269 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <typename R, typename = internal::container_compatible_range_t<R, T>>
void append_range (R && rg)

Defined at line 280 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class... Args, typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
T & unchecked_emplace_back (Args &&... args)

Defined at line 287 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T & unchecked_push_back (const T & value)

Defined at line 294 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

T & unchecked_push_back (T && value)

Defined at line 300 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void pop_back ()

Defined at line 307 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class... Args, typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
iterator emplace (const_iterator position, Args &&... args)

Defined at line 314 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator insert (const_iterator position, const T & x)

Defined at line 331 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator insert (const_iterator position, T && x)

Defined at line 332 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator insert (const_iterator position, size_type n, const_reference x)

Defined at line 335 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <class InputIterator, typename = std::enable_if_t<!std::is_integral_v<InputIterator>>>
iterator insert (const_iterator position, InputIterator first, InputIterator last)

Defined at line 340 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

template <typename R, typename = internal::container_compatible_range_t<R, T>>
iterator insert_range (const_iterator position, R && rg)

Defined at line 347 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator insert (const_iterator position, std::initializer_list<value_type> ilist)

Defined at line 353 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator erase (const_iterator pos)

Defined at line 357 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

iterator erase (const_iterator first, const_iterator last)

Defined at line 369 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

void swap (inplace_vector<T, N> & other)

Defined at line 386 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/inplace_vector.h

Friends

template <typename T, std::size_t N>
auto inplace_vector (const inplace_vector<T, N> & lhs, const inplace_vector<T, N> & rhs)
template <typename T, std::size_t N>
void inplace_vector (inplace_vector<T, N> & x, inplace_vector<T, N> & y)
template <typename T, std::size_t N>
bool inplace_vector (const inplace_vector<T, N> & lhs, const inplace_vector<T, N> & rhs)
template <typename Tstd::size_t N>
bool inplace_vector (const inplace_vector<T, N> & lhsconst inplace_vector<T, N> & rhs)