From 20a514a3bee98a5adc8f0a9e6c14f5604e529353 Mon Sep 17 00:00:00 2001
From: Henry Wilson <m3henry@googlemail.com>
Date: Tue, 2 Jan 2018 19:56:40 +0000
Subject: [PATCH 27/31] TrainList ~> std::vector

---
 src/train_cmd.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index fb1d2b1ee..e56950e52 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -834,7 +834,7 @@ static Train *FindGoodVehiclePos(const Train *src)
 }
 
 /** Helper type for lists/vectors of trains */
-typedef SmallVector<Train *, 16> TrainList;
+using TrainList = std::vector<Train *>;
 
 /**
  * Make a backup of a train into a train list.
@@ -843,7 +843,7 @@ typedef SmallVector<Train *, 16> TrainList;
  */
 static void MakeTrainBackup(TrainList &list, Train *t)
 {
-	for (; t != NULL; t = t->Next()) *list.Append() = t;
+	for (; t != NULL; t = t->Next()) list.push_back(t);
 }
 
 /**
@@ -853,12 +853,11 @@ static void MakeTrainBackup(TrainList &list, Train *t)
 static void RestoreTrainBackup(TrainList &list)
 {
 	/* No train, nothing to do. */
-	if (list.Length() == 0) return;
+	if (list.empty()) return;
 
 	Train *prev = NULL;
 	/* Iterate over the list and rebuild it. */
-	for (Train **iter = list.Begin(); iter != list.End(); iter++) {
-		Train *t = *iter;
+	for (auto &t : list) {
 		if (prev != NULL) {
 			prev->SetNext(t);
 		} else if (t->Previous() != NULL) {
-- 
2.14.1

