Ogre::SmallVectorTemplateBase< T, true > Class Template Reference

SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More...

#include <OgreSmallVector.h>

Inheritance diagram for Ogre::SmallVectorTemplateBase< T, true >:

Public Types

typedef const T * const_iterator
typedef const T * const_pointer
typedef const T & const_reference
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
typedef ptrdiff_t difference_type
typedef T * iterator
typedef T * pointer
typedef T & reference
typedef std::reverse_iterator< iteratorreverse_iterator
typedef size_t size_type
typedef T value_type

Public Member Functions

 SmallVectorTemplateBase (size_t Size)
reference back ()
const_reference back () const
iterator begin ()
const_iterator begin () const
size_t capacity () const
 capacity - Return the total number of elements in the currently allocated buffer.
pointer data ()
 data - Return a pointer to the vector's buffer, even if empty().
const_pointer data () const
 data - Return a pointer to the vector's buffer, even if empty().
bool empty () const
iterator end ()
const_iterator end () const
reference front ()
const_reference front () const
void grow (size_t MinSize=0)
 grow - double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.
size_type max_size () const
reference operator[] (unsigned idx)
const_reference operator[] (unsigned idx) const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
size_type size () const

Static Public Member Functions

static void destroy_range (T *, T *)
template<typename It1, typename It2>
static void uninitialized_copy (It1 I, It1 E, It2 Dest)
 uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
template<typename T1, typename T2>
static void uninitialized_copy (T1 *I, T1 *E, T2 *Dest)
 uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.

Protected Member Functions

size_t capacity_in_bytes () const
 capacity_in_bytes - This returns capacity()*sizeof(T).
iterator capacity_ptr ()
const_iterator capacity_ptr () const
void grow_pod (size_t MinSizeInBytes, size_t TSize)
 grow_pod - This is an implementation of the grow() method which only works
bool isSmall () const
 isSmall - Return true if this is a smallvector which has not had dynamic memory allocated for it.
void setEnd (T *P)
size_t size_in_bytes () const
 size_in_bytes - This returns size()*sizeof(T).

Protected Attributes

void * BeginX
void * CapacityX
void * EndX
union Ogre::SmallVectorBase::U FirstEl

Detailed Description

template<typename T>
class Ogre::SmallVectorTemplateBase< T, true >

SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.

Definition at line 290 of file OgreSmallVector.h.

Member Typedef Documentation

◆ const_iterator

typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_iterator

Definition at line 173 of file OgreSmallVector.h.

◆ const_pointer

typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_pointer

Definition at line 181 of file OgreSmallVector.h.

◆ const_reference

typedef const T& Ogre::SmallVectorTemplateCommon< T >::const_reference

Definition at line 179 of file OgreSmallVector.h.

◆ const_reverse_iterator

typedef std::reverse_iterator<const_iterator> Ogre::SmallVectorTemplateCommon< T >::const_reverse_iterator

Definition at line 175 of file OgreSmallVector.h.

◆ difference_type

typedef ptrdiff_t Ogre::SmallVectorTemplateCommon< T >::difference_type

Definition at line 170 of file OgreSmallVector.h.

◆ iterator

typedef T* Ogre::SmallVectorTemplateCommon< T >::iterator

Definition at line 172 of file OgreSmallVector.h.

◆ pointer

typedef T* Ogre::SmallVectorTemplateCommon< T >::pointer

Definition at line 180 of file OgreSmallVector.h.

◆ reference

typedef T& Ogre::SmallVectorTemplateCommon< T >::reference

Definition at line 178 of file OgreSmallVector.h.

◆ reverse_iterator

typedef std::reverse_iterator<iterator> Ogre::SmallVectorTemplateCommon< T >::reverse_iterator

Definition at line 176 of file OgreSmallVector.h.

◆ size_type

typedef size_t Ogre::SmallVectorTemplateCommon< T >::size_type

Definition at line 169 of file OgreSmallVector.h.

◆ value_type

typedef T Ogre::SmallVectorTemplateCommon< T >::value_type

Definition at line 171 of file OgreSmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorTemplateBase()

template<typename T>
Ogre::SmallVectorTemplateBase< T, true >::SmallVectorTemplateBase ( size_t Size)

Member Function Documentation

◆ back() [1/2]

Definition at line 227 of file OgreSmallVector.h.

◆ back() [2/2]

Definition at line 230 of file OgreSmallVector.h.

◆ begin() [1/2]

Definition at line 184 of file OgreSmallVector.h.

◆ begin() [2/2]

Definition at line 185 of file OgreSmallVector.h.

◆ capacity()

size_t Ogre::SmallVectorTemplateCommon< T >::capacity ( ) const

capacity - Return the total number of elements in the currently allocated buffer.

Definition at line 204 of file OgreSmallVector.h.

◆ capacity_in_bytes()

size_t Ogre::SmallVectorBase::capacity_in_bytes ( ) const
protected

capacity_in_bytes - This returns capacity()*sizeof(T).

Definition at line 149 of file OgreSmallVector.h.

◆ capacity_ptr() [1/2]

iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr ( )
protected

Definition at line 189 of file OgreSmallVector.h.

◆ capacity_ptr() [2/2]

const_iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr ( ) const
protected

Definition at line 190 of file OgreSmallVector.h.

◆ data() [1/2]

data - Return a pointer to the vector's buffer, even if empty().

Definition at line 207 of file OgreSmallVector.h.

◆ data() [2/2]

data - Return a pointer to the vector's buffer, even if empty().

Definition at line 209 of file OgreSmallVector.h.

◆ destroy_range()

template<typename T>
void Ogre::SmallVectorTemplateBase< T, true >::destroy_range ( T * ,
T *  )
static

Definition at line 295 of file OgreSmallVector.h.

◆ empty()

Definition at line 158 of file OgreSmallVector.h.

◆ end() [1/2]

Definition at line 186 of file OgreSmallVector.h.

◆ end() [2/2]

Definition at line 187 of file OgreSmallVector.h.

◆ front() [1/2]

Definition at line 220 of file OgreSmallVector.h.

◆ front() [2/2]

Definition at line 223 of file OgreSmallVector.h.

◆ grow()

template<typename T>
void Ogre::SmallVectorTemplateBase< T, true >::grow ( size_t MinSize = 0)

grow - double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.

Definition at line 317 of file OgreSmallVector.h.

References Ogre::SmallVectorBase::grow_pod().

◆ grow_pod()

void Ogre::SmallVectorBase::grow_pod ( size_t MinSizeInBytes,
size_t TSize )
protected

grow_pod - This is an implementation of the grow() method which only works

on POD-like data types and is out of line to reduce code duplication.

◆ isSmall()

bool Ogre::SmallVectorBase::isSmall ( ) const
protected

isSmall - Return true if this is a smallvector which has not had dynamic memory allocated for it.

Definition at line 139 of file OgreSmallVector.h.

◆ max_size()

size_type Ogre::SmallVectorTemplateCommon< T >::max_size ( ) const

Definition at line 200 of file OgreSmallVector.h.

◆ operator[]() [1/2]

reference Ogre::SmallVectorTemplateCommon< T >::operator[] ( unsigned idx)

Definition at line 211 of file OgreSmallVector.h.

◆ operator[]() [2/2]

const_reference Ogre::SmallVectorTemplateCommon< T >::operator[] ( unsigned idx) const

Definition at line 215 of file OgreSmallVector.h.

◆ rbegin() [1/2]

Definition at line 194 of file OgreSmallVector.h.

◆ rbegin() [2/2]

Definition at line 195 of file OgreSmallVector.h.

◆ rend() [1/2]

Definition at line 196 of file OgreSmallVector.h.

◆ rend() [2/2]

Definition at line 197 of file OgreSmallVector.h.

◆ setEnd()

void Ogre::SmallVectorTemplateCommon< T >::setEnd ( T * P)
protected

Definition at line 165 of file OgreSmallVector.h.

◆ size()

Definition at line 199 of file OgreSmallVector.h.

◆ size_in_bytes()

size_t Ogre::SmallVectorBase::size_in_bytes ( ) const
protected

size_in_bytes - This returns size()*sizeof(T).

Definition at line 144 of file OgreSmallVector.h.

◆ uninitialized_copy() [1/2]

template<typename T>
template<typename It1, typename It2>
void Ogre::SmallVectorTemplateBase< T, true >::uninitialized_copy ( It1 I,
It1 E,
It2 Dest )
static

uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.

Definition at line 300 of file OgreSmallVector.h.

◆ uninitialized_copy() [2/2]

template<typename T>
template<typename T1, typename T2>
void Ogre::SmallVectorTemplateBase< T, true >::uninitialized_copy ( T1 * I,
T1 * E,
T2 * Dest )
static

uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.

Definition at line 308 of file OgreSmallVector.h.

Member Data Documentation

◆ BeginX

Definition at line 118 of file OgreSmallVector.h.

◆ CapacityX

Definition at line 118 of file OgreSmallVector.h.

◆ EndX

void * Ogre::SmallVectorBase::EndX
protected

Definition at line 118 of file OgreSmallVector.h.

◆ FirstEl


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.