MOS Source Code
Loading...
Searching...
No Matches
vector< TItem > Class Template Reference

#include <vector.hpp>

Classes

class  base_iterator

Public Member Functions

 vector ()=default
 vector (std::initializer_list< TItem > list)
 vector (const vector &other)
vectoroperator= (const vector &other)
 vector (vector &&other) noexcept
vectoroperator= (vector &&other) noexcept
 ~vector () noexcept
auto & operator[] (size_t index) const noexcept
auto & at (this auto &Self, size_t index) noexcept
auto data (this auto &Self) noexcept
auto size () const noexcept
auto capacity () const noexcept
auto empty () const noexcept
auto reserve (size_t newSize) noexcept
auto resize (size_t new_size) noexcept
auto push_back (const TItem &value) noexcept
auto push_back (TItem &&value) noexcept
auto pop_back () noexcept
auto clear () noexcept
auto begin () noexcept
auto end () noexcept
auto begin () const noexcept
auto end () const noexcept

Private Types

using iterator = base_iterator<TItem *, TItem &>
using const_iterator = base_iterator<const TItem *, const TItem &>

Static Private Member Functions

static constexpr size_t GetNewCapacityForSize (size_t newSize) noexcept

Private Attributes

voidm_storage = nullptr
size_t m_size = 0
size_t m_capacity = 0

Detailed Description

template<typename TItem>
class mos::vector< TItem >

Definition at line 13 of file vector.hpp.

Member Typedef Documentation

◆ iterator

template<typename TItem>
using iterator = base_iterator<TItem *, TItem &>
private

Definition at line 220 of file vector.hpp.

◆ const_iterator

template<typename TItem>
using const_iterator = base_iterator<const TItem *, const TItem &>
private

Definition at line 221 of file vector.hpp.

Constructor & Destructor Documentation

◆ vector() [1/4]

template<typename TItem>
vector ( )
default

Referenced by operator=(), operator=(), vector(), and vector().

◆ vector() [2/4]

template<typename TItem>
vector ( std::initializer_list< TItem > list)
inline

Definition at line 19 of file vector.hpp.

Here is the call graph for this function:

◆ vector() [3/4]

template<typename TItem>
vector ( const vector< TItem > & other)
inline

Definition at line 29 of file vector.hpp.

Here is the call graph for this function:

◆ vector() [4/4]

template<typename TItem>
vector ( vector< TItem > && other)
inlinenoexcept

Definition at line 45 of file vector.hpp.

Here is the call graph for this function:

◆ ~vector()

template<typename TItem>
~vector ( )
inlinenoexcept

Definition at line 68 of file vector.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ operator=() [1/2]

template<typename TItem>
vector & operator= ( const vector< TItem > & other)
inline

Definition at line 34 of file vector.hpp.

Here is the call graph for this function:

◆ operator=() [2/2]

template<typename TItem>
vector & operator= ( vector< TItem > && other)
inlinenoexcept

Definition at line 52 of file vector.hpp.

Here is the call graph for this function:

◆ operator[]()

template<typename TItem>
auto & operator[] ( size_t index) const
inlinenoexcept

Definition at line 79 of file vector.hpp.

Here is the call graph for this function:

◆ at()

template<typename TItem>
auto & at ( this auto & Self,
size_t index )
inlinenoexcept

Definition at line 84 of file vector.hpp.

Referenced by operator=(), operator[](), pop_back(), push_back(), push_back(), reserve(), resize(), and vector().

◆ data()

template<typename TItem>
auto data ( this auto & Self)
inlinenoexcept

Definition at line 90 of file vector.hpp.

Referenced by elf_setup_main_thread().

◆ size()

template<typename TItem>
auto size ( ) const
inlinenoexcept

Definition at line 98 of file vector.hpp.

Referenced by elf_setup_main_thread(), and mos_start_kernel().

◆ capacity()

template<typename TItem>
auto capacity ( ) const
inlinenoexcept

Definition at line 103 of file vector.hpp.

◆ empty()

template<typename TItem>
auto empty ( ) const
inlinenoexcept

Definition at line 108 of file vector.hpp.

Referenced by clear(), and process_do_execveat().

◆ reserve()

template<typename TItem>
auto reserve ( size_t newSize)
inlinenoexcept

Definition at line 113 of file vector.hpp.

Referenced by push_back(), push_back(), resize(), and vector().

Here is the call graph for this function:

◆ resize()

template<typename TItem>
auto resize ( size_t new_size)
inlinenoexcept

Definition at line 129 of file vector.hpp.

Here is the call graph for this function:

◆ push_back() [1/2]

template<typename TItem>
auto push_back ( const TItem & value)
inlinenoexcept

Definition at line 143 of file vector.hpp.

Referenced by cmdline_parse_vector(), MOS_STATIC_ASSERT(), operator=(), process_do_execveat(), and split_string().

Here is the call graph for this function:

◆ push_back() [2/2]

template<typename TItem>
auto push_back ( TItem && value)
inlinenoexcept

Definition at line 151 of file vector.hpp.

Here is the call graph for this function:

◆ pop_back()

template<typename TItem>
auto pop_back ( )
inlinenoexcept

Definition at line 159 of file vector.hpp.

Referenced by clear().

Here is the call graph for this function:

◆ clear()

template<typename TItem>
auto clear ( )
inlinenoexcept

Definition at line 168 of file vector.hpp.

Referenced by operator=(), operator=(), and ~vector().

Here is the call graph for this function:

◆ GetNewCapacityForSize()

template<typename TItem>
constexpr size_t GetNewCapacityForSize ( size_t newSize)
inlinestaticconstexprprivatenoexcept

Definition at line 183 of file vector.hpp.

Referenced by reserve().

◆ begin() [1/2]

template<typename TItem>
auto begin ( )
inlinenoexcept

Definition at line 224 of file vector.hpp.

◆ end() [1/2]

template<typename TItem>
auto end ( )
inlinenoexcept

Definition at line 229 of file vector.hpp.

◆ begin() [2/2]

template<typename TItem>
auto begin ( ) const
inlinenoexcept

Definition at line 234 of file vector.hpp.

◆ end() [2/2]

template<typename TItem>
auto end ( ) const
inlinenoexcept

Definition at line 239 of file vector.hpp.

Member Data Documentation

◆ m_storage

template<typename TItem>
void* m_storage = nullptr
private

Definition at line 74 of file vector.hpp.

Referenced by begin(), begin(), clear(), end(), end(), operator=(), and reserve().

◆ m_size

template<typename TItem>
size_t m_size = 0
private

◆ m_capacity

template<typename TItem>
size_t m_capacity = 0
private

Definition at line 76 of file vector.hpp.

Referenced by capacity(), clear(), operator=(), push_back(), push_back(), reserve(), and resize().


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