![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <MSVehicleContainer.h>
Data Structures | |
| class | DepartFinder |
| Searches for the VehicleDepartureVector with the wished depart. More... | |
| class | VehicleDepartureVectorSortCrit |
| Sort-criterion for vehicle departure lists. More... | |
Public Types | |
| typedef std::pair< SUMOTime, VehicleVector > | VehicleDepartureVector |
| typedef std::vector< SUMOVehicle * > | VehicleVector |
| definition of a list of vehicles which have the same departure time | |
Public Member Functions | |
| void | add (SUMOTime time, const VehicleVector &cont) |
| Adds a container with vehicles departing at the given time. | |
| void | add (SUMOVehicle *veh) |
| Adds a single vehicle. | |
| bool | anyWaitingBefore (SUMOTime time) const |
| Returns the information whether any vehicles want to depart before the given time. | |
| void | clearState () |
| Remove all vehicles before quick-loading state. | |
| bool | isEmpty () const |
| Returns the information whether the container is empty. | |
| MSVehicleContainer (int capacity=10) | |
| Constructor. | |
| void | pop () |
| Removes the uppermost vehicle vector. | |
| void | remove (SUMOVehicle *veh) |
| Removes a single vehicle. | |
| void | showArray () const |
| Prints the container (the departure times) | |
| int | size () const |
| Returns the size of the container. | |
| const VehicleVector & | top () |
| Returns the uppermost vehicle vector. | |
| SUMOTime | topTime () const |
| Returns the time the uppermost vehicle vector is assigned to. | |
| ~MSVehicleContainer () | |
| Destructor. | |
Private Types | |
| typedef std::vector< VehicleDepartureVector > | VehicleHeap |
| Definition of the heap type. | |
Private Member Functions | |
| void | addReplacing (const VehicleDepartureVector &cont) |
| Replaces the existing single departure time vector by the one given. | |
| bool | isFull () const |
| void | percolateDown (int hole) |
| Moves the elements down. | |
Private Attributes | |
| VehicleHeap | array |
| The vehicle vector heap. | |
| int | currentSize |
| Number of elements in heap. | |
Friends | |
| std::ostream & | operator<< (std::ostream &strm, MSVehicleContainer &cont) |
| Prints the contents of the container. | |
A storage for vehicles, mainly used by the vehicle/route loading structures and the insertion control. Stores vehicles in a heap of vehiclevector/departure- pairs.
Definition at line 46 of file MSVehicleContainer.h.
| typedef std::pair<SUMOTime, VehicleVector> MSVehicleContainer::VehicleDepartureVector |
definition of a structure storing the departure time and a list of vehicles leaving at this time
Definition at line 53 of file MSVehicleContainer.h.
|
private |
Definition of the heap type.
Definition at line 133 of file MSVehicleContainer.h.
| typedef std::vector<SUMOVehicle*> MSVehicleContainer::VehicleVector |
definition of a list of vehicles which have the same departure time
Definition at line 49 of file MSVehicleContainer.h.
| MSVehicleContainer::MSVehicleContainer | ( | int | capacity = 10 | ) |
Constructor.
Definition at line 63 of file MSVehicleContainer.cpp.
| MSVehicleContainer::~MSVehicleContainer | ( | ) |
Destructor.
Definition at line 67 of file MSVehicleContainer.cpp.
| void MSVehicleContainer::add | ( | SUMOTime | time, |
| const VehicleVector & | cont | ||
| ) |
Adds a container with vehicles departing at the given time.
Definition at line 106 of file MSVehicleContainer.cpp.
References addReplacing(), array, and currentSize.
| void MSVehicleContainer::add | ( | SUMOVehicle * | veh | ) |
Adds a single vehicle.
Definition at line 73 of file MSVehicleContainer.cpp.
References addReplacing(), array, currentSize, DELTA_T, SUMOVehicleParameter::depart, and SUMOTrafficObject::getParameter().
Referenced by MSInsertionControl::add().
|
private |
Replaces the existing single departure time vector by the one given.
Definition at line 124 of file MSVehicleContainer.cpp.
References array, currentSize, and isFull().
Referenced by add(), and add().
| bool MSVehicleContainer::anyWaitingBefore | ( | SUMOTime | time | ) | const |
Returns the information whether any vehicles want to depart before the given time.
Definition at line 146 of file MSVehicleContainer.cpp.
References isEmpty(), and topTime().
Referenced by MSInsertionControl::checkCandidates().
| void MSVehicleContainer::clearState | ( | ) |
Remove all vehicles before quick-loading state.
Definition at line 251 of file MSVehicleContainer.cpp.
References array, and currentSize.
Referenced by MSInsertionControl::clearState().
| bool MSVehicleContainer::isEmpty | ( | ) | const |
Returns the information whether the container is empty.
Definition at line 186 of file MSVehicleContainer.cpp.
References currentSize.
Referenced by anyWaitingBefore(), pop(), top(), and topTime().
|
private |
Returns the information whether the container must be extended
Definition at line 192 of file MSVehicleContainer.cpp.
References array, and currentSize.
Referenced by addReplacing().
|
private |
Moves the elements down.
Definition at line 198 of file MSVehicleContainer.cpp.
References array, and currentSize.
Referenced by pop().
| void MSVehicleContainer::pop | ( | ) |
Removes the uppermost vehicle vector.
!!Underflow( );
Definition at line 172 of file MSVehicleContainer.cpp.
References array, currentSize, isEmpty(), and percolateDown().
Referenced by MSInsertionControl::checkCandidates().
| void MSVehicleContainer::remove | ( | SUMOVehicle * | veh | ) |
Removes a single vehicle.
Definition at line 93 of file MSVehicleContainer.cpp.
References array, currentSize, SUMOVehicleParameter::depart, and SUMOTrafficObject::getParameter().
Referenced by MSInsertionControl::alreadyDeparted().
| void MSVehicleContainer::showArray | ( | ) | const |
Prints the container (the departure times)
Definition at line 227 of file MSVehicleContainer.cpp.
References array, and currentSize.
| int MSVehicleContainer::size | ( | ) | const |
Returns the size of the container.
Definition at line 221 of file MSVehicleContainer.cpp.
References currentSize.
| const MSVehicleContainer::VehicleVector & MSVehicleContainer::top | ( | ) |
Returns the uppermost vehicle vector.
!!Underflow( );
Definition at line 152 of file MSVehicleContainer.cpp.
References array, and isEmpty().
Referenced by MSInsertionControl::checkCandidates().
| SUMOTime MSVehicleContainer::topTime | ( | ) | const |
Returns the time the uppermost vehicle vector is assigned to.
!!Underflow( );
Definition at line 162 of file MSVehicleContainer.cpp.
References array, and isEmpty().
Referenced by anyWaitingBefore().
|
friend |
Prints the contents of the container.
Definition at line 238 of file MSVehicleContainer.cpp.
|
private |
The vehicle vector heap.
Definition at line 136 of file MSVehicleContainer.h.
Referenced by add(), add(), addReplacing(), clearState(), isFull(), percolateDown(), pop(), remove(), showArray(), top(), and topTime().
|
private |
Number of elements in heap.
Definition at line 130 of file MSVehicleContainer.h.
Referenced by add(), add(), addReplacing(), clearState(), isEmpty(), isFull(), percolateDown(), pop(), remove(), showArray(), and size().