C++ Reference

C++ Reference: Routing

Detailed Description

Helper class that manages vehicles.

This class is based on the RoutingModel::VehicleTypeContainer that sorts and stores vehicles based on their "type".

Definition at line 2894 of file routing.h.

Public Member Functions

 VehicleTypeCurator (const RoutingModel::VehicleTypeContainer &vehicle_type_container)
 
int NumTypes () const
 
int Type (int vehicle) const
 
void Reset (const std::function< bool(int)> &store_vehicle)
 Resets the vehicles stored, storing only vehicles from the vehicle_type_container_ for which store_vehicle() returns true. More...
 
void Update (const std::function< bool(int)> &remove_vehicle)
 Goes through all the currently stored vehicles and removes vehicles for which remove_vehicle() returns true. More...
 
int GetLowestFixedCostVehicleOfType (int type) const
 
void ReinjectVehicleOfClass (int vehicle, int vehicle_class, int64 fixed_cost)
 
std::pair< int, int > GetCompatibleVehicleOfType (int type, std::function< bool(int)> vehicle_is_compatible, std::function< bool(int)> stop_and_return_vehicle)
 Searches for the best compatible vehicle of the given type, i.e. More...
 

Constructor & Destructor Documentation

◆ VehicleTypeCurator()

VehicleTypeCurator ( const RoutingModel::VehicleTypeContainer vehicle_type_container)
inlineexplicit

Definition at line 2896 of file routing.h.

Member Function Documentation

◆ GetCompatibleVehicleOfType()

std::pair<int, int> GetCompatibleVehicleOfType ( int  type,
std::function< bool(int)>  vehicle_is_compatible,
std::function< bool(int)>  stop_and_return_vehicle 
)

Searches for the best compatible vehicle of the given type, i.e.

the first vehicle v of type 'type' for which vehicle_is_compatible(v) returns true. If a compatible vehicle is found, its index is removed from vehicles_per_vehicle_class_ and the function returns {vehicle, -1}. If for some vehicle 'stop_and_return_vehicle' returns true before a compatible vehicle is found, the function simply returns {-1, vehicle}. Returns {-1, -1} if no compatible vehicle is found and the stopping condition is never met.

◆ GetLowestFixedCostVehicleOfType()

int GetLowestFixedCostVehicleOfType ( int  type) const
inline

Definition at line 2912 of file routing.h.

◆ NumTypes()

int NumTypes ( ) const
inline

Definition at line 2900 of file routing.h.

◆ ReinjectVehicleOfClass()

void ReinjectVehicleOfClass ( int  vehicle,
int  vehicle_class,
int64  fixed_cost 
)
inline

Add the vehicle class entry to the set (it was removed when vehicles_per_vehicle_class_[vehicle_class] got empty).

Definition at line 2924 of file routing.h.

◆ Reset()

void Reset ( const std::function< bool(int)> &  store_vehicle)

Resets the vehicles stored, storing only vehicles from the vehicle_type_container_ for which store_vehicle() returns true.

◆ Type()

int Type ( int  vehicle) const
inline

Definition at line 2902 of file routing.h.

◆ Update()

void Update ( const std::function< bool(int)> &  remove_vehicle)

Goes through all the currently stored vehicles and removes vehicles for which remove_vehicle() returns true.


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