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>
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 |
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.
typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_iterator [inherited] |
Definition at line 173 of file OgreSmallVector.h.
typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_pointer [inherited] |
Definition at line 181 of file OgreSmallVector.h.
typedef const T& Ogre::SmallVectorTemplateCommon< T >::const_reference [inherited] |
Definition at line 179 of file OgreSmallVector.h.
typedef std::reverse_iterator<const_iterator> Ogre::SmallVectorTemplateCommon< T >::const_reverse_iterator [inherited] |
Definition at line 175 of file OgreSmallVector.h.
typedef ptrdiff_t Ogre::SmallVectorTemplateCommon< T >::difference_type [inherited] |
Definition at line 170 of file OgreSmallVector.h.
typedef T* Ogre::SmallVectorTemplateCommon< T >::iterator [inherited] |
Reimplemented in Ogre::SmallVectorImpl< T >, Ogre::SmallVectorImpl< PMTriangle * >, and Ogre::SmallVectorImpl< PMVertex * >.
Definition at line 172 of file OgreSmallVector.h.
typedef T* Ogre::SmallVectorTemplateCommon< T >::pointer [inherited] |
Definition at line 180 of file OgreSmallVector.h.
typedef T& Ogre::SmallVectorTemplateCommon< T >::reference [inherited] |
Definition at line 178 of file OgreSmallVector.h.
typedef std::reverse_iterator<iterator> Ogre::SmallVectorTemplateCommon< T >::reverse_iterator [inherited] |
Definition at line 176 of file OgreSmallVector.h.
typedef size_t Ogre::SmallVectorTemplateCommon< T >::size_type [inherited] |
Reimplemented in Ogre::SmallVectorImpl< T >, Ogre::SmallVectorImpl< PMTriangle * >, and Ogre::SmallVectorImpl< PMVertex * >.
Definition at line 169 of file OgreSmallVector.h.
typedef T Ogre::SmallVectorTemplateCommon< T >::value_type [inherited] |
Definition at line 171 of file OgreSmallVector.h.
Ogre::SmallVectorTemplateBase< T, isPodLike >::SmallVectorTemplateBase | ( | size_t | Size | ) |
Definition at line 240 of file OgreSmallVector.h.
const_reference Ogre::SmallVectorTemplateCommon< T >::back | ( | ) | const [inherited] |
Definition at line 230 of file OgreSmallVector.h.
reference Ogre::SmallVectorTemplateCommon< T >::back | ( | ) | [inherited] |
Definition at line 227 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::insert(), and Ogre::SmallVectorImpl< PMVertex * >::pop_back_val().
const_iterator Ogre::SmallVectorTemplateCommon< T >::begin | ( | ) | const [inherited] |
Definition at line 185 of file OgreSmallVector.h.
iterator Ogre::SmallVectorTemplateCommon< T >::begin | ( | ) | [inherited] |
Definition at line 184 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::assign(), Ogre::SmallVectorTemplateCommon< PMVertex * >::capacity(), Ogre::SmallVectorImpl< PMVertex * >::clear(), Ogre::SmallVectorTemplateCommon< PMVertex * >::data(), Ogre::SmallVectorTemplateCommon< PMVertex * >::front(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< PMVertex * >::operator<(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< PMVertex * >::operator==(), Ogre::SmallVectorTemplateCommon< PMVertex * >::operator[](), Ogre::SmallVectorTemplateCommon< PMVertex * >::rend(), Ogre::SmallVectorImpl< PMVertex * >::resize(), Ogre::SmallVectorImpl< PMVertex * >::set_size(), Ogre::SmallVectorTemplateCommon< PMVertex * >::size(), Ogre::SmallVectorImpl< T >::swap(), and Ogre::SmallVectorImpl< PMVertex * >::~SmallVectorImpl().
size_t Ogre::SmallVectorTemplateCommon< T >::capacity | ( | ) | const [inherited] |
capacity - Return the total number of elements in the currently allocated buffer.
Definition at line 204 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::assign(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< PMVertex * >::reserve(), Ogre::SmallVectorImpl< PMVertex * >::resize(), Ogre::SmallVectorImpl< PMVertex * >::set_size(), and Ogre::SmallVectorImpl< T >::swap().
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.
const_iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr | ( | ) | const [protected, inherited] |
Definition at line 190 of file OgreSmallVector.h.
iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr | ( | ) | [protected, inherited] |
Definition at line 189 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), and Ogre::SmallVectorTemplateCommon< PMVertex * >::capacity().
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.
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.
static void Ogre::SmallVectorTemplateBase< T, isPodLike >::destroy_range | ( | T * | S, | |
T * | E | |||
) | [static] |
Definition at line 242 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorTemplateBase< T, isPodLike >::grow().
bool Ogre::SmallVectorBase::empty | ( | ) | const [inherited] |
Definition at line 158 of file OgreSmallVector.h.
References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::EndX.
Referenced by Ogre::SmallVector< PMTriangle *, 8 >::SmallVector().
const_iterator Ogre::SmallVectorTemplateCommon< T >::end | ( | void | ) | const [inherited] |
Definition at line 187 of file OgreSmallVector.h.
iterator Ogre::SmallVectorTemplateCommon< T >::end | ( | void | ) | [inherited] |
Definition at line 186 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), Ogre::SmallVectorImpl< PMVertex * >::assign(), Ogre::SmallVectorTemplateCommon< PMVertex * >::back(), Ogre::SmallVectorImpl< PMVertex * >::clear(), Ogre::SmallVectorImpl< PMVertex * >::erase(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< PMVertex * >::operator<(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< PMVertex * >::operator==(), Ogre::SmallVectorTemplateCommon< PMVertex * >::operator[](), Ogre::SmallVectorImpl< PMVertex * >::pop_back(), Ogre::SmallVectorImpl< PMVertex * >::push_back(), Ogre::SmallVectorTemplateCommon< PMVertex * >::rbegin(), Ogre::SmallVectorImpl< PMVertex * >::resize(), Ogre::SmallVectorTemplateCommon< PMVertex * >::size(), Ogre::SmallVectorImpl< T >::swap(), and Ogre::SmallVectorImpl< PMVertex * >::~SmallVectorImpl().
const_reference Ogre::SmallVectorTemplateCommon< T >::front | ( | ) | const [inherited] |
Definition at line 223 of file OgreSmallVector.h.
reference Ogre::SmallVectorTemplateCommon< T >::front | ( | ) | [inherited] |
Definition at line 220 of file OgreSmallVector.h.
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.
Definition at line 263 of file OgreSmallVector.h.
References Ogre::SmallVectorTemplateCommon< T >::begin(), Ogre::SmallVectorBase::BeginX, Ogre::SmallVectorTemplateCommon< T >::capacity(), Ogre::SmallVectorBase::CapacityX, Ogre::SmallVectorTemplateBase< T, isPodLike >::destroy_range(), Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorBase::isSmall(), Ogre::SmallVectorTemplateCommon< T >::setEnd(), Ogre::SmallVectorTemplateCommon< T >::size(), and Ogre::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().
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().
size_type Ogre::SmallVectorTemplateCommon< T >::max_size | ( | ) | const [inherited] |
Definition at line 200 of file OgreSmallVector.h.
const_reference Ogre::SmallVectorTemplateCommon< T >::operator[] | ( | unsigned | idx | ) | const [inherited] |
Definition at line 215 of file OgreSmallVector.h.
reference Ogre::SmallVectorTemplateCommon< T >::operator[] | ( | unsigned | idx | ) | [inherited] |
Definition at line 211 of file OgreSmallVector.h.
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin | ( | ) | const [inherited] |
Definition at line 195 of file OgreSmallVector.h.
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin | ( | ) | [inherited] |
Definition at line 194 of file OgreSmallVector.h.
const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend | ( | ) | const [inherited] |
Definition at line 197 of file OgreSmallVector.h.
reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend | ( | ) | [inherited] |
Definition at line 196 of file OgreSmallVector.h.
void Ogre::SmallVectorTemplateCommon< T >::setEnd | ( | T * | P | ) | [protected, inherited] |
Definition at line 165 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), Ogre::SmallVectorImpl< PMVertex * >::assign(), Ogre::SmallVectorImpl< PMVertex * >::erase(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< PMVertex * >::pop_back(), Ogre::SmallVectorImpl< PMVertex * >::push_back(), Ogre::SmallVectorImpl< PMVertex * >::resize(), Ogre::SmallVectorImpl< PMVertex * >::set_size(), and Ogre::SmallVectorImpl< T >::swap().
size_type Ogre::SmallVectorTemplateCommon< T >::size | ( | void | ) | const [inherited] |
Definition at line 199 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< PMVertex * >::operator==(), Ogre::SmallVectorImpl< PMVertex * >::resize(), and Ogre::SmallVectorImpl< T >::swap().
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.
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().
void* Ogre::SmallVectorBase::BeginX [protected, inherited] |
Definition at line 118 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorTemplateCommon< PMVertex * >::begin(), Ogre::SmallVectorBase::capacity_in_bytes(), Ogre::SmallVectorImpl< PMVertex * >::clear(), Ogre::SmallVectorBase::empty(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorBase::isSmall(), Ogre::SmallVectorBase::size_in_bytes(), and Ogre::SmallVectorImpl< T >::swap().
void * Ogre::SmallVectorBase::CapacityX [protected, inherited] |
Definition at line 118 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorBase::capacity_in_bytes(), Ogre::SmallVectorTemplateCommon< PMVertex * >::capacity_ptr(), Ogre::SmallVectorTemplateBase< T, isPodLike >::grow(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< PMVertex * >::push_back(), and Ogre::SmallVectorImpl< T >::swap().
void * Ogre::SmallVectorBase::EndX [protected, inherited] |
Definition at line 118 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::clear(), Ogre::SmallVectorBase::empty(), Ogre::SmallVectorTemplateCommon< PMVertex * >::end(), Ogre::SmallVectorTemplateCommon< PMVertex * >::setEnd(), Ogre::SmallVectorBase::size_in_bytes(), and Ogre::SmallVectorImpl< T >::swap().
union Ogre::SmallVectorBase::U Ogre::SmallVectorBase::FirstEl [protected, inherited] |
Referenced by Ogre::SmallVectorBase::isSmall().
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:40:37 2012