OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
SmallVector - This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. 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 SuperClass::iterator | iterator |
typedef T * | pointer |
typedef T & | reference |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef SuperClass::size_type | size_type |
typedef T | value_type |
Public Member Functions | |
SmallVector () | |
SmallVector (const SmallVector &RHS) | |
template<typename ItTy > | |
SmallVector (ItTy S, ItTy E) | |
SmallVector (unsigned Size, const T &Value=T()) | |
template<typename in_iter > | |
void | append (in_iter in_start, in_iter in_end) |
append - Add the specified range to the end of the SmallVector. More... | |
void | append (size_type NumInputs, const T &Elt) |
append - Add the specified range to the end of the SmallVector. More... | |
void | assign (unsigned NumElts, const T &Elt) |
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... | |
void | clear () |
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 |
iterator | erase (iterator I) |
iterator | erase (iterator S, iterator E) |
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... | |
iterator | insert (iterator I, const T &Elt) |
template<typename ItTy > | |
iterator | insert (iterator I, ItTy From, ItTy To) |
iterator | insert (iterator I, size_type NumToInsert, const T &Elt) |
size_type | max_size () const |
bool | operator!= (const SmallVectorImpl &RHS) const |
bool | operator< (const SmallVectorImpl &RHS) const |
const SmallVector & | operator= (const SmallVector &RHS) |
bool | operator== (const SmallVectorImpl &RHS) const |
reference | operator[] (unsigned idx) |
const_reference | operator[] (unsigned idx) const |
void | pop_back () |
T | pop_back_val () |
void | push_back (const T &Elt) |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
void | reserve (unsigned N) |
void | resize (unsigned N) |
void | resize (unsigned N, const T &NV) |
void | set_size (unsigned N) |
set_size - Set the array size to More... | |
size_type | size () const |
void | swap (SmallVectorImpl &RHS) |
Static Public Member Functions | |
static void | destroy_range (T *S, T *E) |
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... | |
SmallVector - This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
It contains some number of elements in-place, which allows it to avoid heap allocation when the actual number of elements is below that threshold. This allows normal "small" cases to be fast without losing generality for large inputs.
Note that this does not attempt to be exception safe.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inlineexplicit |
|
inline |
References Ogre::SmallVectorImpl< T >::append().
|
inline |
References Ogre::SmallVectorBase::empty(), and Ogre::SmallVectorImpl< T >::operator=().
|
inlineinherited |
append - Add the specified range to the end of the SmallVector.
References Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::grow(), and Ogre::SmallVectorTemplateCommon< T >::size().
Referenced by Ogre::SmallVector< T, N >::SmallVector(), Ogre::SmallVector< T, 0 >::SmallVector(), and Ogre::SmallVectorImpl< T >::insert().
|
inlineinherited |
append - Add the specified range to the end of the SmallVector.
References Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::grow(), and Ogre::SmallVectorTemplateCommon< T >::size().
|
inlineinherited |
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::end().
Referenced by Ogre::SmallVectorImpl< T >::insert(), and Ogre::SmallVectorImpl< T >::pop_back_val().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::end().
|
inlineinherited |
Referenced by Ogre::SmallVectorImpl< T >::~SmallVectorImpl(), Ogre::SmallVectorImpl< T >::assign(), Ogre::SmallVectorTemplateCommon< T >::capacity(), Ogre::SmallVectorImpl< T >::clear(), Ogre::SmallVectorTemplateCommon< T >::data(), Ogre::SmallVectorTemplateCommon< T >::front(), Ogre::SmallVectorImpl< T >::insert(), Ogre::SmallVectorImpl< T >::operator<(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< T >::operator==(), Ogre::SmallVectorTemplateCommon< T >::operator[](), Ogre::SmallVectorTemplateCommon< T >::rend(), Ogre::SmallVectorImpl< T >::resize(), Ogre::SmallVectorImpl< T >::set_size(), Ogre::SmallVectorTemplateCommon< T >::size(), and Ogre::SmallVectorImpl< T >::swap().
|
inlineinherited |
|
inlineinherited |
capacity - Return the total number of elements in the currently allocated buffer.
References Ogre::SmallVectorTemplateCommon< T >::begin().
Referenced by Ogre::SmallVectorImpl< T >::assign(), Ogre::SmallVectorImpl< T >::reserve(), Ogre::SmallVectorImpl< T >::resize(), Ogre::SmallVectorImpl< T >::set_size(), and Ogre::SmallVectorImpl< T >::swap().
|
inlineinherited |
|
inlineinherited |
data - Return a pointer to the vector's buffer, even if empty().
References Ogre::SmallVectorTemplateCommon< T >::begin().
|
inlineinherited |
data - Return a pointer to the vector's buffer, even if empty().
References Ogre::SmallVectorTemplateCommon< T >::begin().
|
inlinestaticinherited |
|
inlineinherited |
Referenced by Ogre::SmallVector< T, N >::SmallVector().
|
inlineinherited |
Referenced by Ogre::SmallVectorImpl< T >::~SmallVectorImpl(), Ogre::SmallVectorImpl< T >::append(), Ogre::SmallVectorImpl< T >::assign(), Ogre::SmallVectorTemplateCommon< T >::back(), Ogre::SmallVectorImpl< T >::clear(), Ogre::SmallVectorImpl< T >::erase(), Ogre::SmallVectorImpl< T >::insert(), Ogre::SmallVectorImpl< T >::operator<(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< T >::operator==(), Ogre::SmallVectorTemplateCommon< T >::operator[](), Ogre::SmallVectorImpl< T >::pop_back(), Ogre::SmallVectorImpl< T >::push_back(), Ogre::SmallVectorTemplateCommon< T >::rbegin(), Ogre::SmallVectorImpl< T >::resize(), Ogre::SmallVectorTemplateCommon< T >::size(), and Ogre::SmallVectorImpl< T >::swap().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin().
|
inherited |
grow - double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.
|
inlineinherited |
|
inlineinherited |
References Ogre::SmallVectorImpl< T >::append(), Ogre::SmallVectorTemplateCommon< T >::begin(), Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorImpl< T >::reserve(), Ogre::SmallVectorTemplateCommon< T >::size(), and Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::uninitialized_copy().
|
inlineinherited |
References Ogre::SmallVectorImpl< T >::append(), Ogre::SmallVectorTemplateCommon< T >::begin(), Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorImpl< T >::reserve(), Ogre::SmallVectorTemplateCommon< T >::size(), and Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::uninitialized_copy().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
References Ogre::SmallVectorImpl< T >::operator=().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::end().
Referenced by Ogre::SmallVectorImpl< T >::erase(), and Ogre::SmallVectorImpl< T >::pop_back_val().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::end().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::end().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin().
|
inlineinherited |
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin(), Ogre::SmallVectorTemplateCommon< T >::capacity(), Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::destroy_range(), Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::grow(), and Ogre::SmallVectorTemplateCommon< T >::size().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin(), Ogre::SmallVectorTemplateCommon< T >::capacity(), Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::destroy_range(), Ogre::SmallVectorTemplateCommon< T >::end(), Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value >::grow(), and Ogre::SmallVectorTemplateCommon< T >::size().
|
inlineinherited |
set_size - Set the array size to
This does not construct or destroy any elements in the vector.
Clients can use this in conjunction with capacity() to write past the end of the buffer when they know that more elements are available, and only update the size later. This avoids the cost of value initializing elements which will only be overwritten.
References Ogre::SmallVectorTemplateCommon< T >::begin(), and Ogre::SmallVectorTemplateCommon< T >::capacity().
|
inlineinherited |
References Ogre::SmallVectorTemplateCommon< T >::begin(), and Ogre::SmallVectorTemplateCommon< T >::end().
Referenced by Ogre::SmallVectorImpl< T >::append(), Ogre::SmallVectorImpl< T >::insert(), Ogre::SmallVectorImpl< T >::operator=(), Ogre::SmallVectorImpl< T >::operator==(), Ogre::SmallVectorImpl< T >::resize(), and Ogre::SmallVectorImpl< T >::swap().
|
inherited |
|
inlinestaticinherited |
uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.