OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
SmallVectorImpl - This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
#include <OgreSmallVector.h>
Public Types | |
typedef SuperClass::iterator | iterator |
typedef SuperClass::size_type | size_type |
Public Types inherited from Ogre::SmallVectorTemplateCommon< T > | |
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 | |
SmallVectorImpl (unsigned N) | |
~SmallVectorImpl () | |
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) |
void | clear () |
iterator | erase (iterator I) |
iterator | erase (iterator S, iterator E) |
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) |
bool | operator!= (const SmallVectorImpl &RHS) const |
bool | operator< (const SmallVectorImpl &RHS) const |
const SmallVectorImpl & | operator= (const SmallVectorImpl &RHS) |
bool | operator== (const SmallVectorImpl &RHS) const |
void | pop_back () |
T | pop_back_val () |
void | push_back (const T &Elt) |
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... | |
void | swap (SmallVectorImpl &RHS) |
Public Member Functions inherited from Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value > | |
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. More... | |
Public Member Functions inherited from Ogre::SmallVectorTemplateCommon< T > | |
SmallVectorTemplateCommon (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... | |
iterator | end () |
const_iterator | end () const |
reference | front () |
const_reference | front () const |
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 |
Public Member Functions inherited from Ogre::SmallVectorBase | |
bool | empty () const |
Additional Inherited Members | |
Static Public Member Functions inherited from Ogre::SmallVectorTemplateBase< T, isPodLike< T >::value > | |
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... | |
SmallVectorImpl - This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.
typedef SuperClass::iterator Ogre::SmallVectorImpl< T >::iterator |
typedef SuperClass::size_type Ogre::SmallVectorImpl< T >::size_type |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
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().
|
inline |
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().
|
inline |
|
inline |
|
inline |
References Ogre::SmallVectorTemplateCommon< T >::end().
Referenced by Ogre::SmallVectorImpl< T >::erase(), and Ogre::SmallVectorImpl< T >::pop_back_val().
|
inline |
void Ogre::SmallVectorImpl< T >::swap | ( | SmallVectorImpl< T > & | RHS | ) |
|
inline |
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().
|
inline |
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().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
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().
|
inline |
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().
const SmallVectorImpl< T > & Ogre::SmallVectorImpl< T >::operator= | ( | const SmallVectorImpl< T > & | RHS | ) |
References Ogre::SmallVectorTemplateCommon< T >::begin(), Ogre::SmallVectorTemplateCommon< T >::end(), and Ogre::SmallVectorTemplateCommon< T >::size().
Referenced by Ogre::SmallVector< T, N >::SmallVector(), Ogre::SmallVector< T, 0 >::SmallVector(), Ogre::SmallVector< T, N >::operator=(), and Ogre::SmallVector< T, 0 >::operator=().
|
inline |
|
inline |
|
inline |
|
inline |
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().