Line data Source code
1 : #pragma once 2 : 3 : #include <functional> 4 : #include <queue> 5 : #include <set> 6 : 7 : #include "Dynamic/Dynamic.hpp" 8 : #include "Dynamic/Env/Env.hpp" 9 : #include "Dynamic/Vehicle.hpp" 10 : #include "Static/Demand.hpp" 11 : 12 : namespace Dynamic { 13 : 14 : class SUMOAdapter; 15 : 16 0 : class Demand { 17 : public: 18 : template<typename T, typename... args> 19 : class Loader { 20 : public: 21 : std::pair<Demand, Vehicle::ID> load(T arg1, args... arg2); 22 : }; 23 : 24 : Vehicle::ID nextID = 1; 25 : 26 : private: 27 : std::vector<Vehicle> vehicles; 28 : 29 : public: 30 : Vehicle &addVehicle( 31 : Vehicle::ID id, 32 : Time depart, 33 : Env::TAZ &fromTAZ, 34 : Env::TAZ &toTAZ, 35 : std::shared_ptr<Policy> policy 36 : ); 37 : Vehicle &addVehicle( 38 : Time depart, 39 : Env::TAZ &fromTAZ, 40 : Env::TAZ &toTAZ, 41 : std::shared_ptr<Policy> policy 42 : ); 43 : 44 : const std::vector<Vehicle> &getVehicles() const; 45 : }; 46 : 47 : } // namespace Dynamic