Empirical
|
Build a debug wrapper emp::vector around std::vector. More...
#include <vector.h>
Classes | |
struct | iterator_wrapper |
Setup an iterator wrapper to make sure that they're not used again after a vector changes. More... | |
Public Types | |
using | iterator = iterator_wrapper< typename stdv_t::iterator > |
using | const_iterator = iterator_wrapper< typename stdv_t::const_iterator > |
using | reverse_iterator = iterator_wrapper< typename stdv_t::reverse_iterator > |
using | const_reverse_iterator = iterator_wrapper< typename stdv_t::const_reverse_iterator > |
using | value_type = T |
using | size_type = typename stdv_t::size_type |
using | reference = typename stdv_t::reference |
using | const_reference = typename stdv_t::const_reference |
Public Member Functions | |
vector () | |
vector (const this_t &_in) | |
vector (size_t size) | |
vector (size_t size, const T &val) | |
vector (std::initializer_list< T > in_list) | |
vector (const stdv_t &in) | |
template<typename InputIt > | |
vector (InputIt first, InputIt last) | |
~vector () | |
size_t | size () const |
iterator | begin () noexcept |
const_iterator | begin () const noexcept |
iterator | end () noexcept |
const_iterator | end () const noexcept |
void | resize (size_t new_size) |
void | resize (size_t new_size, const T &val) |
this_t & | operator= (const this_t &)=default |
T & | operator[] (size_t pos) |
const T & | operator[] (size_t pos) const |
T & | back () |
const T & | back () const |
T & | front () |
const T & | front () const |
template<typename... PB_Ts> | |
void | push_back (PB_Ts &&...args) |
void | pop_back () |
template<typename... ARGS> | |
iterator | insert (ARGS &&...args) |
template<typename... ARGS> | |
iterator | erase (ARGS &&...args) |
template<typename... ARGS> | |
iterator | emplace (ARGS &&...args) |
template<typename... ARGS> | |
void | emplace_back (ARGS &&...args) |
Public Attributes | |
int | revision |
Setup a revision number - iterators must match the revision of their vector. More... | |
Build a debug wrapper emp::vector around std::vector.
using emp::vector< T, Ts >::const_iterator = iterator_wrapper< typename stdv_t::const_iterator > |
using emp::vector< T, Ts >::const_reference = typename stdv_t::const_reference |
using emp::vector< T, Ts >::const_reverse_iterator = iterator_wrapper< typename stdv_t::const_reverse_iterator > |
using emp::vector< T, Ts >::iterator = iterator_wrapper< typename stdv_t::iterator > |
using emp::vector< T, Ts >::reference = typename stdv_t::reference |
using emp::vector< T, Ts >::reverse_iterator = iterator_wrapper< typename stdv_t::reverse_iterator > |
using emp::vector< T, Ts >::size_type = typename stdv_t::size_type |
using emp::vector< T, Ts >::value_type = T |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
int emp::vector< T, Ts >::revision |
Setup a revision number - iterators must match the revision of their vector.