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 const T * | const_iterator |
typedef const T * | const_pointer |
typedef const T & | const_reference |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef ptrdiff_t | difference_type |
typedef T * | iterator |
typedef T * | pointer |
typedef T & | reference |
typedef std::reverse_iterator < iterator > | reverse_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... | |
Protected Member Functions | |
size_t | capacity_in_bytes () const |
capacity_in_bytes - This returns capacity()*sizeof(T). More... | |
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 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) |
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 |
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.
|
inherited |
Definition at line 173 of file OgreSmallVector.h.
|
inherited |
Definition at line 181 of file OgreSmallVector.h.
|
inherited |
Definition at line 179 of file OgreSmallVector.h.
|
inherited |
Definition at line 175 of file OgreSmallVector.h.
|
inherited |
Definition at line 170 of file OgreSmallVector.h.
|
inherited |
Definition at line 172 of file OgreSmallVector.h.
|
inherited |
Definition at line 180 of file OgreSmallVector.h.
|
inherited |
Definition at line 178 of file OgreSmallVector.h.
|
inherited |
Definition at line 176 of file OgreSmallVector.h.
|
inherited |
Definition at line 169 of file OgreSmallVector.h.
|
inherited |
Definition at line 171 of file OgreSmallVector.h.
|
inline |
Definition at line 240 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 227 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::insert(), and Ogre::SmallVectorImpl< PMVertex * >::pop_back_val().
|
inlineinherited |
Definition at line 230 of file OgreSmallVector.h.
|
inlineinherited |
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::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().
|
inlineinherited |
Definition at line 185 of file OgreSmallVector.h.
|
inlineinherited |
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::SmallVectorImpl< PMVertex * >::reserve(), Ogre::SmallVectorImpl< PMVertex * >::resize(), Ogre::SmallVectorImpl< PMVertex * >::set_size(), and Ogre::SmallVectorImpl< T >::swap().
|
inlineprotectedinherited |
capacity_in_bytes - This returns capacity()*sizeof(T).
Definition at line 149 of file OgreSmallVector.h.
References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::CapacityX.
|
inlineprotectedinherited |
Definition at line 189 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), and Ogre::SmallVectorTemplateCommon< PMVertex * >::capacity().
|
inlineprotectedinherited |
Definition at line 190 of file OgreSmallVector.h.
|
inlineinherited |
data - Return a pointer to the vector's buffer, even if empty().
Definition at line 207 of file OgreSmallVector.h.
|
inlineinherited |
data - Return a pointer to the vector's buffer, even if empty().
Definition at line 209 of file OgreSmallVector.h.
|
inlinestatic |
Definition at line 242 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 158 of file OgreSmallVector.h.
References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::EndX.
Referenced by Ogre::SmallVector< PMTriangle *, 8 >::SmallVector().
|
inlineinherited |
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::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().
|
inlineinherited |
Definition at line 187 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 220 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 223 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.
|
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 Ogre::SmallVectorTemplateBase< T, true >::grow().
|
inlineprotectedinherited |
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::SmallVectorImpl< T >::swap(), and Ogre::SmallVectorImpl< PMVertex * >::~SmallVectorImpl().
|
inlineinherited |
Definition at line 200 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 211 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 215 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 194 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 195 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 196 of file OgreSmallVector.h.
|
inlineinherited |
Definition at line 197 of file OgreSmallVector.h.
|
inlineprotectedinherited |
Definition at line 165 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), Ogre::SmallVectorImpl< PMVertex * >::assign(), Ogre::SmallVectorImpl< PMVertex * >::erase(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< PMVertex * >::pop_back(), Ogre::SmallVectorImpl< PMVertex * >::push_back(), Ogre::SmallVectorImpl< PMVertex * >::resize(), Ogre::SmallVectorImpl< PMVertex * >::set_size(), and Ogre::SmallVectorImpl< T >::swap().
|
inlineinherited |
Definition at line 199 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorImpl< PMVertex * >::append(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< PMVertex * >::operator==(), Ogre::SmallVectorImpl< PMVertex * >::resize(), and Ogre::SmallVectorImpl< T >::swap().
|
inlineprotectedinherited |
size_in_bytes - This returns size()*sizeof(T).
Definition at line 144 of file OgreSmallVector.h.
References Ogre::SmallVectorBase::BeginX, and Ogre::SmallVectorBase::EndX.
|
inlinestatic |
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.
|
protectedinherited |
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::SmallVectorBase::isSmall(), Ogre::SmallVectorBase::size_in_bytes(), and Ogre::SmallVectorImpl< T >::swap().
|
protectedinherited |
Definition at line 118 of file OgreSmallVector.h.
Referenced by Ogre::SmallVectorBase::capacity_in_bytes(), Ogre::SmallVectorTemplateCommon< PMVertex * >::capacity_ptr(), Ogre::SmallVectorImpl< PMVertex * >::insert(), Ogre::SmallVectorImpl< PMVertex * >::push_back(), and Ogre::SmallVectorImpl< T >::swap().
|
protectedinherited |
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().
|
protectedinherited |
Referenced by Ogre::SmallVectorBase::isSmall().