1111namespace palloc {
1212class Assignment {
1313 public:
14+ explicit Assignment () {}
1415 explicit Assignment (Coordinate dropoffCoordinate, Coordinate parkingCoordinate,
1516 uint32_t requestDuration, uint32_t routeDuration)
1617 : _dropoffCoordinate(dropoffCoordinate),
1718 _parkingCoordinate(parkingCoordinate),
1819 _requestDuration(requestDuration),
1920 _routeDuration(routeDuration) {}
2021
22+ uint32_t getRequestDuration () const noexcept ;
23+
2124 private:
2225 friend struct glz ::meta<Assignment>;
2326
24- Coordinate _dropoffCoordinate;
25- Coordinate _parkingCoordinate;
27+ Coordinate _dropoffCoordinate{} ;
28+ Coordinate _parkingCoordinate{} ;
2629
27- uint32_t _requestDuration;
28- uint32_t _routeDuration;
30+ uint32_t _requestDuration{} ;
31+ uint32_t _routeDuration{} ;
2932};
3033
3134using Assignments = std::vector<Assignment>;
3235
3336class Trace {
3437 public:
38+ explicit Trace () {}
3539 explicit Trace (uint32_t timestep, uint32_t currentTimeOfDay, size_t numberOfRequests,
3640 size_t numberOfOngoingSimulations, uint32_t availableParkingSpots, double cost,
37- double averageDuration, size_t droppedRequests, Assignments assignments)
41+ double averageDuration, size_t droppedRequests, size_t earlyRequests,
42+ Assignments assignments)
3843 : _assignments(std::move(assignments)),
3944 _numberOfRequests(numberOfRequests),
4045 _numberOfOngoingSimulations(numberOfOngoingSimulations),
4146 _availableParkingSpots(availableParkingSpots),
4247 _droppedRequests(droppedRequests),
48+ _earlyRequests(earlyRequests),
4349 _timestep(timestep),
4450 _currentTimeOfDay(currentTimeOfDay),
4551 _cost(cost),
4652 _averageDuration(averageDuration) {}
4753
4854 size_t getNumberOfOngoingSimulations () const noexcept ;
4955 size_t getDroppedRequests () const noexcept ;
56+ size_t getEarlyRequests () const noexcept ;
5057 size_t getNumberOfRequests () const noexcept ;
5158
5259 uint32_t getAvailableParkingSpots () const noexcept ;
@@ -56,21 +63,24 @@ class Trace {
5663 double getCost () const noexcept ;
5764 double getAverageDuration () const noexcept ;
5865
66+ Assignments getAssignments () const noexcept ;
67+
5968 private:
6069 friend struct glz ::meta<Trace>;
6170
6271 Assignments _assignments;
6372
64- size_t _numberOfRequests;
65- size_t _numberOfOngoingSimulations;
66- uint32_t _availableParkingSpots;
67- size_t _droppedRequests;
73+ size_t _numberOfRequests{};
74+ size_t _numberOfOngoingSimulations{};
75+ uint32_t _availableParkingSpots{};
76+ size_t _droppedRequests{};
77+ size_t _earlyRequests{};
6878
69- uint32_t _timestep;
70- uint32_t _currentTimeOfDay;
79+ uint32_t _timestep{} ;
80+ uint32_t _currentTimeOfDay{} ;
7181
72- double _cost;
73- double _averageDuration;
82+ double _cost{} ;
83+ double _averageDuration{} ;
7484};
7585
7686using TraceList = std::list<Trace>;
@@ -88,12 +98,13 @@ struct glz::meta<palloc::Assignment> {
8898template <>
8999struct glz ::meta<palloc::Trace> {
90100 using T = palloc::Trace;
91- static constexpr auto value = glz::object(
92- " timestep" , &T::_timestep, " current_time_of_day" , &T::_currentTimeOfDay,
93- " number_of_requests" , &T::_numberOfRequests, " number_of_ongoing_simulations" ,
94- &T::_numberOfOngoingSimulations, " available_parking_spots" , &T::_availableParkingSpots,
95- " cost" , &T::_cost, " average_duration" , &T::_averageDuration, " dropped_requests" ,
96- &T::_droppedRequests, " assignments" , &T::_assignments);
101+ static constexpr auto value =
102+ glz::object (" timestep" , &T::_timestep, " current_time_of_day" , &T::_currentTimeOfDay,
103+ " number_of_requests" , &T::_numberOfRequests, " number_of_ongoing_simulations" ,
104+ &T::_numberOfOngoingSimulations, " available_parking_spots" ,
105+ &T::_availableParkingSpots, " cost" , &T::_cost, " average_duration" ,
106+ &T::_averageDuration, " dropped_requests" , &T::_droppedRequests,
107+ " early_requests" , &T::_earlyRequests, " assignments" , &T::_assignments);
97108};
98109
99110#endif
0 commit comments