Cogs.Core
Public Member Functions | Protected Member Functions | List of all members
Cogs::Collections::SmallVectorImplBase< T, isPod > Class Template Reference
Inheritance diagram for Cogs::Collections::SmallVectorImplBase< T, isPod >:
Cogs::Collections::SmallVectorTemplateBase< T > Cogs::Collections::SmallVectorBase Cogs::Collections::SmallVectorImpl< PotreeAttributes > Cogs::Collections::SmallVectorImpl< glm::vec4 > Cogs::Collections::SmallVectorImpl< const void * >

Public Member Functions

void push_back (const T &t)
 
void push_back (T &&t)
 
template<typename... Args>
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

 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)
 
template<typename T1 , typename T2 >
void moveNew (T1 first, T1 last, T2 dest)
 
template<typename T1 , typename T2 >
void move (T1 first, T1 last, T2 dest)
 
template<typename T1 , typename T2 >
void copy (T1 first, T1 last, T2 dest)
 
template<typename T1 , typename T2 >
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, bool isPod>
class Cogs::Collections::SmallVectorImplBase< T, isPod >

Definition at line 117 of file SmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorImplBase()

template<typename T , bool isPod>
Cogs::Collections::SmallVectorImplBase< T, isPod >::SmallVectorImplBase ( size_t  capacity,
Memory::Allocator allocator 
)
inlineprotected

Definition at line 168 of file SmallVector.h.

Member Function Documentation

◆ copy()

template<typename T , bool isPod>
template<typename T1 , typename T2 >
void Cogs::Collections::SmallVectorImplBase< T, isPod >::copy ( T1  first,
T1  last,
T2  dest 
)
inlineprotected

Definition at line 220 of file SmallVector.h.

◆ copyNew()

template<typename T , bool isPod>
template<typename T1 , typename T2 >
void Cogs::Collections::SmallVectorImplBase< T, isPod >::copyNew ( T1  first,
T1  last,
T2  dest 
)
inlineprotected

Definition at line 228 of file SmallVector.h.

◆ destroy()

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::destroy ( T *  first,
const T *  last 
)
inlineprotected

Definition at line 196 of file SmallVector.h.

◆ emplace_back()

template<typename T , bool isPod>
template<typename... Args>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::emplace_back ( Args &&...  args)
inline

Definition at line 141 of file SmallVector.h.

◆ erase()

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::erase ( const T *  pos)
inline

Definition at line 158 of file SmallVector.h.

◆ grow()

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::grow ( size_t  minSize = 0)
inlineprotected

Definition at line 171 of file SmallVector.h.

◆ initialize()

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::initialize ( T *  first,
const T *  last 
)
inlineprotected

Definition at line 189 of file SmallVector.h.

◆ move()

template<typename T , bool isPod>
template<typename T1 , typename T2 >
void Cogs::Collections::SmallVectorImplBase< T, isPod >::move ( T1  first,
T1  last,
T2  dest 
)
inlineprotected

Definition at line 212 of file SmallVector.h.

◆ moveNew()

template<typename T , bool isPod>
template<typename T1 , typename T2 >
void Cogs::Collections::SmallVectorImplBase< T, isPod >::moveNew ( T1  first,
T1  last,
T2  dest 
)
inlineprotected

Definition at line 204 of file SmallVector.h.

◆ pop_back()

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::pop_back ( )
inline

Definition at line 151 of file SmallVector.h.

◆ push_back() [1/2]

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::push_back ( const T &  t)
inline

Definition at line 120 of file SmallVector.h.

◆ push_back() [2/2]

template<typename T , bool isPod>
void Cogs::Collections::SmallVectorImplBase< T, isPod >::push_back ( T &&  t)
inline

Definition at line 130 of file SmallVector.h.


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