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 *const edge) const
 
BASE::EdgeInfo * getEdgeInfo (const E *const edge)
 
const BASE::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< typename BASE::EdgeInfo > myEdgeInfos
 The container of edge information. More...
 
std::set< const E * > myFound
 the set of visited (settled) Edges More...
 
std::vector< typename BASE::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 76 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 134 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 79 of file CHRouter.h.

References CHRouter< E, V, BASE >::Unidirectional::myEdgeInfos.

Member Function Documentation

◆ found()

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

◆ getEdgeInfo() [1/2]

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

◆ getEdgeInfo() [2/2]

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

Definition at line 95 of file CHRouter.h.

References CHRouter< E, V, BASE >::Unidirectional::myEdgeInfos.

◆ 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

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 206 of file CHRouter.h.

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

◆ myComparator

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

Definition at line 214 of file CHRouter.h.

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

◆ myEdgeInfos

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

◆ myFound

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

◆ myFrontier

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

the min edge heap

Definition at line 208 of file CHRouter.h.

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

◆ myVehicle

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

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