Ogre::SmallVectorTemplateBase< T, true > Class Template Reference

SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More...

`#include <OgreSmallVector.h>`

Inheritance diagram for Ogre::SmallVectorTemplateBase< T, true >:
[legend]

## 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 *, T *)
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...
template<typename T1 , typename T2 >
static void | uninitialized_copy (T1 *I, T1 *E, T2 *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

## Detailed Description

### template<typename T>
class Ogre::SmallVectorTemplateBase< T, true >

SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.

Definition at line 290 of file OgreSmallVector.h.

## Member Typedef Documentation

## const_iterator

template<typename T>

typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_iterator

inherited

Definition at line 173 of file OgreSmallVector.h.

## const_pointer

template<typename T>

typedef const T* Ogre::SmallVectorTemplateCommon< T >::const_pointer

inherited

Definition at line 181 of file OgreSmallVector.h.

## const_reference

template<typename T>

typedef const T& Ogre::SmallVectorTemplateCommon< T >::const_reference

inherited

Definition at line 179 of file OgreSmallVector.h.

## const_reverse_iterator

template<typename T>

typedef std::reverse_iterator<const_iterator> Ogre::SmallVectorTemplateCommon< T >::const_reverse_iterator

inherited

Definition at line 175 of file OgreSmallVector.h.

## difference_type

template<typename T>

typedef ptrdiff_t Ogre::SmallVectorTemplateCommon< T >::difference_type

inherited

Definition at line 170 of file OgreSmallVector.h.

## iterator

template<typename T>

typedef T* Ogre::SmallVectorTemplateCommon< T >::iterator

inherited

Definition at line 172 of file OgreSmallVector.h.

## pointer

template<typename T>

typedef T* Ogre::SmallVectorTemplateCommon< T >::pointer

inherited

Definition at line 180 of file OgreSmallVector.h.

## reference

template<typename T>

typedef T& Ogre::SmallVectorTemplateCommon< T >::reference

inherited

Definition at line 178 of file OgreSmallVector.h.

## reverse_iterator

template<typename T>

typedef std::reverse_iterator<iterator> Ogre::SmallVectorTemplateCommon< T >::reverse_iterator

inherited

Definition at line 176 of file OgreSmallVector.h.

## size_type

template<typename T>

typedef size_t Ogre::SmallVectorTemplateCommon< T >::size_type

inherited

Definition at line 169 of file OgreSmallVector.h.

## value_type

template<typename T>

typedef T Ogre::SmallVectorTemplateCommon< T >::value_type

inherited

Definition at line 171 of file OgreSmallVector.h.

## Constructor & Destructor Documentation

## SmallVectorTemplateBase()

template<typename T >

Ogre::SmallVectorTemplateBase< T, true >::SmallVectorTemplateBase | ( | size_t | Size | ) |

Definition at line 292 of file OgreSmallVector.h.

## Member Function Documentation

## back() [1/2]

template<typename T>

reference Ogre::SmallVectorTemplateCommon< T >::back | ( |  | ) |

inherited

Definition at line 227 of file OgreSmallVector.h.

## back() [2/2]

template<typename T>

const_reference Ogre::SmallVectorTemplateCommon< T >::back | ( |  | ) | const

inherited

Definition at line 230 of file OgreSmallVector.h.

## begin() [1/2]

template<typename T>

iterator Ogre::SmallVectorTemplateCommon< T >::begin | ( |  | ) |

inherited

Definition at line 184 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::operator<(), Ogre::SmallVectorImpl< PMTriangle * >::operator=(), Ogre::SmallVectorImpl< PMTriangle * >::operator==(), and Ogre::SmallVectorImpl< PMTriangle * >::swap().

## begin() [2/2]

template<typename T>

const_iterator Ogre::SmallVectorTemplateCommon< T >::begin | ( |  | ) | const

inherited

Definition at line 185 of file OgreSmallVector.h.

## capacity()

template<typename T>

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< PMTriangle * >::swap().

## capacity_in_bytes()

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.

## capacity_ptr() [1/2]

template<typename T>

iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr | ( |  | ) |

protected inherited

Definition at line 189 of file OgreSmallVector.h.

## capacity_ptr() [2/2]

template<typename T>

const_iterator Ogre::SmallVectorTemplateCommon< T >::capacity_ptr | ( |  | ) | const

protected inherited

Definition at line 190 of file OgreSmallVector.h.

## data() [1/2]

template<typename T>

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.

## data() [2/2]

template<typename T>

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.

## destroy_range()

template<typename T >

static void Ogre::SmallVectorTemplateBase< T, true >::destroy_range | ( | T * | ,
|  | T * |
| ) |  |

static

Definition at line 295 of file OgreSmallVector.h.

## empty()

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

inherited

Definition at line 158 of file OgreSmallVector.h.

Referenced by Ogre::SmallVector< T, S >::SmallVector().

## end() [1/2]

template<typename T>

iterator Ogre::SmallVectorTemplateCommon< T >::end | ( | void |  | ) |

inherited

Definition at line 186 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::operator<(), Ogre::SmallVectorImpl< PMTriangle * >::operator=(), and Ogre::SmallVectorImpl< PMTriangle * >::swap().

## end() [2/2]

template<typename T>

const_iterator Ogre::SmallVectorTemplateCommon< T >::end | ( | void |  | ) | const

inherited

Definition at line 187 of file OgreSmallVector.h.

## front() [1/2]

template<typename T>

reference Ogre::SmallVectorTemplateCommon< T >::front | ( |  | ) |

inherited

Definition at line 220 of file OgreSmallVector.h.

## front() [2/2]

template<typename T>

const_reference Ogre::SmallVectorTemplateCommon< T >::front | ( |  | ) | const

inherited

Definition at line 223 of file OgreSmallVector.h.

## grow()

template<typename T >

void Ogre::SmallVectorTemplateBase< T, true >::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 317 of file OgreSmallVector.h.

## grow_pod()

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.

## isSmall()

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.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::swap().

## max_size()

template<typename T>

size_type Ogre::SmallVectorTemplateCommon< T >::max_size | ( |  | ) | const

inherited

Definition at line 200 of file OgreSmallVector.h.

## operator[]() [1/2]

template<typename T>

reference Ogre::SmallVectorTemplateCommon< T >::operator[] | ( | unsigned | idx | ) |

inherited

Definition at line 211 of file OgreSmallVector.h.

## operator[]() [2/2]

template<typename T>

const_reference Ogre::SmallVectorTemplateCommon< T >::operator[] | ( | unsigned | idx | ) | const

inherited

Definition at line 215 of file OgreSmallVector.h.

## rbegin() [1/2]

template<typename T>

reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin | ( |  | ) |

inherited

Definition at line 194 of file OgreSmallVector.h.

## rbegin() [2/2]

template<typename T>

const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rbegin | ( |  | ) | const

inherited

Definition at line 195 of file OgreSmallVector.h.

## rend() [1/2]

template<typename T>

reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend | ( |  | ) |

inherited

Definition at line 196 of file OgreSmallVector.h.

## rend() [2/2]

template<typename T>

const_reverse_iterator Ogre::SmallVectorTemplateCommon< T >::rend | ( |  | ) | const

inherited

Definition at line 197 of file OgreSmallVector.h.

## setEnd()

template<typename T>

void Ogre::SmallVectorTemplateCommon< T >::setEnd | ( | T * | P | ) |

protected inherited

Definition at line 165 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::swap().

## size()

template<typename T>

size_type Ogre::SmallVectorTemplateCommon< T >::size | ( | void |  | ) | const

inherited

Definition at line 199 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::operator=(), Ogre::SmallVectorImpl< PMTriangle * >::operator==(), and Ogre::SmallVectorImpl< PMTriangle * >::swap().

## size_in_bytes()

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.

## uninitialized_copy() [1/2]

template<typename T >
template<typename It1 , typename It2 >

static void Ogre::SmallVectorTemplateBase< T, true >::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 300 of file OgreSmallVector.h.

## uninitialized_copy() [2/2]

template<typename T >
template<typename T1 , typename T2 >

static void Ogre::SmallVectorTemplateBase< T, true >::uninitialized_copy | ( | T1 * | I,
|  | T1 * | E,
|  | T2 * | 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 308 of file OgreSmallVector.h.

## Member Data Documentation

## BeginX

void* Ogre::SmallVectorBase::BeginX

protected inherited

Definition at line 118 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::swap().

## CapacityX

void * Ogre::SmallVectorBase::CapacityX

protected inherited

Definition at line 118 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::swap().

## EndX

void * Ogre::SmallVectorBase::EndX

protected inherited

Definition at line 118 of file OgreSmallVector.h.

Referenced by Ogre::SmallVectorImpl< PMTriangle * >::swap().

## FirstEl

union Ogre::SmallVectorBase::U Ogre::SmallVectorBase::FirstEl

protected inherited

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

- OgreSmallVector.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.