OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
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 >:

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. 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...
 
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. More...
 
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 *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. More...
 

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.

Member Typedef Documentation

◆ const_iterator

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

◆ const_pointer

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

◆ const_reference

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

◆ const_reverse_iterator

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

◆ difference_type

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

◆ iterator

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

◆ pointer

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

◆ reference

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

◆ reverse_iterator

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

◆ size_type

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

◆ value_type

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

Constructor & Destructor Documentation

◆ SmallVectorTemplateBase()

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

Member Function Documentation

◆ back() [1/2]

◆ back() [2/2]

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

◆ begin() [1/2]

◆ begin() [2/2]

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

◆ capacity()

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

◆ data() [1/2]

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

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

References Ogre::SmallVectorTemplateCommon< T >::begin().

◆ data() [2/2]

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

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

References Ogre::SmallVectorTemplateCommon< T >::begin().

◆ destroy_range()

template<typename T , bool isPodLike>
static void Ogre::SmallVectorTemplateBase< T, isPodLike >::destroy_range ( T *  S,
T *  E 
)
inlinestatic

◆ empty()

bool Ogre::SmallVectorBase::empty ( ) const
inlineinherited

◆ end() [1/2]

◆ end() [2/2]

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

◆ front() [1/2]

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

◆ front() [2/2]

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

◆ grow()

template<typename T , bool isPodLike>
void Ogre::SmallVectorTemplateBase< T, isPodLike >::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.

Referenced by Ogre::SmallVectorImpl< T >::swap().

◆ max_size()

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

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ rbegin() [1/2]

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

◆ rbegin() [2/2]

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

◆ rend() [1/2]

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

◆ rend() [2/2]

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

◆ size()

◆ uninitialized_copy()

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


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