15 #include "../core/pool_type.hpp"
16 #include "../core/smallmap_type.hpp"
17 #include "../core/smallmatrix_type.hpp"
18 #include "../station_base.h"
19 #include "../cargotype.h"
20 #include "../date_func.h"
76 template<
typename Tedge>
125 template<
typename Tnode,
typename Tedge>
141 edges(edges), index(index) {}
181 template <
class Tedge,
class Tedge_wrapper,
class Titer>
217 current(current == INVALID_NODE ? current : base[current].next_edge)
227 return static_cast<Titer &
>(*this);
236 Titer ret(static_cast<Titer &>(*
this));
248 template<
class Tother>
251 return this->
base == other.base && this->
current == other.current;
261 template<
class Tother>
264 return this->
base != other.base || this->
current != other.current;
281 return FakePointer(this->
operator*());
455 inline static uint
Scale(uint val, uint target_age, uint orig_age)
457 return val > 0 ?
max(1U, val * target_age / orig_age) : 0;
468 void Init(uint size);
539 #define FOR_ALL_LINK_GRAPHS(var) FOR_ALL_ITEMS_FROM(LinkGraph, link_graph_index, var, 0)