Wayverb
wayverb::core::detail::recursive_vector_impl< T > Class Template Referencefinal

#include <recursive_vector.h>

Public Types

using value_type = T
 
using allocator_type = std::allocator< T >
 
using size_type = std::size_t
 
using allocator_traits = std::allocator_traits< std::allocator< T >>
 
using pointer = typename allocator_traits::pointer
 
using const_pointer = typename allocator_traits::const_pointer
 
using iterator = pointer
 
using const_iterator = const_pointer
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

 recursive_vector_impl (size_type size=0)
 
void swap (recursive_vector_impl &other) noexcept
 
 recursive_vector_impl (const recursive_vector_impl &other)
 
 recursive_vector_impl (recursive_vector_impl &&other) noexcept
 
recursive_vector_imploperator= (const recursive_vector_impl &other)
 
recursive_vector_imploperator= (recursive_vector_impl &&other) noexcept
 
template<typename... Ts>
void construct (Ts &&...ts)
 
void destroy () noexcept
 
size_type size () const
 
size_type capacity () const
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 

Detailed Description

template<typename T>
class wayverb::core::detail::recursive_vector_impl< T >

Handles memory management for vector-like classes. Has a fixed capacity, and allows objects to be constructed or destroyed at the end of the internal array. For a true dynamic array, this must be wrapped in another class that handles copy/move when a size greater than the current capacity is requested.


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