SUMO - Simulation of Urban MObility
CHRouter< E, V, BASE >::Unidirectional Class Reference

#include <CHRouter.h>

Collaboration diagram for CHRouter< E, V, BASE >::Unidirectional:
Collaboration graph

Data Structures

class  EdgeInfoByTTComparator
 

Public Types

typedef std::vector< typename CHBuilder< E, V >::Connection > ConnectionVector
 

Public Member Functions

bool found (const E *edge) const
 
EdgeInfo * getEdgeInfo (const E *const edge)
 
const EdgeInfo * getEdgeInfo (const E *const edge) const
 
void init (const E *const start, const V *const vehicle)
 
bool step (const std::vector< ConnectionVector > &uplinks, const Unidirectional &otherSearch, double &minTTSeen, Meeting &meeting)
 explore on element from the frontier,update minTTSeen and meeting if an EdgeInfo found by the otherSearch is encountered returns whether stepping should continue More...
 
 Unidirectional (const std::vector< E *> &edges, bool forward)
 Constructor. More...
 

Private Attributes

bool myAmForward
 the role of this search More...
 
EdgeInfoByTTComparator myComparator
 
std::vector< EdgeInfo > myEdgeInfos
 The container of edge information. More...
 
std::set< const E * > myFound
 the set of visited (settled) Edges More...
 
std::vector< EdgeInfo * > myFrontier
 the min edge heap More...
 
const V * myVehicle
 

Detailed Description

template<class E, class V, class BASE>
class CHRouter< E, V, BASE >::Unidirectional

class for searching in one direction

Definition at line 110 of file CHRouter.h.

Member Typedef Documentation

◆ ConnectionVector

template<class E, class V, class BASE>
typedef std::vector<typename CHBuilder<E, V>::Connection> CHRouter< E, V, BASE >::Unidirectional::ConnectionVector

Definition at line 168 of file CHRouter.h.

Constructor & Destructor Documentation

◆ Unidirectional()

template<class E, class V, class BASE>
CHRouter< E, V, BASE >::Unidirectional::Unidirectional ( const std::vector< E *> &  edges,
bool  forward 
)
inline

Constructor.

Definition at line 113 of file CHRouter.h.

References CHRouter< E, V, BASE >::EdgeInfo::EdgeInfo().

Member Function Documentation

◆ found()

template<class E, class V, class BASE>
bool CHRouter< E, V, BASE >::Unidirectional::found ( const E *  edge) const
inline

Definition at line 121 of file CHRouter.h.

Referenced by CHRouter< E, V, BASE >::Unidirectional::step().

◆ getEdgeInfo() [1/2]

template<class E, class V, class BASE>
EdgeInfo* CHRouter< E, V, BASE >::Unidirectional::getEdgeInfo ( const E *const  edge)
inline

Definition at line 125 of file CHRouter.h.

Referenced by CHRouter< E, V, BASE >::Unidirectional::step().

◆ getEdgeInfo() [2/2]

template<class E, class V, class BASE>
const EdgeInfo* CHRouter< E, V, BASE >::Unidirectional::getEdgeInfo ( const E *const  edge) const
inline

Definition at line 129 of file CHRouter.h.

◆ init()

template<class E, class V, class BASE>
void CHRouter< E, V, BASE >::Unidirectional::init ( const E *const  start,
const V *const  vehicle 
)
inline

◆ step()

template<class E, class V, class BASE>
bool CHRouter< E, V, BASE >::Unidirectional::step ( const std::vector< ConnectionVector > &  uplinks,
const Unidirectional &  otherSearch,
double &  minTTSeen,
Meeting &  meeting 
)
inline

explore on element from the frontier,update minTTSeen and meeting if an EdgeInfo found by the otherSearch is encountered returns whether stepping should continue

Definition at line 173 of file CHRouter.h.

References CHRouter< E, V, BASE >::EdgeInfo::edge, CHRouter< E, V, BASE >::Unidirectional::found(), CHRouter< E, V, BASE >::Unidirectional::getEdgeInfo(), CHRouter< E, V, BASE >::EdgeInfo::prev, CHRouter< E, V, BASE >::EdgeInfo::traveltime, and CHRouter< E, V, BASE >::EdgeInfo::visited.

Referenced by CHRouter< E, V, BASE >::compute().

Field Documentation

◆ myAmForward

template<class E, class V, class BASE>
bool CHRouter< E, V, BASE >::Unidirectional::myAmForward
private

the role of this search

Definition at line 241 of file CHRouter.h.

◆ myComparator

template<class E, class V, class BASE>
EdgeInfoByTTComparator CHRouter< E, V, BASE >::Unidirectional::myComparator
private

Definition at line 249 of file CHRouter.h.

◆ myEdgeInfos

template<class E, class V, class BASE>
std::vector<EdgeInfo> CHRouter< E, V, BASE >::Unidirectional::myEdgeInfos
private

The container of edge information.

Definition at line 247 of file CHRouter.h.

◆ myFound

template<class E, class V, class BASE>
std::set<const E*> CHRouter< E, V, BASE >::Unidirectional::myFound
private

the set of visited (settled) Edges

Definition at line 245 of file CHRouter.h.

◆ myFrontier

template<class E, class V, class BASE>
std::vector<EdgeInfo*> CHRouter< E, V, BASE >::Unidirectional::myFrontier
private

the min edge heap

Definition at line 243 of file CHRouter.h.

◆ myVehicle

template<class E, class V, class BASE>
const V* CHRouter< E, V, BASE >::Unidirectional::myVehicle
private

Definition at line 251 of file CHRouter.h.


The documentation for this class was generated from the following file: