SUMO - Simulation of Urban MObility
MSLane::AnyVehicleIterator Class Reference

AnyVehicleIterator is a structure, which manages the iteration through all vehicles on the lane, that may be of importance for the car-following dynamics along that lane. The relevant types of vehicles are: 1) vehicles with their front on the lane (myVehicles), 2) vehicles intersecting the lane but with front on another lane (myPartialVehicles) More...

#include <MSLane.h>

Collaboration diagram for MSLane::AnyVehicleIterator:
Collaboration graph

Public Member Functions

 AnyVehicleIterator (const MSLane *lane, int i1, int i2, const int i1End, const int i2End, bool downstream=true)
 
bool operator!= (AnyVehicleIterator const &other) const
 
const MSVehicleoperator* ()
 
AnyVehicleIteratoroperator++ ()
 
const MSVehicleoperator-> ()
 
bool operator== (AnyVehicleIterator const &other) const
 

Private Member Functions

bool nextIsMyVehicles () const
 

Private Attributes

int myDirection
 index delta More...
 
bool myDownstream
 iteration direction More...
 
int myI1
 index for myVehicles More...
 
int myI1End
 end index for myVehicles More...
 
int myI2
 index for myPartialVehicles More...
 
int myI2End
 end index for myPartialVehicles More...
 
const MSLanemyLane
 the lane that is being iterated More...
 

Detailed Description

AnyVehicleIterator is a structure, which manages the iteration through all vehicles on the lane, that may be of importance for the car-following dynamics along that lane. The relevant types of vehicles are: 1) vehicles with their front on the lane (myVehicles), 2) vehicles intersecting the lane but with front on another lane (myPartialVehicles)

Definition at line 103 of file MSLane.h.

Constructor & Destructor Documentation

◆ AnyVehicleIterator()

MSLane::AnyVehicleIterator::AnyVehicleIterator ( const MSLane lane,
int  i1,
int  i2,
const int  i1End,
const int  i2End,
bool  downstream = true 
)
inline

Definition at line 105 of file MSLane.h.

Member Function Documentation

◆ nextIsMyVehicles()

bool MSLane::AnyVehicleIterator::nextIsMyVehicles ( ) const
private

Definition at line 132 of file MSLane.cpp.

References myDownstream, myI1, myI1End, myI2, myI2End, myLane, MSLane::myPartialVehicles, and MSLane::myVehicles.

Referenced by operator*(), and operator++().

◆ operator!=()

bool MSLane::AnyVehicleIterator::operator!= ( AnyVehicleIterator const &  other) const
inline

Definition at line 128 of file MSLane.h.

◆ operator*()

const MSVehicle * MSLane::AnyVehicleIterator::operator* ( )

◆ operator++()

MSLane::AnyVehicleIterator & MSLane::AnyVehicleIterator::operator++ ( )

Definition at line 103 of file MSLane.cpp.

References myDirection, myI1, myI1End, myI2, and nextIsMyVehicles().

◆ operator->()

const MSVehicle* MSLane::AnyVehicleIterator::operator-> ( )
inline

Definition at line 132 of file MSLane.h.

◆ operator==()

bool MSLane::AnyVehicleIterator::operator== ( AnyVehicleIterator const &  other) const
inline

Definition at line 121 of file MSLane.h.

References myI1, myI1End, myI2, and myI2End.

Field Documentation

◆ myDirection

int MSLane::AnyVehicleIterator::myDirection
private

index delta

Definition at line 156 of file MSLane.h.

Referenced by operator++().

◆ myDownstream

bool MSLane::AnyVehicleIterator::myDownstream
private

iteration direction

Definition at line 154 of file MSLane.h.

Referenced by nextIsMyVehicles().

◆ myI1

int MSLane::AnyVehicleIterator::myI1
private

index for myVehicles

Definition at line 146 of file MSLane.h.

Referenced by nextIsMyVehicles(), operator*(), operator++(), and operator==().

◆ myI1End

int MSLane::AnyVehicleIterator::myI1End
private

end index for myVehicles

Definition at line 150 of file MSLane.h.

Referenced by nextIsMyVehicles(), operator*(), operator++(), and operator==().

◆ myI2

int MSLane::AnyVehicleIterator::myI2
private

index for myPartialVehicles

Definition at line 148 of file MSLane.h.

Referenced by nextIsMyVehicles(), operator*(), operator++(), and operator==().

◆ myI2End

int MSLane::AnyVehicleIterator::myI2End
private

end index for myPartialVehicles

Definition at line 152 of file MSLane.h.

Referenced by nextIsMyVehicles(), and operator==().

◆ myLane

const MSLane* MSLane::AnyVehicleIterator::myLane
private

the lane that is being iterated

Definition at line 144 of file MSLane.h.

Referenced by nextIsMyVehicles(), and operator*().


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