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

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

#include <OgreSmallVector.h>

Inheritance diagram for Ogre::SmallVectorTemplateBase< T, isPodLike >:
Inheritance graph
[legend]

List of all members.

Public Types

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

Public Member Functions

 SmallVectorTemplateBase (size_t Size)
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.
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
size_type size () const
size_type max_size () 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().
reference operator[] (unsigned idx)
const_reference operator[] (unsigned idx) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
bool empty () const

Static Public Member Functions

static void destroy_range (T *S, T *E)
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.

Protected Member Functions

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

Protected Attributes

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

Detailed Description

template<typename T, bool isPodLike>
class Ogre::SmallVectorTemplateBase< T, isPodLike >

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

Definition at line 238 of file OgreSmallVector.h.


Member Typedef Documentation

template<typename T>
typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_iterator [inherited]

Definition at line 173 of file OgreSmallVector.h.

template<typename T>
typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_pointer [inherited]

Definition at line 181 of file OgreSmallVector.h.

template<typename T>
typedef const T& Ogre::SmallVectorTemplateCommon< T >::const_reference [inherited]

Definition at line 179 of file OgreSmallVector.h.

template<typename T>
typedef std::reverse_iterator<const_iterator> Ogre::SmallVectorTemplateCommon< T >::const_reverse_iterator [inherited]

Definition at line 175 of file OgreSmallVector.h.

template<typename T>
typedef ptrdiff_t Ogre::SmallVectorTemplateCommon< T >::difference_type [inherited]

Definition at line 170 of file OgreSmallVector.h.

template<typename T>
typedef T* Ogre::SmallVectorTemplateCommon< T >::iterator [inherited]
template<typename T>
typedef T* Ogre::SmallVectorTemplateCommon< T >::pointer [inherited]

Definition at line 180 of file OgreSmallVector.h.

template<typename T>
typedef T& Ogre::SmallVectorTemplateCommon< T >::reference [inherited]

Definition at line 178 of file OgreSmallVector.h.

template<typename T>
typedef std::reverse_iterator<iterator> Ogre::SmallVectorTemplateCommon< T >::reverse_iterator [inherited]

Definition at line 176 of file OgreSmallVector.h.

template<typename T>
typedef size_t Ogre::SmallVectorTemplateCommon< T >::size_type [inherited]
template<typename T>
typedef T Ogre::SmallVectorTemplateCommon< T >::value_type [inherited]

Definition at line 171 of file OgreSmallVector.h.


Constructor & Destructor Documentation

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

Definition at line 240 of file OgreSmallVector.h.


Member Function Documentation

template<typename T>
const_reference Ogre::SmallVectorTemplateCommon< T >::back (  )  const [inherited]

Definition at line 230 of file OgreSmallVector.h.

template<typename T>
reference Ogre::SmallVectorTemplateCommon< T >::back (  )  [inherited]
template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::begin (  )  const [inherited]

Definition at line 185 of file OgreSmallVector.h.

template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::begin (  )  [inherited]
template<typename T>
size_t Ogre::SmallVectorTemplateCommon< T >::capacity (  )  const [inherited]
size_t Ogre::SmallVectorBase::capacity_in_bytes (  )  const [protected, inherited]

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

Definition at line 149 of file OgreSmallVector.h.

References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::CapacityX.

template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr (  )  const [protected, inherited]

Definition at line 190 of file OgreSmallVector.h.

template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr (  )  [protected, inherited]
template<typename T>
const_pointer Ogre::SmallVectorTemplateCommon< T >::data (  )  const [inherited]

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

Definition at line 209 of file OgreSmallVector.h.

template<typename T>
pointer Ogre::SmallVectorTemplateCommon< T >::data (  )  [inherited]

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

Definition at line 207 of file OgreSmallVector.h.

template<typename T, bool isPodLike>
static void Ogre::SmallVectorTemplateBase< T, isPodLike >::destroy_range ( T *  S,
T *  E 
) [static]
bool Ogre::SmallVectorBase::empty (  )  const [inherited]
template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::end ( void   )  const [inherited]

Definition at line 187 of file OgreSmallVector.h.

template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::end ( void   )  [inherited]
template<typename T>
const_reference Ogre::SmallVectorTemplateCommon< T >::front (  )  const [inherited]

Definition at line 223 of file OgreSmallVector.h.

template<typename T>
reference Ogre::SmallVectorTemplateCommon< T >::front (  )  [inherited]

Definition at line 220 of file OgreSmallVector.h.

template<typename T , bool isPodLike>
void Ogre::SmallVectorTemplateBase< T, isPodLike >::grow ( size_t  MinSize = 0  ) 
void Ogre::SmallVectorBase::grow_pod ( size_t  MinSizeInBytes,
size_t  TSize 
) [protected, inherited]

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.

Referenced by Ogre::SmallVectorTemplateBase< T, true >::grow().

bool Ogre::SmallVectorBase::isSmall (  )  const [protected, inherited]

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.

References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::FirstEl.

Referenced by Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< T >::swap(), and Ogre::SmallVectorImpl< PMVertex * >::~SmallVectorImpl().

template<typename T>
size_type Ogre::SmallVectorTemplateCommon< T >::max_size (  )  const [inherited]

Definition at line 200 of file OgreSmallVector.h.

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

Definition at line 215 of file OgreSmallVector.h.

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

Definition at line 211 of file OgreSmallVector.h.

template<typename T>
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin (  )  const [inherited]

Definition at line 195 of file OgreSmallVector.h.

template<typename T>
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin (  )  [inherited]

Definition at line 194 of file OgreSmallVector.h.

template<typename T>
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend (  )  const [inherited]

Definition at line 197 of file OgreSmallVector.h.

template<typename T>
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend (  )  [inherited]

Definition at line 196 of file OgreSmallVector.h.

template<typename T>
void Ogre::SmallVectorTemplateCommon< T >::setEnd ( T *  P  )  [protected, inherited]
template<typename T>
size_type Ogre::SmallVectorTemplateCommon< T >::size ( void   )  const [inherited]
size_t Ogre::SmallVectorBase::size_in_bytes (  )  const [protected, inherited]

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

Definition at line 144 of file OgreSmallVector.h.

References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::EndX.

template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
static void Ogre::SmallVectorTemplateBase< T, isPodLike >::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 252 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorTemplateBase< T, true >::uninitialized_copy(), and Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::uninitialized_copy().


Member Data Documentation

void* Ogre::SmallVectorBase::BeginX [protected, inherited]
void * Ogre::SmallVectorBase::CapacityX [protected, inherited]
void * Ogre::SmallVectorBase::EndX [protected, inherited]

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.
Last modified Fri May 25 23:40:37 2012