Cogs.Core
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Cogs::Collections::SmallVectorTemplateBase< T > Class Template Reference
Inheritance diagram for Cogs::Collections::SmallVectorTemplateBase< T >:
Cogs::Collections::SmallVectorBase Cogs::Collections::SmallVectorImplBase< T, std::is_trivially_copyable< T >::value > Cogs::Collections::SmallVectorImplBase< PotreeAttributes, std::is_trivially_copyable< PotreeAttributes >::value > Cogs::Collections::SmallVectorImplBase< glm::vec4, std::is_trivially_copyable< glm::vec4 >::value > Cogs::Collections::SmallVectorImplBase< const void *, std::is_trivially_copyable< const void * >::value > Cogs::Collections::SmallVectorImplBase< T, isPod > Cogs::Collections::SmallVectorImplBase< T, true > Cogs::Collections::SmallVectorImpl< T > Cogs::Collections::SmallVectorImpl< PotreeAttributes > Cogs::Collections::SmallVectorImpl< glm::vec4 > Cogs::Collections::SmallVectorImpl< const void * > 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

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

 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
 

Protected Attributes

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::SmallVectorTemplateBase< T >

Definition at line 42 of file SmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorTemplateBase()

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

Definition at line 97 of file SmallVector.h.

Member Function Documentation

◆ back() [1/2]

template<typename T >
T & Cogs::Collections::SmallVectorTemplateBase< T >::back ( )
inline

Definition at line 72 of file SmallVector.h.

◆ back() [2/2]

template<typename T >
const T & Cogs::Collections::SmallVectorTemplateBase< T >::back ( ) const
inline

Definition at line 78 of file SmallVector.h.

◆ begin() [1/2]

template<typename T >
T * Cogs::Collections::SmallVectorTemplateBase< T >::begin ( )
inline

Definition at line 52 of file SmallVector.h.

◆ begin() [2/2]

template<typename T >
const T * Cogs::Collections::SmallVectorTemplateBase< T >::begin ( ) const
inline

Definition at line 55 of file SmallVector.h.

◆ capacity()

template<typename T >
size_t Cogs::Collections::SmallVectorTemplateBase< T >::capacity ( ) const
inline

Definition at line 47 of file SmallVector.h.

◆ cbegin()

template<typename T >
const T * Cogs::Collections::SmallVectorTemplateBase< T >::cbegin ( ) const
inline

Definition at line 57 of file SmallVector.h.

◆ cend()

template<typename T >
const T * Cogs::Collections::SmallVectorTemplateBase< T >::cend ( ) const
inline

Definition at line 58 of file SmallVector.h.

◆ data() [1/2]

template<typename T >
T * Cogs::Collections::SmallVectorTemplateBase< T >::data ( )
inline

Definition at line 49 of file SmallVector.h.

◆ data() [2/2]

template<typename T >
const T * Cogs::Collections::SmallVectorTemplateBase< T >::data ( ) const
inline

Definition at line 50 of file SmallVector.h.

◆ empty()

template<typename T >
bool Cogs::Collections::SmallVectorTemplateBase< T >::empty ( ) const
inline

Definition at line 45 of file SmallVector.h.

◆ end() [1/2]

template<typename T >
T * Cogs::Collections::SmallVectorTemplateBase< T >::end ( )
inline

Definition at line 53 of file SmallVector.h.

◆ end() [2/2]

template<typename T >
const T * Cogs::Collections::SmallVectorTemplateBase< T >::end ( ) const
inline

Definition at line 56 of file SmallVector.h.

◆ front() [1/2]

template<typename T >
T & Cogs::Collections::SmallVectorTemplateBase< T >::front ( )
inline

Definition at line 84 of file SmallVector.h.

◆ front() [2/2]

template<typename T >
const T & Cogs::Collections::SmallVectorTemplateBase< T >::front ( ) const
inline

Definition at line 90 of file SmallVector.h.

◆ isSmall()

template<typename T >
bool Cogs::Collections::SmallVectorTemplateBase< T >::isSmall ( ) const
inlineprotected

Definition at line 100 of file SmallVector.h.

◆ operator[]() [1/2]

template<typename T >
T & Cogs::Collections::SmallVectorTemplateBase< T >::operator[] ( const size_t  index)
inline

Definition at line 60 of file SmallVector.h.

◆ operator[]() [2/2]

template<typename T >
const T & Cogs::Collections::SmallVectorTemplateBase< T >::operator[] ( const size_t  index) const
inline

Definition at line 66 of file SmallVector.h.

◆ reset()

template<typename T >
void Cogs::Collections::SmallVectorTemplateBase< T >::reset ( )
inlineprotected

Definition at line 108 of file SmallVector.h.

◆ setSize()

template<typename T >
void Cogs::Collections::SmallVectorTemplateBase< T >::setSize ( size_t  newSize)
inlineprotected

Definition at line 102 of file SmallVector.h.

◆ size()

template<typename T >
size_t Cogs::Collections::SmallVectorTemplateBase< T >::size ( ) const
inline

Definition at line 46 of file SmallVector.h.

Member Data Documentation

◆ firstElement

template<typename T >
uint8_t Cogs::Collections::SmallVectorTemplateBase< T >::firstElement[sizeof(T)]
protected

Definition at line 113 of file SmallVector.h.


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