Cogs.Core
Public Member Functions | Protected Member Functions | List of all members
Cogs::Collections::SmallVectorImpl< T > Class Template Reference
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< PotreeAttributes, 4 > Cogs::Collections::SmallVector< glm::vec4, 1 > Cogs::Collections::SmallVector< glm::vec4, 8 > Cogs::Collections::SmallVector< const void *, 16 > Cogs::Collections::SmallVector< T, Size >

Public Member Functions

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
 
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 ()
 
- 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
 

Detailed Description

template<typename T>
class Cogs::Collections::SmallVectorImpl< T >

Definition at line 297 of file SmallVector.h.

Constructor & Destructor Documentation

◆ ~SmallVectorImpl()

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

Definition at line 300 of file SmallVector.h.

◆ SmallVectorImpl()

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

Definition at line 419 of file SmallVector.h.

Member Function Documentation

◆ append() [1/2]

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

Definition at line 413 of file SmallVector.h.

◆ append() [2/2]

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

Definition at line 401 of file SmallVector.h.

◆ assign() [1/2]

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

Definition at line 395 of file SmallVector.h.

◆ assign() [2/2]

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

Definition at line 382 of file SmallVector.h.

◆ clear()

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

Definition at line 374 of file SmallVector.h.

◆ operator=() [1/2]

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

Definition at line 309 of file SmallVector.h.

◆ operator=() [2/2]

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

Definition at line 326 of file SmallVector.h.

◆ release()

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

Definition at line 423 of file SmallVector.h.

◆ reserve()

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

Definition at line 367 of file SmallVector.h.

◆ resize()

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

Definition at line 358 of file SmallVector.h.


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