Cogs.Foundation
|
#include <SmallVector.h>
Public Member Functions | |
~SmallVectorImpl () | |
SmallVectorImpl & | operator= (const SmallVectorImpl &other) |
SmallVectorImpl & | operator= (SmallVectorImpl &&other) noexcept |
void | resize (size_t newSize) |
void | reserve (size_t newCapacity) |
void | clear () |
template<typename T1 > | |
void | assign (T1 first, T1 last) |
void | assign (std::initializer_list< T > il) |
template<typename T1 > | |
void | append (T1 first, T1 last) |
void | append (std::initializer_list< T > il) |
![]() | |
void | push_back (const T &t) |
void | push_back (T &&t) |
void | emplace_back (Args &&... args) |
void | pop_back () |
void | erase (const T *pos) |
![]() | |
bool | empty () const |
size_t | size () const |
size_t | capacity () const |
T * | data () |
const T * | data () const |
T * | begin () |
T * | end () |
const T * | begin () const |
const T * | end () const |
const T * | cbegin () const |
const T * | cend () const |
T & | operator[] (const size_t index) |
const T & | operator[] (const size_t index) const |
T & | back () |
const T & | back () const |
T & | front () |
const T & | front () const |
Protected Member Functions | |
SmallVectorImpl (size_t capacity, Memory::Allocator *allocator=Memory::Allocator::overflowAllocator()) | |
void | release () |
![]() | |
SmallVectorImplBase (size_t capacity, Memory::Allocator *allocator) | |
void | grow (size_t minSize=0) |
void | initialize (T *first, const T *last) |
void | destroy (T *first, const T *last) |
void | moveNew (T1 first, T1 last, T2 dest) |
void | move (T1 first, T1 last, T2 dest) |
void | copy (T1 first, T1 last, T2 dest) |
void | copyNew (T1 first, T1 last, T2 dest) |
![]() | |
SmallVectorTemplateBase (size_t capacity, Memory::Allocator *allocator) | |
bool | isSmall () const |
void | setSize (size_t newSize) |
void | reset () |
![]() | |
SmallVectorBase (void *data, size_t capacity, Memory::Allocator *allocator) | |
void | growPod (const void *firstElement, const size_t minSizeBytes) |
size_t | sizeInBytes () const |
size_t | capacityInBytes () const |
Additional Inherited Members | |
![]() | |
uint8_t | firstElement [sizeof(T)] |
![]() | |
void * | firstPtr |
void * | lastPtr |
void * | capacityPtr |
Memory::Allocator * | allocator |
|
inline |
References Cogs::Collections::SmallVectorTemplateBase< T >::begin(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::destroy(), Cogs::Collections::SmallVectorTemplateBase< T >::end(), Cogs::Collections::SmallVectorTemplateBase< T >::isSmall(), and Cogs::Collections::SmallVectorImpl< T >::release().
|
inlineprotected |
|
inline |
|
inline |
References Cogs::Collections::SmallVectorTemplateBase< T >::capacity(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::copyNew(), Cogs::Collections::SmallVectorTemplateBase< T >::end(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::grow(), Cogs::Collections::SmallVectorTemplateBase< T >::setSize(), and Cogs::Collections::SmallVectorTemplateBase< T >::size().
Referenced by Cogs::Collections::SmallVectorImpl< T >::append().
|
inline |
|
inline |
References Cogs::Collections::SmallVectorTemplateBase< T >::capacity(), Cogs::Collections::SmallVectorImpl< T >::clear(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::copyNew(), Cogs::Collections::SmallVectorTemplateBase< T >::data(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::grow(), and Cogs::Collections::SmallVectorTemplateBase< T >::setSize().
Referenced by Cogs::Collections::SmallVectorImpl< T >::assign(), and Cogs::Collections::SmallVector< T, Size >::SmallVector().
|
inline |
References Cogs::Collections::SmallVectorTemplateBase< T >::begin(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::destroy(), Cogs::Collections::SmallVectorTemplateBase< T >::end(), and Cogs::Collections::SmallVectorTemplateBase< T >::setSize().
Referenced by Cogs::Collections::SmallVectorImpl< T >::assign(), and Cogs::Collections::SmallVectorImpl< T >::operator=().
|
inline |
References Cogs::Collections::SmallVectorTemplateBase< T >::begin(), Cogs::Collections::SmallVectorTemplateBase< T >::capacity(), Cogs::Collections::SmallVectorImpl< T >::clear(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::copyNew(), Cogs::Collections::SmallVectorTemplateBase< T >::end(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::grow(), Cogs::Collections::SmallVectorTemplateBase< T >::setSize(), and Cogs::Collections::SmallVectorTemplateBase< T >::size().
Referenced by Cogs::Collections::SmallVector< T, Size >::operator=(), and Cogs::Collections::SmallVector< T, Size >::SmallVector().
|
inlinenoexcept |
References Cogs::Collections::SmallVectorBase::allocator, Cogs::Collections::SmallVectorTemplateBase< T >::begin(), Cogs::Collections::SmallVectorTemplateBase< T >::capacity(), Cogs::Collections::SmallVectorBase::capacityPtr, Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::destroy(), Cogs::Collections::SmallVectorTemplateBase< T >::end(), Cogs::Collections::SmallVectorBase::firstPtr, Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::grow(), Cogs::Collections::SmallVectorTemplateBase< T >::isSmall(), Cogs::Collections::SmallVectorBase::lastPtr, Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::move(), Cogs::Collections::SmallVectorImpl< T >::release(), and Cogs::Collections::SmallVectorTemplateBase< T >::setSize().
|
inlineprotected |
References Cogs::Collections::SmallVectorBase::allocator, Cogs::Collections::SmallVectorBase::capacityInBytes(), Cogs::Memory::Allocator::deallocate(), and Cogs::Collections::SmallVectorBase::firstPtr.
Referenced by Cogs::Collections::SmallVectorImpl< T >::operator=(), and Cogs::Collections::SmallVectorImpl< T >::~SmallVectorImpl().
|
inline |
|
inline |
References Cogs::Collections::SmallVectorTemplateBase< T >::capacity(), Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >::grow(), and Cogs::Collections::SmallVectorTemplateBase< T >::setSize().
Referenced by Cogs::Collections::SmallVector< T, Size >::SmallVector().