SmallVector< T, S > Class Template Reference

Simple vector template class. More...

#include <smallvec_type.hpp>

Inheritance diagram for SmallVector< T, S >:

AutoFreeSmallVector< T, S >

Public Member Functions

FORCEINLINE void Clear ()
 Remove all items from the list.
void Reset ()
 Remove all items from the list and free allocated memory.
FORCEINLINE void Compact ()
 Compact the list down to the smallest block size boundary.
FORCEINLINE T * Append ()
 Append an item and return it.
FORCEINLINE const T * Find (const T &item) const
 Search for the first occurence of an item.
FORCEINLINE T * Find (const T &item)
 Search for the first occurence of an item.
FORCEINLINE bool Contains (const T &item) const
 Tests whether a item is present in the vector.
FORCEINLINE void Erase (T *item)
 Removes given item from this map.
FORCEINLINE bool Include (const T &item)
 Tests whether a item is present in the vector, and appends it to the end if not.
FORCEINLINE uint Length () const
 Get the number of items in the list.
FORCEINLINE const T * Begin () const
 Get the pointer to the first item (const).
FORCEINLINE T * Begin ()
 Get the pointer to the first item.
FORCEINLINE const T * End () const
 Get the pointer behind the last valid item (const).
FORCEINLINE T * End ()
 Get the pointer behind the last valid item.
FORCEINLINE const T * Get (uint index) const
 Get the pointer to item "number" (const).
FORCEINLINE T * Get (uint index)
 Get the pointer to item "number".
FORCEINLINE const T & operator[] (uint index) const
 Get item "number" (const).
FORCEINLINE T & operator[] (uint index)
 Get item "number".

Protected Attributes

T * data
 The pointer to the first item.
uint items
 The number of items stored.
uint capacity
 The avalible space for storing items.

Detailed Description

template<typename T, uint S>
class SmallVector< T, S >

Simple vector template class.

Note:
There are no asserts in the class so you have to care about that you grab an item which is inside the list.
Parameters:
T The type of the items stored
S The steps of allocation

Definition at line 22 of file smallvec_type.hpp.


Member Function Documentation

template<typename T, uint S>
FORCEINLINE const T* SmallVector< T, S >::Find ( const T &  item  )  const [inline]

Search for the first occurence of an item.

The '!=' operator of T is used for comparison.

Parameters:
item Item to search for
Returns:
The position of the item, or End() when not present

Definition at line 89 of file smallvec_type.hpp.

Referenced by SmallVector< EngineIDMapping, 256 >::Contains().

template<typename T, uint S>
FORCEINLINE T* SmallVector< T, S >::Find ( const T &  item  )  [inline]

Search for the first occurence of an item.

The '!=' operator of T is used for comparison.

Parameters:
item Item to search for
Returns:
The position of the item, or End() when not present

Definition at line 103 of file smallvec_type.hpp.

template<typename T, uint S>
FORCEINLINE bool SmallVector< T, S >::Contains ( const T &  item  )  const [inline]

Tests whether a item is present in the vector.

The '!=' operator of T is used for comparison.

Parameters:
item Item to test for
Returns:
true iff the item is present

Definition at line 117 of file smallvec_type.hpp.

Referenced by AddNearbyStation(), SmallVector< EngineIDMapping, 256 >::Include(), and WhoCanServiceIndustry().

template<typename T, uint S>
FORCEINLINE void SmallVector< T, S >::Erase ( T *  item  )  [inline]

Removes given item from this map.

Parameters:
item item to remove
Note:
it has to be pointer to item in this map. It is overwritten by the last item.

Definition at line 126 of file smallvec_type.hpp.

Referenced by AddNearbyStation().

template<typename T, uint S>
FORCEINLINE bool SmallVector< T, S >::Include ( const T &  item  )  [inline]

Tests whether a item is present in the vector, and appends it to the end if not.

The '!=' operator of T is used for comparison.

Parameters:
item Item to test for
Returns:
true iff the item is was already present

Definition at line 138 of file smallvec_type.hpp.

Referenced by DeliverGoodsToIndustry(), and FindStationsAroundTiles().

template<typename T, uint S>
FORCEINLINE const T* SmallVector< T, S >::Begin (  )  const [inline]

template<typename T, uint S>
FORCEINLINE T* SmallVector< T, S >::Begin (  )  [inline]

Get the pointer to the first item.

Returns:
the pointer to the first item

Definition at line 168 of file smallvec_type.hpp.

template<typename T, uint S>
FORCEINLINE const T* SmallVector< T, S >::End (  )  const [inline]

template<typename T, uint S>
FORCEINLINE T* SmallVector< T, S >::End (  )  [inline]

Get the pointer behind the last valid item.

Returns:
the pointer behind the last valid item

Definition at line 188 of file smallvec_type.hpp.

template<typename T, uint S>
FORCEINLINE const T* SmallVector< T, S >::Get ( uint  index  )  const [inline]

Get the pointer to item "number" (const).

Parameters:
index the position of the item
Returns:
the pointer to the item

Definition at line 199 of file smallvec_type.hpp.

Referenced by AddNearbyStation(), FiosGetFileList(), and GetNewEngine().

template<typename T, uint S>
FORCEINLINE T* SmallVector< T, S >::Get ( uint  index  )  [inline]

Get the pointer to item "number".

Parameters:
index the position of the item
Returns:
the pointer to the item

Definition at line 210 of file smallvec_type.hpp.

template<typename T, uint S>
FORCEINLINE const T& SmallVector< T, S >::operator[] ( uint  index  )  const [inline]

Get item "number" (const).

Parameters:
index the positon of the item
Returns:
the item

Definition at line 221 of file smallvec_type.hpp.

template<typename T, uint S>
FORCEINLINE T& SmallVector< T, S >::operator[] ( uint  index  )  [inline]

Get item "number".

Parameters:
index the positon of the item
Returns:
the item

Definition at line 232 of file smallvec_type.hpp.


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

Generated on Thu Oct 1 11:03:49 2009 for OpenTTD by  doxygen 1.5.6