momo  3.12
momo::stdish::vector< TValue, TAllocator > Class Template Reference

momo::stdish::vector is similar to std::vector. More...

#include <vector.h>

Inheritance diagram for momo::stdish::vector< TValue, TAllocator >:
momo::stdish::vector_adaptor< Array< TValue, MemManagerStd< std::allocator< TValue > > > >

Public Member Functions

vectoroperator= (std::initializer_list< typename VectorAdaptor::value_type > values)
 
- Public Member Functions inherited from momo::stdish::vector_adaptor< Array< TValue, MemManagerStd< std::allocator< TValue > > > >
 vector_adaptor () noexcept(noexcept(Array()))
 
 vector_adaptor (const allocator_type &alloc) noexcept
 
 vector_adaptor (size_type count, const allocator_type &alloc=allocator_type())
 
 vector_adaptor (size_type count, const value_type &value, const allocator_type &alloc=allocator_type())
 
 vector_adaptor (Iterator first, Iterator last, const allocator_type &alloc=allocator_type())
 
 vector_adaptor (std::initializer_list< value_type > values, const allocator_type &alloc=allocator_type())
 
 vector_adaptor (vector_adaptor &&right) noexcept
 
 vector_adaptor (vector_adaptor &&right, const allocator_type &alloc) noexcept(std::is_empty< allocator_type >::value)
 
 vector_adaptor (const vector_adaptor &right)
 
 vector_adaptor (const vector_adaptor &right, const allocator_type &alloc)
 
 ~vector_adaptor ()=default
 
vector_adaptoroperator= (vector_adaptor &&right) noexcept(momo::internal::ContainerAssignerStd::IsNothrowMoveAssignable< vector_adaptor >::value)
 
vector_adaptoroperator= (const vector_adaptor &right)
 
vector_adaptoroperator= (std::initializer_list< value_type > values)
 
void swap (vector_adaptor &right) noexcept
 
const nested_container_typeget_nested_container () const noexcept
 
nested_container_typeget_nested_container () noexcept
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rend () const noexcept
 
reverse_iterator rend () noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crend () const noexcept
 
value_typedata () noexcept
 
const value_typedata () const noexcept
 
allocator_type get_allocator () const noexcept
 
size_type max_size () const noexcept
 
size_type size () const noexcept
 
void resize (size_type size)
 
void resize (size_type size, const value_type &value)
 
MOMO_NODISCARD bool empty () const noexcept
 
void clear () noexcept
 
size_type capacity () const noexcept
 
void reserve (size_type count)
 
void shrink_to_fit ()
 
const_reference operator[] (size_type index) const
 
reference operator[] (size_type index)
 
const_reference at (size_type index) const
 
reference at (size_type index)
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void push_back (value_type &&value)
 
void push_back (const value_type &value)
 
iterator insert (const_iterator where, value_type &&value)
 
iterator insert (const_iterator where, const value_type &value)
 
iterator insert (const_iterator where, size_type count, const value_type &value)
 
iterator insert (const_iterator where, Iterator first, Iterator last)
 
iterator insert (const_iterator where, std::initializer_list< value_type > values)
 
reference emplace_back (ValueArgs &&... valueArgs)
 
iterator emplace (const_iterator where, ValueArgs &&... valueArgs)
 
void pop_back ()
 
iterator erase (const_iterator where)
 
iterator erase (const_iterator first, const_iterator last)
 
void assign (size_type count, const value_type &value)
 
void assign (Iterator first, Iterator last)
 
void assign (std::initializer_list< value_type > values)
 

Friends

void swap (vector &left, vector &right) noexcept
 

Additional Inherited Members

- Public Types inherited from momo::stdish::vector_adaptor< Array< TValue, MemManagerStd< std::allocator< TValue > > > >
typedef Array::Item value_type
 
typedef std::allocator_traits< typename MemManager::ByteAllocator >::template rebind_alloc< value_typeallocator_type
 
typedef Array nested_container_type
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef Array::Iterator iterator
 
typedef Array::ConstIterator const_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Detailed Description

template<typename TValue, typename TAllocator = std::allocator<TValue>>
class momo::stdish::vector< TValue, TAllocator >

momo::stdish::vector is similar to std::vector.

It is allowed to pass to functions push_back, insert, emplace_back and emplace references to items within the container. But in case of the function insert, receiving pair of iterators, it's not allowed to pass iterators pointing to the items within the container.

Member Function Documentation

◆ operator=()

template<typename TValue , typename TAllocator = std::allocator<TValue>>
vector& momo::stdish::vector< TValue, TAllocator >::operator= ( std::initializer_list< typename VectorAdaptor::value_type values)
inline

Friends And Related Function Documentation

◆ swap

template<typename TValue , typename TAllocator = std::allocator<TValue>>
void swap ( vector< TValue, TAllocator > &  left,
vector< TValue, TAllocator > &  right 
)
friend

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