19 template <
typename T,
typename IT>
23 static_assert(std::is_same<std::unique_ptr<RoadInfo>,
typename IT::value_type>::value,
"Not compatible.");
36 (*_it)->AcceptVisitor(*
this);
51 (*_it)->AcceptVisitor(*
this);
58 return static_cast<T &
>(**_it);
63 return static_cast<T *
>(
_it->get());
71 return !((*this) != rhs);
91 template <
typename T,
typename Container>
93 auto begin = std::begin(c);
94 auto end = std::end(c);
98 template <
typename T,
typename IT>
#define DEBUG_ASSERT(predicate)
bool operator!=(const RoadInfoIterator &rhs) const
bool operator==(const RoadInfoIterator &rhs) const
typename IT::difference_type difference_type
pointer operator->() const
RoadInfoIterator(IT begin, IT end)
reference operator*() const
RoadInfoIterator & operator++()
static auto MakeRoadInfoIterator(const Container &c)
This file contains definitions of common data structures used in traffic manager.