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.
FORCEINLINE 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 (uint to_add=1)
 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 int FindIndex (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 vector.
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 29 of file smallvec_type.hpp.


Member Function Documentation

template<typename T, uint S>
FORCEINLINE T* SmallVector< T, S >::Append ( uint  to_add = 1  )  [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 199 of file smallvec_type.hpp.

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

Get the pointer to the first item (const).

Returns:
the pointer to the first item

Definition at line 189 of file smallvec_type.hpp.

Referenced by FiosFileScanner::AddFile(), ClientNetworkContentSocketHandler::Begin(), TCPConnecter::CheckCallbacks(), ClientNetworkContentSocketHandler::CheckDependencyState(), CheckSubsidised(), ClientNetworkContentSocketHandler::Clear(), NetworkUDPSocketHandler::Close(), CmdRemoveFromRailStation(), NetworkContentListWindow::DrawDetails(), DrawString(), NetworkClientListPopupWindow::DrawWidget(), EngList_Sort(), SmallVector< RefitOption, 32 >::Erase(), NetworkContentListWindow::FilterContentList(), FinaliseHouseArray(), FinaliseIndustriesArray(), FinalisePriceBaseMultipliers(), SmallVector< RefitOption, 32 >::Find(), SmallVector< RefitOption, 32 >::FindIndex(), FiosGetFileList(), GetBindAddresses(), ClientNetworkContentSocketHandler::GetContent(), BaseSet< MusicSet, NUM_SONGS_AVAILABLE, GM_DIR >::GetDescription(), HasScenario(), NetworkHTTPSocketHandler::HTTPReceive(), ini_save_setting_list(), TCPConnecter::KillAll(), NetworkUDPSocketHandler::Listen(), LoadUnloadStation(), MoveWaypointsToBaseStations(), NetworkFindBroadcastIPs(), NetworkUDPSocketHandler::NetworkUDPSocketHandler(), ClientNetworkContentSocketHandler::OnConnect(), ClientNetworkContentSocketHandler::OnDisconnect(), ClientNetworkContentSocketHandler::OnDownloadComplete(), ClientNetworkContentSocketHandler::OnDownloadProgress(), NetworkGameWindow::OnInvalidateData(), NetworkContentListWindow::OnInvalidateData(), ClientNetworkContentSocketHandler::OnReceiveContentInfo(), ClientNetworkContentSocketHandler::OnReceiveData(), NetworkUDPSocketHandler::ReceivePackets(), RemoveFromRailBaseStation(), RestoreTrainBackup(), ClientNetworkContentSocketHandler::ReverseLookupDependency(), ClientNetworkContentSocketHandler::ReverseLookupTreeDependency(), ClientNetworkContentSocketHandler::SelectAll(), ClientNetworkContentSocketHandler::SelectUpgrade(), NetworkUDPSocketHandler::SendPacket(), ShowNetworkContentListWindow(), NetworkContentListWindow::SortContentList(), ClientNetworkContentSocketHandler::UnselectAll(), UpdateWaypointOrder(), NetworkClientListPopupWindow::UpdateWidgetSize(), ViewportDrawBoundingBoxes(), ViewportSortParentSprites(), BaseSet< MusicSet, NUM_SONGS_AVAILABLE, GM_DIR >::~BaseSet(), ClientNetworkContentSocketHandler::~ClientNetworkContentSocketHandler(), and NetworkContentDownloadStatusWindow::~NetworkContentDownloadStatusWindow().

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 147 of file smallvec_type.hpp.

Referenced by AddNearbyStation(), ClientNetworkContentSocketHandler::DownloadContentInfo(), BuildVehicleWindow::FilterEngineList(), FindIndustryToDeliver(), SmallVector< RefitOption, 32 >::Include(), NetworkFindBroadcastIPsInternal(), and WhoCanServiceIndustry().

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 219 of file smallvec_type.hpp.

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

Get the pointer behind the last valid item (const).

Returns:
the pointer behind the last valid item

Definition at line 209 of file smallvec_type.hpp.

Referenced by AddCombinedSprite(), FiosFileScanner::AddFile(), AIInfo::AddLabels(), TCPConnecter::CheckCallbacks(), ClientNetworkContentSocketHandler::CheckDependencyState(), CheckSubsidised(), ClientNetworkContentSocketHandler::Clear(), NetworkUDPSocketHandler::Close(), CmdRemoveFromRailStation(), SmallVector< RefitOption, 32 >::Contains(), NetworkContentListWindow::DrawDetails(), DrawString(), NetworkClientListPopupWindow::DrawWidget(), ClientNetworkContentSocketHandler::End(), SmallVector< RefitOption, 32 >::Erase(), NetworkContentListWindow::FilterContentList(), FinaliseHouseArray(), FinaliseIndustriesArray(), FinalisePriceBaseMultipliers(), SmallVector< RefitOption, 32 >::Find(), SmallVector< RefitOption, 32 >::FindIndex(), GetBindAddresses(), GetCargoSummaryOfArticulatedVehicle(), ClientNetworkContentSocketHandler::GetContent(), BaseSet< MusicSet, NUM_SONGS_AVAILABLE, GM_DIR >::GetDescription(), HasScenario(), NetworkHTTPSocketHandler::HTTPReceive(), ini_save_setting_list(), TCPConnecter::KillAll(), NetworkUDPSocketHandler::Listen(), LoadUnloadStation(), MoveWaypointsToBaseStations(), NetworkFindBroadcastIPs(), NetworkUDPSocketHandler::NetworkUDPSocketHandler(), ClientNetworkContentSocketHandler::OnConnect(), ClientNetworkContentSocketHandler::OnDisconnect(), ClientNetworkContentSocketHandler::OnDownloadComplete(), ClientNetworkContentSocketHandler::OnDownloadProgress(), NetworkGameWindow::OnInvalidateData(), NetworkContentListWindow::OnInvalidateData(), ClientNetworkContentSocketHandler::OnReceiveContentInfo(), NetworkUDPSocketHandler::ReceivePackets(), RemoveFromRailBaseStation(), NetworkAddress::Resolve(), RestoreTrainBackup(), ClientNetworkContentSocketHandler::ReverseLookupDependency(), ClientNetworkContentSocketHandler::ReverseLookupTreeDependency(), ClientNetworkContentSocketHandler::SelectAll(), ClientNetworkContentSocketHandler::SelectUpgrade(), NetworkUDPSocketHandler::SendPacket(), ShowNetworkContentListWindow(), NetworkContentListWindow::SortContentList(), ClientNetworkContentSocketHandler::UnselectAll(), UpdateWaypointOrder(), NetworkClientListPopupWindow::UpdateWidgetSize(), ViewportDrawBoundingBoxes(), ViewportSortParentSprites(), BaseSet< MusicSet, NUM_SONGS_AVAILABLE, GM_DIR >::~BaseSet(), ClientNetworkContentSocketHandler::~ClientNetworkContentSocketHandler(), and NetworkContentDownloadStatusWindow::~NetworkContentDownloadStatusWindow().

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

Removes given item from this vector.

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

Reimplemented in SmallMap< NetworkAddress, SOCKET, 4 >.

Definition at line 157 of file smallvec_type.hpp.

Referenced by AddNearbyStation(), TCPConnecter::CheckCallbacks(), NetworkHTTPSocketHandler::HTTPReceive(), and ClientNetworkContentSocketHandler::RemoveCallback().

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 115 of file smallvec_type.hpp.

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 101 of file smallvec_type.hpp.

Referenced by SmallVector< RefitOption, 32 >::Contains(), GetCargoSummaryOfArticulatedVehicle(), and ClientNetworkContentSocketHandler::RemoveCallback().

template<typename T, uint S>
FORCEINLINE int SmallVector< T, S >::FindIndex ( 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 -1 when not present

Definition at line 129 of file smallvec_type.hpp.

Referenced by FinalisePriceBaseMultipliers(), and NewGRFAddWindow::UpdateListPosition().

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 243 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 230 of file smallvec_type.hpp.

Referenced by AddNearbyStation(), BuildBridgeWindow::DrawWidget(), EngList_SortPartial(), FiosGetFileList(), ClientNetworkContentSocketHandler::Get(), GetNewEngine(), NetworkContentListWindow::OnClick(), NetworkContentListWindow::OnKeyPress(), and BuildBridgeWindow::UpdateWidgetSize().

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 169 of file smallvec_type.hpp.

Referenced by ClientNetworkContentSocketHandler::AddCallback(), BuildRefitList(), CheckSubsidised(), DeliverGoodsToIndustry(), FindStationsAroundTiles(), NetworkContentDownloadStatusWindow::OnDownloadProgress(), RemoveFromRailBaseStation(), and ClientNetworkContentSocketHandler::ReverseLookupTreeDependency().

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 268 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 256 of file smallvec_type.hpp.


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

Generated on Sat Apr 17 23:25:45 2010 for OpenTTD by  doxygen 1.6.1