OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 >:
+ Collaboration diagram for Ogre::SmallVectorTemplateBase< T, true >:

Public Types

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

Public Member Functions

 SmallVectorTemplateBase (size_t Size)
 
 SmallVectorTemplateBase (size_t Size)
 
reference back ()
 
reference back ()
 
const_reference back () const
 
const_reference back () const
 
iterator begin ()
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator begin () const
 
size_t capacity () const
 capacity - Return the total number of elements in the currently allocated buffer. More...
 
size_t capacity () const
 capacity - Return the total number of elements in the currently allocated buffer. More...
 
pointer data ()
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
pointer data ()
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
const_pointer data () const
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
const_pointer data () const
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
bool empty () const
 
bool empty () const
 
iterator end ()
 
iterator end ()
 
const_iterator end () const
 
const_iterator end () const
 
reference front ()
 
reference front ()
 
const_reference front () const
 
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. More...
 
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. More...
 
size_type max_size () const
 
size_type max_size () const
 
reference operator[] (unsigned idx)
 
reference operator[] (unsigned idx)
 
const_reference operator[] (unsigned idx) const
 
const_reference operator[] (unsigned idx) const
 
reverse_iterator rbegin ()
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type size () const
 

Static Public Member Functions

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

Protected Member Functions

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

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 OgreMain/include/OgreSmallVector.h.

Member Typedef Documentation

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

Definition at line 173 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 181 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_pointer
inherited
template<typename T>
typedef const T& Ogre::SmallVectorTemplateCommon< T >::const_reference
inherited

Definition at line 179 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
typedef const T& Ogre::SmallVectorTemplateCommon< T >::const_reference
inherited
template<typename T>
typedef std::reverse_iterator<const_iterator> Ogre::SmallVectorTemplateCommon< T >::const_reverse_iterator
inherited

Definition at line 175 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
typedef std::reverse_iterator<const_iterator> Ogre::SmallVectorTemplateCommon< T >::const_reverse_iterator
inherited
template<typename T>
typedef ptrdiff_t Ogre::SmallVectorTemplateCommon< T >::difference_type
inherited
template<typename T>
typedef ptrdiff_t Ogre::SmallVectorTemplateCommon< T >::difference_type
inherited

Definition at line 170 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 172 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 180 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
typedef T* Ogre::SmallVectorTemplateCommon< T >::pointer
inherited
template<typename T>
typedef T& Ogre::SmallVectorTemplateCommon< T >::reference
inherited
template<typename T>
typedef T& Ogre::SmallVectorTemplateCommon< T >::reference
inherited

Definition at line 178 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 176 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 169 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
typedef T Ogre::SmallVectorTemplateCommon< T >::value_type
inherited

Definition at line 171 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
typedef T Ogre::SmallVectorTemplateCommon< T >::value_type
inherited

Constructor & Destructor Documentation

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

Definition at line 292 of file OgreMain/include/OgreSmallVector.h.

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

Member Function Documentation

template<typename T>
reference Ogre::SmallVectorTemplateCommon< T >::back ( )
inlineinherited
template<typename T>
const_reference Ogre::SmallVectorTemplateCommon< T >::back ( ) const
inlineinherited

Definition at line 230 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_reference Ogre::SmallVectorTemplateCommon< T >::back ( ) const
inlineinherited
template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::begin ( )
inlineinherited
template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::begin ( ) const
inlineinherited

Definition at line 185 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::begin ( ) const
inlineinherited
template<typename T>
size_t Ogre::SmallVectorTemplateCommon< T >::capacity ( ) const
inlineinherited
template<typename T>
size_t Ogre::SmallVectorTemplateCommon< T >::capacity ( ) const
inlineinherited

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

Definition at line 204 of file Components/MeshLodGenerator/include/OgreSmallVector.h.

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

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

Definition at line 149 of file OgreMain/include/OgreSmallVector.h.

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

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

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

Definition at line 149 of file Components/MeshLodGenerator/include/OgreSmallVector.h.

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

template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr ( )
inlineprotectedinherited
template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr ( )
inlineprotectedinherited
template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr ( ) const
inlineprotectedinherited

Definition at line 190 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr ( ) const
inlineprotectedinherited
template<typename T>
pointer Ogre::SmallVectorTemplateCommon< T >::data ( )
inlineinherited

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

Definition at line 207 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
pointer Ogre::SmallVectorTemplateCommon< T >::data ( )
inlineinherited

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

Definition at line 207 of file Components/MeshLodGenerator/include/OgreSmallVector.h.

template<typename T>
const_pointer Ogre::SmallVectorTemplateCommon< T >::data ( ) const
inlineinherited

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

Definition at line 209 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_pointer Ogre::SmallVectorTemplateCommon< T >::data ( ) const
inlineinherited

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

Definition at line 209 of file Components/MeshLodGenerator/include/OgreSmallVector.h.

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

Definition at line 295 of file OgreMain/include/OgreSmallVector.h.

template<typename T >
static void Ogre::SmallVectorTemplateBase< T, true >::destroy_range ( T *  ,
T *   
)
inlinestatic
bool Ogre::SmallVectorBase::empty ( ) const
inlineinherited
bool Ogre::SmallVectorBase::empty ( ) const
inlineinherited
template<typename T>
iterator Ogre::SmallVectorTemplateCommon< T >::end ( void  )
inlineinherited
template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::end ( void  ) const
inlineinherited

Definition at line 187 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_iterator Ogre::SmallVectorTemplateCommon< T >::end ( void  ) const
inlineinherited
template<typename T>
reference Ogre::SmallVectorTemplateCommon< T >::front ( )
inlineinherited

Definition at line 220 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
reference Ogre::SmallVectorTemplateCommon< T >::front ( )
inlineinherited
template<typename T>
const_reference Ogre::SmallVectorTemplateCommon< T >::front ( ) const
inlineinherited

Definition at line 223 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_reference Ogre::SmallVectorTemplateCommon< T >::front ( ) const
inlineinherited
template<typename T >
void Ogre::SmallVectorTemplateBase< T, true >::grow ( size_t  MinSize = 0)
inline

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 Components/MeshLodGenerator/include/OgreSmallVector.h.

References Ogre::SmallVectorBase::grow_pod().

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

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 OgreMain/include/OgreSmallVector.h.

References Ogre::SmallVectorBase::grow_pod().

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

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

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

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.

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

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

Definition at line 139 of file OgreMain/include/OgreSmallVector.h.

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

Referenced by Ogre::SmallVectorImpl< T >::swap(), and Ogre::SmallVectorImpl< Triangle * >::~SmallVectorImpl().

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

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

Definition at line 139 of file Components/MeshLodGenerator/include/OgreSmallVector.h.

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

template<typename T>
size_type Ogre::SmallVectorTemplateCommon< T >::max_size ( ) const
inlineinherited

Definition at line 200 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
size_type Ogre::SmallVectorTemplateCommon< T >::max_size ( ) const
inlineinherited
template<typename T>
reference Ogre::SmallVectorTemplateCommon< T >::operator[] ( unsigned  idx)
inlineinherited

Definition at line 211 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 215 of file OgreMain/include/OgreSmallVector.h.

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

Definition at line 194 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin ( )
inlineinherited
template<typename T>
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin ( ) const
inlineinherited

Definition at line 195 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin ( ) const
inlineinherited
template<typename T>
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend ( )
inlineinherited

Definition at line 196 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend ( )
inlineinherited
template<typename T>
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend ( ) const
inlineinherited

Definition at line 197 of file OgreMain/include/OgreSmallVector.h.

template<typename T>
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend ( ) const
inlineinherited
template<typename T>
void Ogre::SmallVectorTemplateCommon< T >::setEnd ( T *  P)
inlineprotectedinherited
template<typename T>
size_type Ogre::SmallVectorTemplateCommon< T >::size ( void  ) const
inlineinherited
size_t Ogre::SmallVectorBase::size_in_bytes ( ) const
inlineprotectedinherited

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

Definition at line 144 of file OgreMain/include/OgreSmallVector.h.

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

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

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

Definition at line 144 of file Components/MeshLodGenerator/include/OgreSmallVector.h.

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

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

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 Components/MeshLodGenerator/include/OgreSmallVector.h.

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

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 OgreMain/include/OgreSmallVector.h.

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

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 Components/MeshLodGenerator/include/OgreSmallVector.h.

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

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 OgreMain/include/OgreSmallVector.h.

Member Data Documentation

union Ogre::SmallVectorBase::U Ogre::SmallVectorBase::FirstEl
protectedinherited

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