summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfonsinchen <fonsinchen@openttd.org>2013-10-20 13:47:11 +0000
committerfonsinchen <fonsinchen@openttd.org>2013-10-20 13:47:11 +0000
commitdffc4d411e64269f5dd6678a8a5d599dd50bc82c (patch)
treebb0d9d894369bdcab35047103eeb4056d79ba828
parent1ed478d43304873d10e3633828218a45a9f65b7b (diff)
downloadopenttd-dffc4d411e64269f5dd6678a8a5d599dd50bc82c.tar.xz
(svn r25890) -Codechange: define a smallstack for station IDs
-rw-r--r--src/station.cpp4
-rw-r--r--src/station_type.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/station.cpp b/src/station.cpp
index 00c6a6d2a..0c7af914b 100644
--- a/src/station.cpp
+++ b/src/station.cpp
@@ -33,6 +33,10 @@
StationPool _station_pool("Station");
INSTANTIATE_POOL_METHODS(Station)
+typedef StationIDStack::SmallStackPool StationIDStackPool;
+template<> StationIDStackPool StationIDStack::_pool("StationIDStack");
+INSTANTIATE_POOL_METHODS(StationIDStack)
+
BaseStation::~BaseStation()
{
free(this->name);
diff --git a/src/station_type.h b/src/station_type.h
index 82ee0ae25..952a683d7 100644
--- a/src/station_type.h
+++ b/src/station_type.h
@@ -13,6 +13,7 @@
#define STATION_TYPE_H
#include "core/smallvec_type.hpp"
+#include "core/smallstack_type.hpp"
#include "tilearea_type.h"
#include <list>
@@ -28,6 +29,8 @@ struct Waypoint;
static const StationID NEW_STATION = 0xFFFE;
static const StationID INVALID_STATION = 0xFFFF;
+typedef SmallStack<StationID, StationID, INVALID_STATION, 8, 0xFFFD> StationIDStack;
+
/** Station types */
enum StationType {
STATION_RAIL,