Cogs.Foundation
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Cogs::Collections::SmallVectorImpl< T > Class Template Reference

#include <SmallVector.h>

Inheritance diagram for Cogs::Collections::SmallVectorImpl< T >:
Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value > Cogs::Collections::SmallVectorTemplateBase< T > Cogs::Collections::SmallVectorBase Cogs::Collections::SmallVector< T, Size >

Public Member Functions

 ~SmallVectorImpl ()
 
SmallVectorImploperator= (const SmallVectorImpl &other)
 
SmallVectorImploperator= (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)
 
- Public Member Functions inherited from Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >
void push_back (const T &t)
 
void push_back (T &&t)
 
void emplace_back (Args &&... args)
 
void pop_back ()
 
void erase (const T *pos)
 
- Public Member Functions inherited from Cogs::Collections::SmallVectorTemplateBase< T >
bool empty () const
 
size_t size () const
 
size_t capacity () const
 
Tdata ()
 
const Tdata () const
 
Tbegin ()
 
Tend ()
 
const Tbegin () const
 
const Tend () const
 
const Tcbegin () const
 
const Tcend () const
 
Toperator[] (const size_t index)
 
const Toperator[] (const size_t index) const
 
Tback ()
 
const Tback () const
 
Tfront ()
 
const Tfront () const
 

Protected Member Functions

 SmallVectorImpl (size_t capacity, Memory::Allocator *allocator=Memory::Allocator::overflowAllocator())
 
void release ()
 
- Protected Member Functions inherited from Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value >
 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)
 
- Protected Member Functions inherited from Cogs::Collections::SmallVectorTemplateBase< T >
 SmallVectorTemplateBase (size_t capacity, Memory::Allocator *allocator)
 
bool isSmall () const
 
void setSize (size_t newSize)
 
void reset ()
 
- Protected Member Functions inherited from Cogs::Collections::SmallVectorBase
 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

- Protected Attributes inherited from Cogs::Collections::SmallVectorTemplateBase< T >
uint8_t firstElement [sizeof(T)]
 
- Protected Attributes inherited from Cogs::Collections::SmallVectorBase
void * firstPtr
 
void * lastPtr
 
void * capacityPtr
 
Memory::Allocatorallocator
 

Constructor & Destructor Documentation

◆ ~SmallVectorImpl()

template<typename T >
Cogs::Collections::SmallVectorImpl< T >::~SmallVectorImpl ( )
inline

◆ SmallVectorImpl()

template<typename T >
Cogs::Collections::SmallVectorImpl< T >::SmallVectorImpl ( size_t  capacity,
Memory::Allocator allocator = Memory::Allocator::overflowAllocator() 
)
inlineprotected

Member Function Documentation

◆ append() [1/2]

template<typename T >
void Cogs::Collections::SmallVectorImpl< T >::append ( std::initializer_list< T il)
inline

◆ append() [2/2]

template<typename T >
template<typename T1 >
void Cogs::Collections::SmallVectorImpl< T >::append ( T1  first,
T1  last 
)
inline

◆ assign() [1/2]

template<typename T >
void Cogs::Collections::SmallVectorImpl< T >::assign ( std::initializer_list< T il)
inline

◆ assign() [2/2]

template<typename T >
template<typename T1 >
void Cogs::Collections::SmallVectorImpl< T >::assign ( T1  first,
T1  last 
)
inline

◆ clear()

template<typename T >
void Cogs::Collections::SmallVectorImpl< T >::clear ( )
inline

◆ operator=() [1/2]

template<typename T >
SmallVectorImpl & Cogs::Collections::SmallVectorImpl< T >::operator= ( const SmallVectorImpl< T > &  other)
inline

◆ operator=() [2/2]

template<typename T >
SmallVectorImpl & Cogs::Collections::SmallVectorImpl< T >::operator= ( SmallVectorImpl< T > &&  other)
inlinenoexcept

◆ release()

template<typename T >
void Cogs::Collections::SmallVectorImpl< T >::release ( )
inlineprotected

◆ reserve()

template<typename T >
void Cogs::Collections::SmallVectorImpl< T >::reserve ( size_t  newCapacity)
inline

◆ resize()

template<typename T >
void Cogs::Collections::SmallVectorImpl< T >::resize ( size_t  newSize)
inline

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