AWS SDK for C++

AWS SDK for C++ Version 1.11.834

Loading...
Searching...
No Matches
RouteVehicleLegDetails.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
10#include <aws/geo-routes/model/RoutePassThroughWaypoint.h>
11#include <aws/geo-routes/model/RouteToll.h>
12#include <aws/geo-routes/model/RouteTollSystem.h>
13#include <aws/geo-routes/model/RouteVehicleAfterTravelStep.h>
14#include <aws/geo-routes/model/RouteVehicleArrival.h>
15#include <aws/geo-routes/model/RouteVehicleDeparture.h>
16#include <aws/geo-routes/model/RouteVehicleIncident.h>
17#include <aws/geo-routes/model/RouteVehicleNotice.h>
18#include <aws/geo-routes/model/RouteVehicleSpan.h>
19#include <aws/geo-routes/model/RouteVehicleSummary.h>
20#include <aws/geo-routes/model/RouteVehicleTravelStep.h>
21#include <aws/geo-routes/model/RouteZone.h>
22
23#include <utility>
24
25namespace Aws {
26namespace Utils {
27namespace Json {
28class JsonValue;
29class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace GeoRoutes {
33namespace Model {
34
42 public:
43 AWS_GEOROUTES_API RouteVehicleLegDetails() = default;
46 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
47
49
53 inline const Aws::Vector<RouteVehicleAfterTravelStep>& GetAfterTravelSteps() const { return m_afterTravelSteps; }
54 inline bool AfterTravelStepsHasBeenSet() const { return m_afterTravelStepsHasBeenSet; }
55 template <typename AfterTravelStepsT = Aws::Vector<RouteVehicleAfterTravelStep>>
56 void SetAfterTravelSteps(AfterTravelStepsT&& value) {
57 m_afterTravelStepsHasBeenSet = true;
58 m_afterTravelSteps = std::forward<AfterTravelStepsT>(value);
59 }
60 template <typename AfterTravelStepsT = Aws::Vector<RouteVehicleAfterTravelStep>>
61 RouteVehicleLegDetails& WithAfterTravelSteps(AfterTravelStepsT&& value) {
62 SetAfterTravelSteps(std::forward<AfterTravelStepsT>(value));
63 return *this;
64 }
65 template <typename AfterTravelStepsT = RouteVehicleAfterTravelStep>
66 RouteVehicleLegDetails& AddAfterTravelSteps(AfterTravelStepsT&& value) {
67 m_afterTravelStepsHasBeenSet = true;
68 m_afterTravelSteps.emplace_back(std::forward<AfterTravelStepsT>(value));
69 return *this;
70 }
72
74
77 inline const RouteVehicleArrival& GetArrival() const { return m_arrival; }
78 inline bool ArrivalHasBeenSet() const { return m_arrivalHasBeenSet; }
79 template <typename ArrivalT = RouteVehicleArrival>
80 void SetArrival(ArrivalT&& value) {
81 m_arrivalHasBeenSet = true;
82 m_arrival = std::forward<ArrivalT>(value);
83 }
84 template <typename ArrivalT = RouteVehicleArrival>
86 SetArrival(std::forward<ArrivalT>(value));
87 return *this;
88 }
90
92
95 inline const RouteVehicleDeparture& GetDeparture() const { return m_departure; }
96 inline bool DepartureHasBeenSet() const { return m_departureHasBeenSet; }
97 template <typename DepartureT = RouteVehicleDeparture>
98 void SetDeparture(DepartureT&& value) {
99 m_departureHasBeenSet = true;
100 m_departure = std::forward<DepartureT>(value);
101 }
102 template <typename DepartureT = RouteVehicleDeparture>
104 SetDeparture(std::forward<DepartureT>(value));
105 return *this;
106 }
108
110
116 inline const Aws::Vector<RouteVehicleIncident>& GetIncidents() const { return m_incidents; }
117 inline bool IncidentsHasBeenSet() const { return m_incidentsHasBeenSet; }
118 template <typename IncidentsT = Aws::Vector<RouteVehicleIncident>>
119 void SetIncidents(IncidentsT&& value) {
120 m_incidentsHasBeenSet = true;
121 m_incidents = std::forward<IncidentsT>(value);
122 }
123 template <typename IncidentsT = Aws::Vector<RouteVehicleIncident>>
125 SetIncidents(std::forward<IncidentsT>(value));
126 return *this;
127 }
128 template <typename IncidentsT = RouteVehicleIncident>
130 m_incidentsHasBeenSet = true;
131 m_incidents.emplace_back(std::forward<IncidentsT>(value));
132 return *this;
133 }
135
137
144 inline const Aws::Vector<RouteVehicleNotice>& GetNotices() const { return m_notices; }
145 inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; }
146 template <typename NoticesT = Aws::Vector<RouteVehicleNotice>>
147 void SetNotices(NoticesT&& value) {
148 m_noticesHasBeenSet = true;
149 m_notices = std::forward<NoticesT>(value);
150 }
151 template <typename NoticesT = Aws::Vector<RouteVehicleNotice>>
153 SetNotices(std::forward<NoticesT>(value));
154 return *this;
155 }
156 template <typename NoticesT = RouteVehicleNotice>
158 m_noticesHasBeenSet = true;
159 m_notices.emplace_back(std::forward<NoticesT>(value));
160 return *this;
161 }
163
165
169 inline const Aws::Vector<RoutePassThroughWaypoint>& GetPassThroughWaypoints() const { return m_passThroughWaypoints; }
170 inline bool PassThroughWaypointsHasBeenSet() const { return m_passThroughWaypointsHasBeenSet; }
171 template <typename PassThroughWaypointsT = Aws::Vector<RoutePassThroughWaypoint>>
172 void SetPassThroughWaypoints(PassThroughWaypointsT&& value) {
173 m_passThroughWaypointsHasBeenSet = true;
174 m_passThroughWaypoints = std::forward<PassThroughWaypointsT>(value);
175 }
176 template <typename PassThroughWaypointsT = Aws::Vector<RoutePassThroughWaypoint>>
177 RouteVehicleLegDetails& WithPassThroughWaypoints(PassThroughWaypointsT&& value) {
178 SetPassThroughWaypoints(std::forward<PassThroughWaypointsT>(value));
179 return *this;
180 }
181 template <typename PassThroughWaypointsT = RoutePassThroughWaypoint>
182 RouteVehicleLegDetails& AddPassThroughWaypoints(PassThroughWaypointsT&& value) {
183 m_passThroughWaypointsHasBeenSet = true;
184 m_passThroughWaypoints.emplace_back(std::forward<PassThroughWaypointsT>(value));
185 return *this;
186 }
188
190
197 inline const Aws::Vector<RouteVehicleSpan>& GetSpans() const { return m_spans; }
198 inline bool SpansHasBeenSet() const { return m_spansHasBeenSet; }
199 template <typename SpansT = Aws::Vector<RouteVehicleSpan>>
200 void SetSpans(SpansT&& value) {
201 m_spansHasBeenSet = true;
202 m_spans = std::forward<SpansT>(value);
203 }
204 template <typename SpansT = Aws::Vector<RouteVehicleSpan>>
206 SetSpans(std::forward<SpansT>(value));
207 return *this;
208 }
209 template <typename SpansT = RouteVehicleSpan>
211 m_spansHasBeenSet = true;
212 m_spans.emplace_back(std::forward<SpansT>(value));
213 return *this;
214 }
216
218
221 inline const RouteVehicleSummary& GetSummary() const { return m_summary; }
222 inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; }
223 template <typename SummaryT = RouteVehicleSummary>
224 void SetSummary(SummaryT&& value) {
225 m_summaryHasBeenSet = true;
226 m_summary = std::forward<SummaryT>(value);
227 }
228 template <typename SummaryT = RouteVehicleSummary>
230 SetSummary(std::forward<SummaryT>(value));
231 return *this;
232 }
234
236
242 inline const Aws::Vector<RouteToll>& GetTolls() const { return m_tolls; }
243 inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; }
244 template <typename TollsT = Aws::Vector<RouteToll>>
245 void SetTolls(TollsT&& value) {
246 m_tollsHasBeenSet = true;
247 m_tolls = std::forward<TollsT>(value);
248 }
249 template <typename TollsT = Aws::Vector<RouteToll>>
251 SetTolls(std::forward<TollsT>(value));
252 return *this;
253 }
254 template <typename TollsT = RouteToll>
256 m_tollsHasBeenSet = true;
257 m_tolls.emplace_back(std::forward<TollsT>(value));
258 return *this;
259 }
261
263
270 inline const Aws::Vector<RouteTollSystem>& GetTollSystems() const { return m_tollSystems; }
271 inline bool TollSystemsHasBeenSet() const { return m_tollSystemsHasBeenSet; }
272 template <typename TollSystemsT = Aws::Vector<RouteTollSystem>>
273 void SetTollSystems(TollSystemsT&& value) {
274 m_tollSystemsHasBeenSet = true;
275 m_tollSystems = std::forward<TollSystemsT>(value);
276 }
277 template <typename TollSystemsT = Aws::Vector<RouteTollSystem>>
279 SetTollSystems(std::forward<TollSystemsT>(value));
280 return *this;
281 }
282 template <typename TollSystemsT = RouteTollSystem>
283 RouteVehicleLegDetails& AddTollSystems(TollSystemsT&& value) {
284 m_tollSystemsHasBeenSet = true;
285 m_tollSystems.emplace_back(std::forward<TollSystemsT>(value));
286 return *this;
287 }
289
291
295 inline const Aws::Vector<RouteVehicleTravelStep>& GetTravelSteps() const { return m_travelSteps; }
296 inline bool TravelStepsHasBeenSet() const { return m_travelStepsHasBeenSet; }
297 template <typename TravelStepsT = Aws::Vector<RouteVehicleTravelStep>>
298 void SetTravelSteps(TravelStepsT&& value) {
299 m_travelStepsHasBeenSet = true;
300 m_travelSteps = std::forward<TravelStepsT>(value);
301 }
302 template <typename TravelStepsT = Aws::Vector<RouteVehicleTravelStep>>
304 SetTravelSteps(std::forward<TravelStepsT>(value));
305 return *this;
306 }
307 template <typename TravelStepsT = RouteVehicleTravelStep>
308 RouteVehicleLegDetails& AddTravelSteps(TravelStepsT&& value) {
309 m_travelStepsHasBeenSet = true;
310 m_travelSteps.emplace_back(std::forward<TravelStepsT>(value));
311 return *this;
312 }
314
316
325 inline const Aws::Vector<Aws::String>& GetTruckRoadTypes() const { return m_truckRoadTypes; }
326 inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; }
327 template <typename TruckRoadTypesT = Aws::Vector<Aws::String>>
328 void SetTruckRoadTypes(TruckRoadTypesT&& value) {
329 m_truckRoadTypesHasBeenSet = true;
330 m_truckRoadTypes = std::forward<TruckRoadTypesT>(value);
331 }
332 template <typename TruckRoadTypesT = Aws::Vector<Aws::String>>
333 RouteVehicleLegDetails& WithTruckRoadTypes(TruckRoadTypesT&& value) {
334 SetTruckRoadTypes(std::forward<TruckRoadTypesT>(value));
335 return *this;
336 }
337 template <typename TruckRoadTypesT = Aws::String>
338 RouteVehicleLegDetails& AddTruckRoadTypes(TruckRoadTypesT&& value) {
339 m_truckRoadTypesHasBeenSet = true;
340 m_truckRoadTypes.emplace_back(std::forward<TruckRoadTypesT>(value));
341 return *this;
342 }
344
346
352 inline const Aws::Vector<RouteZone>& GetZones() const { return m_zones; }
353 inline bool ZonesHasBeenSet() const { return m_zonesHasBeenSet; }
354 template <typename ZonesT = Aws::Vector<RouteZone>>
355 void SetZones(ZonesT&& value) {
356 m_zonesHasBeenSet = true;
357 m_zones = std::forward<ZonesT>(value);
358 }
359 template <typename ZonesT = Aws::Vector<RouteZone>>
361 SetZones(std::forward<ZonesT>(value));
362 return *this;
363 }
364 template <typename ZonesT = RouteZone>
366 m_zonesHasBeenSet = true;
367 m_zones.emplace_back(std::forward<ZonesT>(value));
368 return *this;
369 }
371 private:
373
374 RouteVehicleArrival m_arrival;
375
376 RouteVehicleDeparture m_departure;
377
379
381
382 Aws::Vector<RoutePassThroughWaypoint> m_passThroughWaypoints;
383
385
386 RouteVehicleSummary m_summary;
387
389
390 Aws::Vector<RouteTollSystem> m_tollSystems;
391
393
394 Aws::Vector<Aws::String> m_truckRoadTypes;
395
397 bool m_afterTravelStepsHasBeenSet = false;
398 bool m_arrivalHasBeenSet = false;
399 bool m_departureHasBeenSet = false;
400 bool m_incidentsHasBeenSet = false;
401 bool m_noticesHasBeenSet = false;
402 bool m_passThroughWaypointsHasBeenSet = false;
403 bool m_spansHasBeenSet = false;
404 bool m_summaryHasBeenSet = false;
405 bool m_tollsHasBeenSet = false;
406 bool m_tollSystemsHasBeenSet = false;
407 bool m_travelStepsHasBeenSet = false;
408 bool m_truckRoadTypesHasBeenSet = false;
409 bool m_zonesHasBeenSet = false;
410};
411
412} // namespace Model
413} // namespace GeoRoutes
414} // namespace Aws
const Aws::Vector< RouteVehicleTravelStep > & GetTravelSteps() const
const Aws::Vector< RouteTollSystem > & GetTollSystems() const
RouteVehicleLegDetails & WithArrival(ArrivalT &&value)
RouteVehicleLegDetails & AddTolls(TollsT &&value)
const RouteVehicleArrival & GetArrival() const
RouteVehicleLegDetails & WithTruckRoadTypes(TruckRoadTypesT &&value)
AWS_GEOROUTES_API RouteVehicleLegDetails()=default
const Aws::Vector< Aws::String > & GetTruckRoadTypes() const
RouteVehicleLegDetails & AddPassThroughWaypoints(PassThroughWaypointsT &&value)
RouteVehicleLegDetails & WithSummary(SummaryT &&value)
RouteVehicleLegDetails & WithSpans(SpansT &&value)
RouteVehicleLegDetails & AddTollSystems(TollSystemsT &&value)
const RouteVehicleSummary & GetSummary() const
RouteVehicleLegDetails & AddZones(ZonesT &&value)
AWS_GEOROUTES_API RouteVehicleLegDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
RouteVehicleLegDetails & AddSpans(SpansT &&value)
RouteVehicleLegDetails & AddNotices(NoticesT &&value)
const Aws::Vector< RoutePassThroughWaypoint > & GetPassThroughWaypoints() const
RouteVehicleLegDetails & WithPassThroughWaypoints(PassThroughWaypointsT &&value)
RouteVehicleLegDetails & WithIncidents(IncidentsT &&value)
RouteVehicleLegDetails & WithZones(ZonesT &&value)
const Aws::Vector< RouteVehicleNotice > & GetNotices() const
RouteVehicleLegDetails & WithTravelSteps(TravelStepsT &&value)
RouteVehicleLegDetails & AddTruckRoadTypes(TruckRoadTypesT &&value)
const Aws::Vector< RouteVehicleAfterTravelStep > & GetAfterTravelSteps() const
RouteVehicleLegDetails & WithDeparture(DepartureT &&value)
RouteVehicleLegDetails & WithAfterTravelSteps(AfterTravelStepsT &&value)
const Aws::Vector< RouteZone > & GetZones() const
const Aws::Vector< RouteToll > & GetTolls() const
const Aws::Vector< RouteVehicleIncident > & GetIncidents() const
RouteVehicleLegDetails & WithTollSystems(TollSystemsT &&value)
RouteVehicleLegDetails & AddIncidents(IncidentsT &&value)
RouteVehicleLegDetails & AddTravelSteps(TravelStepsT &&value)
void SetAfterTravelSteps(AfterTravelStepsT &&value)
void SetPassThroughWaypoints(PassThroughWaypointsT &&value)
RouteVehicleLegDetails & WithTolls(TollsT &&value)
AWS_GEOROUTES_API RouteVehicleLegDetails(Aws::Utils::Json::JsonView jsonValue)
RouteVehicleLegDetails & AddAfterTravelSteps(AfterTravelStepsT &&value)
const RouteVehicleDeparture & GetDeparture() const
RouteVehicleLegDetails & WithNotices(NoticesT &&value)
const Aws::Vector< RouteVehicleSpan > & GetSpans() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue