Wayverb
wayverb::combined::model::min_size_vector< T, MinSize > Class Template Reference

A vector which must hold some minimum number of elements. More...

#include <min_size_vector.h>

Inheritance diagram for wayverb::combined::model::min_size_vector< T, MinSize >:
wayverb::combined::model::owning_member< min_size_vector< T, MinSize >, vector< T > > wayverb::combined::model::basic_member< min_size_vector< T, MinSize > >

Public Types

using base_type = owning_member< min_size_vector< T, MinSize >, vector< T >>
 
- Public Types inherited from wayverb::combined::model::owning_member< min_size_vector< T, MinSize >, vector< T > >
using derived_type = min_size_vector< T, MinSize >
 
using base_type = owning_member< min_size_vector< T, MinSize >, DataMembers... >
 
- Public Types inherited from wayverb::combined::model::basic_member< min_size_vector< T, MinSize > >
using derived_type = min_size_vector< T, MinSize >
 
using base_type = basic_member< min_size_vector< T, MinSize > >
 
using on_change = util::event< min_size_vector< T, MinSize > & >
 
using connection = typename on_change::connection
 
using scoped_connection = typename on_change::scoped_connection
 
using callback_type = typename on_change::callback_type
 

Public Member Functions

 min_size_vector (size_t extra, const T &t)
 
 min_size_vector (size_t extra)
 
template<size_t N>
 min_size_vector (const T(&arr)[N])
 
bool can_erase () const
 
const auto & operator[] (size_t index) const
 
auto & operator[] (size_t index)
 
auto & front ()
 
const auto & front () const
 
auto & back ()
 
const auto & back () const
 
auto cbegin () const
 
auto begin () const
 
auto begin ()
 
auto cend () const
 
auto end () const
 
auto end ()
 
void reserve (size_t items)
 
template<typename It >
auto insert (It it, const T &t)
 
void push_back (const T &t)
 
void pop_back ()
 
template<typename It >
void erase (It it)
 
void resize (size_t new_size, const T &t)
 Will resize to std::max(MinSize, new_size)
 
void resize (size_t new_size)
 
auto size () const
 
auto empty () const
 
void clear ()
 
- Public Member Functions inherited from wayverb::combined::model::owning_member< min_size_vector< T, MinSize >, vector< T > >
 owning_member ()
 
 owning_member (const DataMembers &...data_members)
 
 owning_member (const owning_member &other)
 
owning_memberoperator= (const owning_member &other)
 
void serialize (Archive &archive)
 
bool operator== (const owning_member &other) const
 
bool operator!= (const owning_member &other) const
 
- Public Member Functions inherited from wayverb::combined::model::basic_member< min_size_vector< T, MinSize > >
 basic_member (const basic_member &)
 
basic_memberoperator= (const basic_member &)
 
connection connect (callback_type t)
 
void notify ()
 
size_t connections () const
 

Additional Inherited Members

- Protected Member Functions inherited from wayverb::combined::model::owning_member< min_size_vector< T, MinSize >, vector< T > >
const auto & get () const &
 
auto & get ()&
 
const auto & get () const &
 
auto & get ()&
 

Detailed Description

template<typename T, size_t MinSize>
class wayverb::combined::model::min_size_vector< T, MinSize >

A vector which must hold some minimum number of elements.

Constructor & Destructor Documentation

template<typename T , size_t MinSize>
wayverb::combined::model::min_size_vector< T, MinSize >::min_size_vector ( size_t  extra,
const T &  t 
)
inline

IMPORTANT: constructors allocate 'extra' elements in addition to the minimum number of elements.


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