#pragma once #include "vehicle_model.hpp" #include "std/shared_ptr.hpp" namespace routing { class CarModel : public VehicleModel { public: CarModel(); static CarModel const & AllLimitsInstance(); }; class CarModelFactory : public VehicleModelFactory { public: CarModelFactory(); // VehicleModelFactory overrides: shared_ptr GetVehicleModel() const override; shared_ptr GetVehicleModelForCountry(string const & country) const override; private: shared_ptr m_model; }; } // namespace routing