| 18 | using Client = size_t; |
| 19 | |
| 20 | Route::Iterator::Iterator(Route const &route, size_t idx) |
| 21 | : route_(&route), trip_(route.numTrips()), idx_(0) |
| 22 | { |
| 23 | assert(idx <= route.size()); |
| 24 | |
| 25 | auto const &trips = route.trips(); |
| 26 | for (size_t trip = 0; trip != trips.size(); ++trip) |
| 27 | { |
| 28 | if (idx < trips[trip].size()) |
| 29 | { |
| 30 | trip_ = trip; |
| 31 | idx_ = idx; |
| 32 | break; |
| 33 | } |
| 34 | |
| 35 | idx -= trips[trip].size(); |
| 36 | } |
| 37 | } |
| 38 | |
| 39 | bool Route::Iterator::operator==(Iterator const &other) const |
| 40 | { |