Nugget
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
eastl::vector< T, Allocator > Class Template Reference

#include <vector.h>

Inheritance diagram for eastl::vector< T, Allocator >:
Inheritance graph
[legend]
Collaboration diagram for eastl::vector< T, Allocator >:
Collaboration graph
[legend]

Classes

struct  should_move_or_copy_tag
 

Public Types

typedef T value_type
 
typedef T * pointer
 
typedef const T * const_pointer
 
typedef T & reference
 
typedef const T & const_reference
 
typedef T * iterator
 
typedef const T * const_iterator
 
typedef eastl::reverse_iterator< iterator > reverse_iterator
 
typedef eastl::reverse_iterator< const_iterator > const_reverse_iterator
 
typedef base_type::size_type size_type
 
typedef base_type::difference_type difference_type
 
typedef base_type::allocator_type allocator_type
 
- Public Types inherited from eastl::VectorBase< T, EASTLAllocatorType >
typedef EASTLAllocatorType allocator_type
 
typedef eastl_size_t size_type
 
typedef ptrdiff_t difference_type
 

Public Member Functions

 vector (const allocator_type &allocator) EA_NOEXCEPT
 
 vector (size_type n, const allocator_type &allocator=EASTL_VECTOR_DEFAULT_ALLOCATOR)
 
 vector (size_type n, const value_type &value, const allocator_type &allocator=EASTL_VECTOR_DEFAULT_ALLOCATOR)
 
 vector (const this_type &x)
 
 vector (const this_type &x, const allocator_type &allocator)
 
 vector (this_type &&x) EA_NOEXCEPT
 
 vector (this_type &&x, const allocator_type &allocator)
 
 vector (std::initializer_list< value_type > ilist, const allocator_type &allocator=EASTL_VECTOR_DEFAULT_ALLOCATOR)
 
template<typename InputIterator >
 vector (InputIterator first, InputIterator last, const allocator_type &allocator=EASTL_VECTOR_DEFAULT_ALLOCATOR)
 
this_typeoperator= (const this_type &x)
 
this_typeoperator= (std::initializer_list< value_type > ilist)
 
this_typeoperator= (this_type &&x)
 
void swap (this_type &x)
 
void assign (size_type n, const value_type &value)
 
template<typename InputIterator >
void assign (InputIterator first, InputIterator last)
 
void assign (std::initializer_list< value_type > ilist)
 
iterator begin () EA_NOEXCEPT
 
const_iterator begin () const EA_NOEXCEPT
 
const_iterator cbegin () const EA_NOEXCEPT
 
iterator end () EA_NOEXCEPT
 
const_iterator end () const EA_NOEXCEPT
 
const_iterator cend () const EA_NOEXCEPT
 
reverse_iterator rbegin () EA_NOEXCEPT
 
const_reverse_iterator rbegin () const EA_NOEXCEPT
 
const_reverse_iterator crbegin () const EA_NOEXCEPT
 
reverse_iterator rend () EA_NOEXCEPT
 
const_reverse_iterator rend () const EA_NOEXCEPT
 
const_reverse_iterator crend () const EA_NOEXCEPT
 
bool empty () const EA_NOEXCEPT
 
size_type size () const EA_NOEXCEPT
 
size_type capacity () const EA_NOEXCEPT
 
void resize (size_type n, const value_type &value)
 
void resize (size_type n)
 
void reserve (size_type n)
 
void set_capacity (size_type n=base_type::npos)
 
void shrink_to_fit ()
 
pointer data () EA_NOEXCEPT
 
const_pointer data () const EA_NOEXCEPT
 
reference operator[] (size_type n)
 
const_reference operator[] (size_type n) const
 
reference at (size_type n)
 
const_reference at (size_type n) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void push_back (const value_type &value)
 
reference push_back ()
 
void * push_back_uninitialized ()
 
void push_back (value_type &&value)
 
void pop_back ()
 
template<class... Args>
iterator emplace (const_iterator position, Args &&... args)
 
template<class... Args>
reference emplace_back (Args &&... args)
 
iterator insert (const_iterator position, const value_type &value)
 
iterator insert (const_iterator position, size_type n, const value_type &value)
 
iterator insert (const_iterator position, value_type &&value)
 
iterator insert (const_iterator position, std::initializer_list< value_type > ilist)
 
template<typename InputIterator >
iterator insert (const_iterator position, InputIterator first, InputIterator last)
 
iterator erase_first (const T &value)
 
iterator erase_first_unsorted (const T &value)
 
reverse_iterator erase_last (const T &value)
 
reverse_iterator erase_last_unsorted (const T &value)
 
iterator erase (const_iterator position)
 
iterator erase (const_iterator first, const_iterator last)
 
iterator erase_unsorted (const_iterator position)
 
reverse_iterator erase (const_reverse_iterator position)
 
reverse_iterator erase (const_reverse_iterator first, const_reverse_iterator last)
 
reverse_iterator erase_unsorted (const_reverse_iterator position)
 
void clear () EA_NOEXCEPT
 
void reset_lose_memory () EA_NOEXCEPT
 
bool validate () const EA_NOEXCEPT
 
int validate_iterator (const_iterator i) const EA_NOEXCEPT
 
size_type GetNewCapacity (size_type currentCapacity)
 
T * DoAllocate (size_type n)
 
void DoFree (T *p, size_type n)
 
T *& internalCapacityPtr () EA_NOEXCEPT
 
T *const & internalCapacityPtr () const EA_NOEXCEPT
 
allocator_type & internalAllocator () EA_NOEXCEPT
 
const allocator_type & internalAllocator () const EA_NOEXCEPT
 
- Public Member Functions inherited from eastl::VectorBase< T, EASTLAllocatorType >
 VectorBase (const allocator_type &allocator)
 
 VectorBase (size_type n, const allocator_type &allocator)
 
const allocator_type & get_allocator () const EA_NOEXCEPT
 
allocator_type & get_allocator () EA_NOEXCEPT
 
void set_allocator (const allocator_type &allocator)
 

Public Attributes

T * mpBegin
 -1 is reserved for 'npos'. It also happens to be slightly beneficial that kMaxSize is a value less than -1, as it helps us deal with potential integer wraparound issues.
 
T * mpEnd
 
eastl::compressed_pair< T *, allocator_type > mCapacityAllocator
 

Static Public Attributes

static const size_type npos
 
- Static Public Attributes inherited from eastl::VectorBase< T, EASTLAllocatorType >
static const size_type npos
 
static const size_type kMaxSize
 'npos' means non-valid position or simply non-position.
 

Protected Types

using should_copy_tag = should_move_or_copy_tag< false >
 
using should_move_tag = should_move_or_copy_tag< true >
 

Protected Member Functions

template<typename ForwardIterator >
pointer DoRealloc (size_type n, ForwardIterator first, ForwardIterator last, should_copy_tag)
 
template<typename ForwardIterator >
pointer DoRealloc (size_type n, ForwardIterator first, ForwardIterator last, should_move_tag)
 
template<typename Integer >
void DoInit (Integer n, Integer value, true_type)
 
template<typename InputIterator >
void DoInit (InputIterator first, InputIterator last, false_type)
 
template<typename InputIterator >
void DoInitFromIterator (InputIterator first, InputIterator last, EASTL_ITC_NS::input_iterator_tag)
 
template<typename ForwardIterator >
void DoInitFromIterator (ForwardIterator first, ForwardIterator last, EASTL_ITC_NS::forward_iterator_tag)
 
template<typename Integer , bool bMove>
void DoAssign (Integer n, Integer value, true_type)
 
template<typename InputIterator , bool bMove>
void DoAssign (InputIterator first, InputIterator last, false_type)
 
void DoAssignValues (size_type n, const value_type &value)
 
template<typename InputIterator , bool bMove>
void DoAssignFromIterator (InputIterator first, InputIterator last, EASTL_ITC_NS::input_iterator_tag)
 
template<typename RandomAccessIterator , bool bMove>
void DoAssignFromIterator (RandomAccessIterator first, RandomAccessIterator last, EASTL_ITC_NS::random_access_iterator_tag)
 
template<typename Integer >
void DoInsert (const_iterator position, Integer n, Integer value, true_type)
 
template<typename InputIterator >
void DoInsert (const_iterator position, InputIterator first, InputIterator last, false_type)
 
template<typename InputIterator >
void DoInsertFromIterator (const_iterator position, InputIterator first, InputIterator last, EASTL_ITC_NS::input_iterator_tag)
 
template<typename BidirectionalIterator >
void DoInsertFromIterator (const_iterator position, BidirectionalIterator first, BidirectionalIterator last, EASTL_ITC_NS::bidirectional_iterator_tag)
 
void DoInsertValues (const_iterator position, size_type n, const value_type &value)
 
void DoInsertValuesEnd (size_type n)
 
void DoInsertValuesEnd (size_type n, const value_type &value)
 
template<typename... Args>
void DoInsertValue (const_iterator position, Args &&... args)
 
template<typename... Args>
void DoInsertValueEnd (Args &&... args)
 
void DoClearCapacity ()
 
void DoGrow (size_type n)
 
void DoSwap (this_type &x)
 
- Protected Member Functions inherited from eastl::VectorBase< T, EASTLAllocatorType >
T *& internalCapacityPtr () EA_NOEXCEPT
 
T *const & internalCapacityPtr () const EA_NOEXCEPT
 
allocator_type & internalAllocator () EA_NOEXCEPT
 
const allocator_type & internalAllocator () const EA_NOEXCEPT
 
T * DoAllocate (size_type n)
 
void DoFree (T *p, size_type n)
 
size_type GetNewCapacity (size_type currentCapacity)
 

Additional Inherited Members

- Protected Attributes inherited from eastl::VectorBase< T, EASTLAllocatorType >
T * mpBegin
 -1 is reserved for 'npos'. It also happens to be slightly beneficial that kMaxSize is a value less than -1, as it helps us deal with potential integer wraparound issues.
 
T * mpEnd
 
eastl::compressed_pair< T *, allocator_type > mCapacityAllocator
 

Detailed Description

template<typename T, typename Allocator = EASTLAllocatorType>
class eastl::vector< T, Allocator >

vector

Implements a dynamic array.


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