Departures: Use btree map for scheduled dispatch maps
This commit is contained in:
@@ -34,14 +34,13 @@
|
||||
#include "departures_type.h"
|
||||
#include "tracerestrict.h"
|
||||
#include "3rdparty/cpp-btree/btree_set.h"
|
||||
#include "3rdparty/cpp-btree/btree_map.h"
|
||||
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
/* A cache of used departure time for scheduled dispatch in departure time calculation */
|
||||
typedef std::map<const DispatchSchedule *, btree::btree_set<DateTicksScaled>> schdispatch_cache_t;
|
||||
typedef btree::btree_map<const DispatchSchedule *, btree::btree_set<DateTicksScaled>> schdispatch_cache_t;
|
||||
|
||||
/** A scheduled order. */
|
||||
typedef struct OrderDate
|
||||
@@ -167,7 +166,7 @@ static bool VehicleSetNextDepartureTime(DateTicks *previous_departure, uint *wai
|
||||
static void ScheduledDispatchDepartureLocalFix(DepartureList *departure_list)
|
||||
{
|
||||
/* Seperate departure by each shared order group */
|
||||
std::map<uint32, std::vector<Departure*>> separated_departure;
|
||||
btree::btree_map<uint32, std::vector<Departure*>> separated_departure;
|
||||
for (Departure* departure : *departure_list) {
|
||||
separated_departure[departure->vehicle->orders->index].push_back(departure);
|
||||
}
|
||||
|
Reference in New Issue
Block a user