neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::vector< T > Class Template Reference

#include <vector.hpp>

Inheritance diagram for neolib::vector< T >:
neolib::reference_counted< i_vector< abstract_t< T > > > neolib::i_vector< abstract_t< T > > neolib::i_contiguous_random_access_container< T > neolib::i_random_access_container< T > neolib::i_sequence_container< T, i_random_access_const_iterator< T >, i_random_access_iterator< T > > neolib::i_container< T, ConstIteratorType, IteratorType > neolib::i_reference_counted

Public Types

typedef i_vector< abstract_t< T > > abstract_type
 
typedef T value_type
 
typedef abstract_t< Tabstract_value_type
 
typedef std::vector< value_typestd_type
 
- Public Types inherited from neolib::i_vector< abstract_t< T > >
typedef self_type abstract_type
 
typedef offset_iterator< const value_typeconst_iterator
 
typedef offset_iterator< value_typeiterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
- Public Types inherited from neolib::i_contiguous_random_access_container< T >
typedef self_type abstract_type
 
typedef offset_iterator< const value_typeconst_iterator
 
typedef offset_iterator< value_typeiterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
- Public Types inherited from neolib::i_random_access_container< T >
typedef self_type abstract_type
 
- Public Types inherited from neolib::i_sequence_container< T, i_random_access_const_iterator< T >, i_random_access_iterator< T > >
typedef self_type abstract_type
 
typedef T value_type
 
typedef size_t size_type
 
typedef abstract_const_iterator::iterator_wrapper const_iterator
 
typedef abstract_iterator::iterator_wrapper iterator
 
typedef i_random_access_const_iterator< T > abstract_const_iterator
 
typedef i_random_access_iterator< T > abstract_iterator
 
- Public Types inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
typedef T value_type
 
typedef size_t size_type
 
typedef ConstIteratorType abstract_const_iterator
 
typedef IteratorType abstract_iterator
 
typedef abstract_const_iterator::iterator_wrapper const_iterator
 
typedef abstract_iterator::iterator_wrapper iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 

Public Member Functions

 vector ()
 
 vector (vector const &aOther)
 
 vector (vector &&aOther)
 
 vector (i_vector< abstract_value_type > const &aOther)
 
 vector (std_type const &aOtherContainer)
 
 vector (std::initializer_list< value_type > aValues)
 
template<typename InputIter >
 vector (InputIter aFirst, InputIter aLast)
 
vectoroperator= (vector const &aOther)
 
vectoroperator= (vector &&aOther)
 
vectoroperator= (i_vector< abstract_value_type > const &aOther)
 
const std_typeas_std_vector () const
 
std_typeas_std_vector ()
 
std_type to_std_vector () const
 
template<typename... Args>
iterator emplace (const_iterator aPos, Args &&... aArgs)
 
constexpr bool operator== (const self_type &that) const noexcept
 
constexpr std::partial_ordering operator<=> (const self_type &that) const noexcept
 
size_type size () const noexcept final
 
size_type max_size () const noexcept final
 
void clear () final
 
void assign (generic_container_type const &aOther) final
 
size_type capacity () const final
 
void reserve (size_type aCapacity) final
 
void resize (size_type aSize) final
 
void resize (size_type aSize, abstract_value_type const &aValue) final
 
void push_back (abstract_value_type const &aValue) final
 
template<typename... Args>
void emplace_back (Args &&... aArgs)
 
void pop_back () final
 
const value_typefront () const final
 
value_typefront () final
 
const value_typeback () const final
 
value_typeback () final
 
const value_typecdata () const noexcept final
 
const value_typedata () const noexcept final
 
value_typedata () noexcept final
 
const value_typeat (size_type aIndex) const final
 
value_typeat (size_type aIndex) final
 
const value_typeoperator[] (size_type aIndex) const final
 
value_typeoperator[] (size_type aIndex) final
 
- Public Member Functions inherited from neolib::reference_counted< i_vector< abstract_t< T > > >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_typerelease_and_take_ownership () const override
 
base_typerelease_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neolib::i_contiguous_random_access_container< T >
const_iterator cbegin () const
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator cend () const
 
const_iterator end () const
 
iterator end ()
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator rbegin () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator crend () const
 
const_reverse_iterator rend () const
 
reverse_iterator rend ()
 
iterator insert (const const_iterator &aPosition, const value_type &aValue)
 
iterator erase (const const_iterator &aPosition)
 
- Public Member Functions inherited from neolib::i_sequence_container< T, i_random_access_const_iterator< T >, i_random_access_iterator< T > >
virtual void resize (size_type aSize, const value_type &aValue)=0
 
iterator insert (const abstract_iterator &aPosition, const value_type &aValue)
 
iterator insert (const abstract_const_iterator &aPosition, const value_type &aValue)
 
virtual void push_back (const value_type &aValue)=0
 
- Public Member Functions inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
bool empty () const noexcept
 
const_iterator cbegin () const
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator cend () const
 
const_iterator end () const
 
iterator end ()
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator rbegin () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator crend () const
 
const_reverse_iterator rend () const
 
reverse_iterator rend ()
 
iterator erase (const abstract_iterator &aPosition)
 
iterator erase (const abstract_const_iterator &aPosition)
 
iterator erase (const abstract_iterator &aFirst, const abstract_iterator &aLast)
 
iterator erase (const abstract_const_iterator &aFirst, const abstract_const_iterator &aLast)
 
i_containeroperator= (const i_container &aRhs)
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 

Protected Types

typedef container::random_access_const_iterator< T, typename std_type::const_iterator > container_const_iterator
 
typedef container::random_access_iterator< T, typename std_type::iterator, typename std_type::const_iterator > container_iterator
 
- Protected Types inherited from neolib::i_container< T, ConstIteratorType, IteratorType >
typedef i_container< T, ConstIteratorType, IteratorTypegeneric_container_type
 

Detailed Description

template<typename T>
class neolib::vector< T >

Definition at line 47 of file vector.hpp.

Member Typedef Documentation

◆ abstract_type

template<typename T >
typedef i_vector<abstract_t<T> > neolib::vector< T >::abstract_type

Definition at line 53 of file vector.hpp.

◆ abstract_value_type

template<typename T >
typedef abstract_t<T> neolib::vector< T >::abstract_value_type

Definition at line 55 of file vector.hpp.

◆ container_const_iterator

template<typename T >
typedef container::random_access_const_iterator<T, typename std_type::const_iterator> neolib::vector< T >::container_const_iterator
protected

Definition at line 65 of file vector.hpp.

◆ container_iterator

template<typename T >
typedef container::random_access_iterator<T, typename std_type::iterator, typename std_type::const_iterator> neolib::vector< T >::container_iterator
protected

Definition at line 66 of file vector.hpp.

◆ std_type

template<typename T >
typedef std::vector<value_type> neolib::vector< T >::std_type

Definition at line 56 of file vector.hpp.

◆ value_type

template<typename T >
typedef T neolib::vector< T >::value_type

Definition at line 54 of file vector.hpp.

Constructor & Destructor Documentation

◆ vector() [1/7]

template<typename T >
neolib::vector< T >::vector ( )
inline

Definition at line 69 of file vector.hpp.

◆ vector() [2/7]

template<typename T >
neolib::vector< T >::vector ( vector< T > const aOther)
inline

Definition at line 70 of file vector.hpp.

◆ vector() [3/7]

template<typename T >
neolib::vector< T >::vector ( vector< T > &&  aOther)
inline

Definition at line 72 of file vector.hpp.

◆ vector() [4/7]

template<typename T >
neolib::vector< T >::vector ( i_vector< abstract_value_type > const aOther)
inline

Definition at line 74 of file vector.hpp.

◆ vector() [5/7]

template<typename T >
neolib::vector< T >::vector ( std_type const aOtherContainer)
inline

Definition at line 78 of file vector.hpp.

◆ vector() [6/7]

template<typename T >
neolib::vector< T >::vector ( std::initializer_list< value_type aValues)
inline

Definition at line 80 of file vector.hpp.

◆ vector() [7/7]

template<typename T >
template<typename InputIter >
neolib::vector< T >::vector ( InputIter  aFirst,
InputIter  aLast 
)
inline

Definition at line 83 of file vector.hpp.

Member Function Documentation

◆ as_std_vector() [1/2]

template<typename T >
std_type & neolib::vector< T >::as_std_vector ( )
inline

Definition at line 106 of file vector.hpp.

◆ as_std_vector() [2/2]

template<typename T >
const std_type & neolib::vector< T >::as_std_vector ( ) const
inline

Definition at line 102 of file vector.hpp.

◆ assign()

template<typename T >
void neolib::vector< T >::assign ( generic_container_type const aOther)
inlinefinalvirtual

◆ at() [1/2]

template<typename T >
const value_type & neolib::vector< T >::at ( size_type  aIndex) const
inlinefinalvirtual

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 245 of file vector.hpp.

◆ at() [2/2]

template<typename T >
value_type & neolib::vector< T >::at ( size_type  aIndex)
inlinefinalvirtual

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 249 of file vector.hpp.

◆ back() [1/2]

◆ back() [2/2]

◆ capacity()

template<typename T >
size_type neolib::vector< T >::capacity ( ) const
inlinefinalvirtual

◆ cdata()

template<typename T >
const value_type * neolib::vector< T >::cdata ( ) const
inlinefinalvirtualnoexcept

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 232 of file vector.hpp.

◆ clear()

template<typename T >
void neolib::vector< T >::clear ( )
inlinefinalvirtual

◆ data() [1/2]

template<typename T >
const value_type * neolib::vector< T >::data ( ) const
inlinefinalvirtualnoexcept

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 236 of file vector.hpp.

◆ data() [2/2]

template<typename T >
value_type * neolib::vector< T >::data ( )
inlinefinalvirtualnoexcept

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 240 of file vector.hpp.

◆ emplace()

template<typename T >
template<typename... Args>
iterator neolib::vector< T >::emplace ( const_iterator  aPos,
Args &&...  aArgs 
)
inline

Definition at line 115 of file vector.hpp.

◆ emplace_back()

template<typename T >
template<typename... Args>
void neolib::vector< T >::emplace_back ( Args &&...  aArgs)
inline

Definition at line 206 of file vector.hpp.

◆ front() [1/2]

template<typename T >
const value_type & neolib::vector< T >::front ( ) const
inlinefinalvirtual

◆ front() [2/2]

◆ max_size()

template<typename T >
size_type neolib::vector< T >::max_size ( ) const
inlinefinalvirtualnoexcept

◆ operator<=>()

template<typename T >
constexpr std::partial_ordering neolib::vector< T >::operator<=> ( const self_type &  that) const
inlineconstexprnoexcept

Definition at line 126 of file vector.hpp.

◆ operator=() [1/3]

template<typename T >
vector & neolib::vector< T >::operator= ( i_vector< abstract_value_type > const aOther)
inline

Definition at line 95 of file vector.hpp.

◆ operator=() [2/3]

template<typename T >
vector & neolib::vector< T >::operator= ( vector< T > &&  aOther)
inline

Definition at line 90 of file vector.hpp.

◆ operator=() [3/3]

template<typename T >
vector & neolib::vector< T >::operator= ( vector< T > const aOther)
inline

Definition at line 85 of file vector.hpp.

◆ operator==()

template<typename T >
constexpr bool neolib::vector< T >::operator== ( const self_type &  that) const
inlineconstexprnoexcept

Definition at line 122 of file vector.hpp.

◆ operator[]() [1/2]

template<typename T >
const value_type & neolib::vector< T >::operator[] ( size_type  aIndex) const
inlinefinalvirtual

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 253 of file vector.hpp.

◆ operator[]() [2/2]

template<typename T >
value_type & neolib::vector< T >::operator[] ( size_type  aIndex)
inlinefinalvirtual

Implements neolib::i_contiguous_random_access_container< T >.

Definition at line 257 of file vector.hpp.

◆ pop_back()

template<typename T >
void neolib::vector< T >::pop_back ( )
inlinefinalvirtual

◆ push_back()

template<typename T >
void neolib::vector< T >::push_back ( abstract_value_type const aValue)
inlinefinal

Definition at line 201 of file vector.hpp.

◆ reserve()

template<typename T >
void neolib::vector< T >::reserve ( size_type  aCapacity)
inlinefinalvirtual

◆ resize() [1/2]

template<typename T >
void neolib::vector< T >::resize ( size_type  aSize)
inlinefinalvirtual

◆ resize() [2/2]

template<typename T >
void neolib::vector< T >::resize ( size_type  aSize,
abstract_value_type const aValue 
)
inlinefinal

Definition at line 197 of file vector.hpp.

◆ size()

template<typename T >
size_type neolib::vector< T >::size ( ) const
inlinefinalvirtualnoexcept

◆ to_std_vector()

template<typename T >
std_type neolib::vector< T >::to_std_vector ( ) const
inline

Definition at line 110 of file vector.hpp.


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