mdds
Public Types | Public Member Functions | List of all members
mdds::mtv::delayed_delete_vector< T, Allocator > Class Template Reference

#include <types.hpp>

Public Types

typedef store_type::value_type value_type
 
typedef store_type::size_type size_type
 
typedef store_type::difference_type difference_type
 
typedef store_type::reference reference
 
typedef store_type::const_reference const_reference
 
typedef store_type::pointer pointer
 
typedef store_type::const_pointer const_pointer
 
typedef store_type::iterator iterator
 
typedef store_type::reverse_iterator reverse_iterator
 
typedef store_type::const_iterator const_iterator
 
typedef store_type::const_reverse_iterator const_reverse_iterator
 

Public Member Functions

 delayed_delete_vector (size_t n, const T &val)
 
 delayed_delete_vector (size_t n)
 
template<typename InputIt >
 delayed_delete_vector (InputIt first, InputIt last)
 
iterator begin () noexcept
 
iterator end () noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rend () const noexcept
 
reference operator[] (size_type pos)
 
const_reference operator[] (size_type pos) const
 
reference at (size_type pos)
 
const_reference at (size_type pos) const
 
void push_back (const T &value)
 
iterator insert (iterator pos, const T &value)
 
iterator insert (const_iterator pos, T &&value)
 
template<typename InputIt >
void insert (iterator pos, InputIt first, InputIt last)
 
void resize (size_type count)
 
iterator erase (iterator pos)
 
iterator erase (iterator first, iterator last)
 
size_type capacity () const noexcept
 
void shrink_to_fit ()
 
void reserve (size_type new_cap)
 
size_type size () const
 
template<typename InputIt >
void assign (InputIt first, InputIt last)
 
T * data ()
 
const T * data () const
 

Detailed Description

template<typename T, typename Allocator = std::allocator<T>>
class mdds::mtv::delayed_delete_vector< T, Allocator >

Vector that delays deleting from the front of the vector, which avoids O(n^2) memory move operations when code needs to delete items from one element block and add to another element block.