AWS SDK for C++

AWS SDK for C++ Version 1.11.795

Loading...
Searching...
No Matches
RouteVehicleSpan.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/LocalizedString.h>
11#include <aws/geo-routes/model/RouteNumber.h>
12#include <aws/geo-routes/model/RouteSpanCarAccessAttribute.h>
13#include <aws/geo-routes/model/RouteSpanDynamicSpeedDetails.h>
14#include <aws/geo-routes/model/RouteSpanGateAttribute.h>
15#include <aws/geo-routes/model/RouteSpanRailwayCrossingAttribute.h>
16#include <aws/geo-routes/model/RouteSpanRoadAttribute.h>
17#include <aws/geo-routes/model/RouteSpanScooterAccessAttribute.h>
18#include <aws/geo-routes/model/RouteSpanSpeedLimitDetails.h>
19#include <aws/geo-routes/model/RouteSpanTruckAccessAttribute.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Json {
26class JsonValue;
27class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace GeoRoutes {
31namespace Model {
32
40 public:
41 AWS_GEOROUTES_API RouteVehicleSpan() = default;
42 AWS_GEOROUTES_API RouteVehicleSpan(Aws::Utils::Json::JsonView jsonValue);
44 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
45
47
51 inline long long GetBestCaseDuration() const { return m_bestCaseDuration; }
52 inline bool BestCaseDurationHasBeenSet() const { return m_bestCaseDurationHasBeenSet; }
53 inline void SetBestCaseDuration(long long value) {
54 m_bestCaseDurationHasBeenSet = true;
55 m_bestCaseDuration = value;
56 }
57 inline RouteVehicleSpan& WithBestCaseDuration(long long value) {
59 return *this;
60 }
62
64
67 inline const Aws::Vector<RouteSpanCarAccessAttribute>& GetCarAccess() const { return m_carAccess; }
68 inline bool CarAccessHasBeenSet() const { return m_carAccessHasBeenSet; }
69 template <typename CarAccessT = Aws::Vector<RouteSpanCarAccessAttribute>>
70 void SetCarAccess(CarAccessT&& value) {
71 m_carAccessHasBeenSet = true;
72 m_carAccess = std::forward<CarAccessT>(value);
73 }
74 template <typename CarAccessT = Aws::Vector<RouteSpanCarAccessAttribute>>
75 RouteVehicleSpan& WithCarAccess(CarAccessT&& value) {
76 SetCarAccess(std::forward<CarAccessT>(value));
77 return *this;
78 }
80 m_carAccessHasBeenSet = true;
81 m_carAccess.push_back(value);
82 return *this;
83 }
85
87
90 inline const Aws::String& GetCountry() const { return m_country; }
91 inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; }
92 template <typename CountryT = Aws::String>
93 void SetCountry(CountryT&& value) {
94 m_countryHasBeenSet = true;
95 m_country = std::forward<CountryT>(value);
96 }
97 template <typename CountryT = Aws::String>
98 RouteVehicleSpan& WithCountry(CountryT&& value) {
99 SetCountry(std::forward<CountryT>(value));
100 return *this;
101 }
103
105
109 inline long long GetDistance() const { return m_distance; }
110 inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; }
111 inline void SetDistance(long long value) {
112 m_distanceHasBeenSet = true;
113 m_distance = value;
114 }
115 inline RouteVehicleSpan& WithDistance(long long value) {
116 SetDistance(value);
117 return *this;
118 }
120
122
127 inline long long GetDuration() const { return m_duration; }
128 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
129 inline void SetDuration(long long value) {
130 m_durationHasBeenSet = true;
131 m_duration = value;
132 }
133 inline RouteVehicleSpan& WithDuration(long long value) {
134 SetDuration(value);
135 return *this;
136 }
138
140
144 inline const RouteSpanDynamicSpeedDetails& GetDynamicSpeed() const { return m_dynamicSpeed; }
145 inline bool DynamicSpeedHasBeenSet() const { return m_dynamicSpeedHasBeenSet; }
146 template <typename DynamicSpeedT = RouteSpanDynamicSpeedDetails>
147 void SetDynamicSpeed(DynamicSpeedT&& value) {
148 m_dynamicSpeedHasBeenSet = true;
149 m_dynamicSpeed = std::forward<DynamicSpeedT>(value);
150 }
151 template <typename DynamicSpeedT = RouteSpanDynamicSpeedDetails>
152 RouteVehicleSpan& WithDynamicSpeed(DynamicSpeedT&& value) {
153 SetDynamicSpeed(std::forward<DynamicSpeedT>(value));
154 return *this;
155 }
157
159
174 inline int GetFunctionalClassification() const { return m_functionalClassification; }
175 inline bool FunctionalClassificationHasBeenSet() const { return m_functionalClassificationHasBeenSet; }
176 inline void SetFunctionalClassification(int value) {
177 m_functionalClassificationHasBeenSet = true;
178 m_functionalClassification = value;
179 }
182 return *this;
183 }
185
187
191 inline RouteSpanGateAttribute GetGate() const { return m_gate; }
192 inline bool GateHasBeenSet() const { return m_gateHasBeenSet; }
193 inline void SetGate(RouteSpanGateAttribute value) {
194 m_gateHasBeenSet = true;
195 m_gate = value;
196 }
198 SetGate(value);
199 return *this;
200 }
202
204
207 inline int GetGeometryOffset() const { return m_geometryOffset; }
208 inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; }
209 inline void SetGeometryOffset(int value) {
210 m_geometryOffsetHasBeenSet = true;
211 m_geometryOffset = value;
212 }
214 SetGeometryOffset(value);
215 return *this;
216 }
218
220
224 inline const Aws::Vector<int>& GetIncidents() const { return m_incidents; }
225 inline bool IncidentsHasBeenSet() const { return m_incidentsHasBeenSet; }
226 template <typename IncidentsT = Aws::Vector<int>>
227 void SetIncidents(IncidentsT&& value) {
228 m_incidentsHasBeenSet = true;
229 m_incidents = std::forward<IncidentsT>(value);
230 }
231 template <typename IncidentsT = Aws::Vector<int>>
232 RouteVehicleSpan& WithIncidents(IncidentsT&& value) {
233 SetIncidents(std::forward<IncidentsT>(value));
234 return *this;
235 }
236 inline RouteVehicleSpan& AddIncidents(int value) {
237 m_incidentsHasBeenSet = true;
238 m_incidents.push_back(value);
239 return *this;
240 }
242
244
247 inline const Aws::Vector<LocalizedString>& GetNames() const { return m_names; }
248 inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; }
249 template <typename NamesT = Aws::Vector<LocalizedString>>
250 void SetNames(NamesT&& value) {
251 m_namesHasBeenSet = true;
252 m_names = std::forward<NamesT>(value);
253 }
254 template <typename NamesT = Aws::Vector<LocalizedString>>
255 RouteVehicleSpan& WithNames(NamesT&& value) {
256 SetNames(std::forward<NamesT>(value));
257 return *this;
258 }
259 template <typename NamesT = LocalizedString>
260 RouteVehicleSpan& AddNames(NamesT&& value) {
261 m_namesHasBeenSet = true;
262 m_names.emplace_back(std::forward<NamesT>(value));
263 return *this;
264 }
266
268
272 inline const Aws::Vector<int>& GetNotices() const { return m_notices; }
273 inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; }
274 template <typename NoticesT = Aws::Vector<int>>
275 void SetNotices(NoticesT&& value) {
276 m_noticesHasBeenSet = true;
277 m_notices = std::forward<NoticesT>(value);
278 }
279 template <typename NoticesT = Aws::Vector<int>>
280 RouteVehicleSpan& WithNotices(NoticesT&& value) {
281 SetNotices(std::forward<NoticesT>(value));
282 return *this;
283 }
284 inline RouteVehicleSpan& AddNotices(int value) {
285 m_noticesHasBeenSet = true;
286 m_notices.push_back(value);
287 return *this;
288 }
290
292
296 inline RouteSpanRailwayCrossingAttribute GetRailwayCrossing() const { return m_railwayCrossing; }
297 inline bool RailwayCrossingHasBeenSet() const { return m_railwayCrossingHasBeenSet; }
299 m_railwayCrossingHasBeenSet = true;
300 m_railwayCrossing = value;
301 }
303 SetRailwayCrossing(value);
304 return *this;
305 }
307
309
313 inline const Aws::String& GetRegion() const { return m_region; }
314 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
315 template <typename RegionT = Aws::String>
316 void SetRegion(RegionT&& value) {
317 m_regionHasBeenSet = true;
318 m_region = std::forward<RegionT>(value);
319 }
320 template <typename RegionT = Aws::String>
321 RouteVehicleSpan& WithRegion(RegionT&& value) {
322 SetRegion(std::forward<RegionT>(value));
323 return *this;
324 }
326
328
331 inline const Aws::Vector<RouteSpanRoadAttribute>& GetRoadAttributes() const { return m_roadAttributes; }
332 inline bool RoadAttributesHasBeenSet() const { return m_roadAttributesHasBeenSet; }
333 template <typename RoadAttributesT = Aws::Vector<RouteSpanRoadAttribute>>
334 void SetRoadAttributes(RoadAttributesT&& value) {
335 m_roadAttributesHasBeenSet = true;
336 m_roadAttributes = std::forward<RoadAttributesT>(value);
337 }
338 template <typename RoadAttributesT = Aws::Vector<RouteSpanRoadAttribute>>
339 RouteVehicleSpan& WithRoadAttributes(RoadAttributesT&& value) {
340 SetRoadAttributes(std::forward<RoadAttributesT>(value));
341 return *this;
342 }
344 m_roadAttributesHasBeenSet = true;
345 m_roadAttributes.push_back(value);
346 return *this;
347 }
349
351
354 inline const Aws::Vector<RouteNumber>& GetRouteNumbers() const { return m_routeNumbers; }
355 inline bool RouteNumbersHasBeenSet() const { return m_routeNumbersHasBeenSet; }
356 template <typename RouteNumbersT = Aws::Vector<RouteNumber>>
357 void SetRouteNumbers(RouteNumbersT&& value) {
358 m_routeNumbersHasBeenSet = true;
359 m_routeNumbers = std::forward<RouteNumbersT>(value);
360 }
361 template <typename RouteNumbersT = Aws::Vector<RouteNumber>>
362 RouteVehicleSpan& WithRouteNumbers(RouteNumbersT&& value) {
363 SetRouteNumbers(std::forward<RouteNumbersT>(value));
364 return *this;
365 }
366 template <typename RouteNumbersT = RouteNumber>
367 RouteVehicleSpan& AddRouteNumbers(RouteNumbersT&& value) {
368 m_routeNumbersHasBeenSet = true;
369 m_routeNumbers.emplace_back(std::forward<RouteNumbersT>(value));
370 return *this;
371 }
373
375
378 inline const Aws::Vector<RouteSpanScooterAccessAttribute>& GetScooterAccess() const { return m_scooterAccess; }
379 inline bool ScooterAccessHasBeenSet() const { return m_scooterAccessHasBeenSet; }
380 template <typename ScooterAccessT = Aws::Vector<RouteSpanScooterAccessAttribute>>
381 void SetScooterAccess(ScooterAccessT&& value) {
382 m_scooterAccessHasBeenSet = true;
383 m_scooterAccess = std::forward<ScooterAccessT>(value);
384 }
385 template <typename ScooterAccessT = Aws::Vector<RouteSpanScooterAccessAttribute>>
386 RouteVehicleSpan& WithScooterAccess(ScooterAccessT&& value) {
387 SetScooterAccess(std::forward<ScooterAccessT>(value));
388 return *this;
389 }
391 m_scooterAccessHasBeenSet = true;
392 m_scooterAccess.push_back(value);
393 return *this;
394 }
396
398
402 inline const RouteSpanSpeedLimitDetails& GetSpeedLimit() const { return m_speedLimit; }
403 inline bool SpeedLimitHasBeenSet() const { return m_speedLimitHasBeenSet; }
404 template <typename SpeedLimitT = RouteSpanSpeedLimitDetails>
405 void SetSpeedLimit(SpeedLimitT&& value) {
406 m_speedLimitHasBeenSet = true;
407 m_speedLimit = std::forward<SpeedLimitT>(value);
408 }
409 template <typename SpeedLimitT = RouteSpanSpeedLimitDetails>
410 RouteVehicleSpan& WithSpeedLimit(SpeedLimitT&& value) {
411 SetSpeedLimit(std::forward<SpeedLimitT>(value));
412 return *this;
413 }
415
417
420 inline const Aws::Vector<int>& GetTollSystems() const { return m_tollSystems; }
421 inline bool TollSystemsHasBeenSet() const { return m_tollSystemsHasBeenSet; }
422 template <typename TollSystemsT = Aws::Vector<int>>
423 void SetTollSystems(TollSystemsT&& value) {
424 m_tollSystemsHasBeenSet = true;
425 m_tollSystems = std::forward<TollSystemsT>(value);
426 }
427 template <typename TollSystemsT = Aws::Vector<int>>
428 RouteVehicleSpan& WithTollSystems(TollSystemsT&& value) {
429 SetTollSystems(std::forward<TollSystemsT>(value));
430 return *this;
431 }
432 inline RouteVehicleSpan& AddTollSystems(int value) {
433 m_tollSystemsHasBeenSet = true;
434 m_tollSystems.push_back(value);
435 return *this;
436 }
438
440
443 inline const Aws::Vector<RouteSpanTruckAccessAttribute>& GetTruckAccess() const { return m_truckAccess; }
444 inline bool TruckAccessHasBeenSet() const { return m_truckAccessHasBeenSet; }
445 template <typename TruckAccessT = Aws::Vector<RouteSpanTruckAccessAttribute>>
446 void SetTruckAccess(TruckAccessT&& value) {
447 m_truckAccessHasBeenSet = true;
448 m_truckAccess = std::forward<TruckAccessT>(value);
449 }
450 template <typename TruckAccessT = Aws::Vector<RouteSpanTruckAccessAttribute>>
451 RouteVehicleSpan& WithTruckAccess(TruckAccessT&& value) {
452 SetTruckAccess(std::forward<TruckAccessT>(value));
453 return *this;
454 }
456 m_truckAccessHasBeenSet = true;
457 m_truckAccess.push_back(value);
458 return *this;
459 }
461
463
469 inline const Aws::Vector<int>& GetTruckRoadTypes() const { return m_truckRoadTypes; }
470 inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; }
471 template <typename TruckRoadTypesT = Aws::Vector<int>>
472 void SetTruckRoadTypes(TruckRoadTypesT&& value) {
473 m_truckRoadTypesHasBeenSet = true;
474 m_truckRoadTypes = std::forward<TruckRoadTypesT>(value);
475 }
476 template <typename TruckRoadTypesT = Aws::Vector<int>>
477 RouteVehicleSpan& WithTruckRoadTypes(TruckRoadTypesT&& value) {
478 SetTruckRoadTypes(std::forward<TruckRoadTypesT>(value));
479 return *this;
480 }
482 m_truckRoadTypesHasBeenSet = true;
483 m_truckRoadTypes.push_back(value);
484 return *this;
485 }
487
489
493 inline long long GetTypicalDuration() const { return m_typicalDuration; }
494 inline bool TypicalDurationHasBeenSet() const { return m_typicalDurationHasBeenSet; }
495 inline void SetTypicalDuration(long long value) {
496 m_typicalDurationHasBeenSet = true;
497 m_typicalDuration = value;
498 }
499 inline RouteVehicleSpan& WithTypicalDuration(long long value) {
500 SetTypicalDuration(value);
501 return *this;
502 }
504
506
509 inline const Aws::Vector<int>& GetZones() const { return m_zones; }
510 inline bool ZonesHasBeenSet() const { return m_zonesHasBeenSet; }
511 template <typename ZonesT = Aws::Vector<int>>
512 void SetZones(ZonesT&& value) {
513 m_zonesHasBeenSet = true;
514 m_zones = std::forward<ZonesT>(value);
515 }
516 template <typename ZonesT = Aws::Vector<int>>
517 RouteVehicleSpan& WithZones(ZonesT&& value) {
518 SetZones(std::forward<ZonesT>(value));
519 return *this;
520 }
521 inline RouteVehicleSpan& AddZones(int value) {
522 m_zonesHasBeenSet = true;
523 m_zones.push_back(value);
524 return *this;
525 }
527 private:
528 long long m_bestCaseDuration{0};
529
531
532 Aws::String m_country;
533
534 long long m_distance{0};
535
536 long long m_duration{0};
537
538 RouteSpanDynamicSpeedDetails m_dynamicSpeed;
539
540 int m_functionalClassification{0};
541
543
544 int m_geometryOffset{0};
545
546 Aws::Vector<int> m_incidents;
547
549
550 Aws::Vector<int> m_notices;
551
553
554 Aws::String m_region;
555
557
558 Aws::Vector<RouteNumber> m_routeNumbers;
559
561
562 RouteSpanSpeedLimitDetails m_speedLimit;
563
564 Aws::Vector<int> m_tollSystems;
565
567
568 Aws::Vector<int> m_truckRoadTypes;
569
570 long long m_typicalDuration{0};
571
572 Aws::Vector<int> m_zones;
573 bool m_bestCaseDurationHasBeenSet = false;
574 bool m_carAccessHasBeenSet = false;
575 bool m_countryHasBeenSet = false;
576 bool m_distanceHasBeenSet = false;
577 bool m_durationHasBeenSet = false;
578 bool m_dynamicSpeedHasBeenSet = false;
579 bool m_functionalClassificationHasBeenSet = false;
580 bool m_gateHasBeenSet = false;
581 bool m_geometryOffsetHasBeenSet = false;
582 bool m_incidentsHasBeenSet = false;
583 bool m_namesHasBeenSet = false;
584 bool m_noticesHasBeenSet = false;
585 bool m_railwayCrossingHasBeenSet = false;
586 bool m_regionHasBeenSet = false;
587 bool m_roadAttributesHasBeenSet = false;
588 bool m_routeNumbersHasBeenSet = false;
589 bool m_scooterAccessHasBeenSet = false;
590 bool m_speedLimitHasBeenSet = false;
591 bool m_tollSystemsHasBeenSet = false;
592 bool m_truckAccessHasBeenSet = false;
593 bool m_truckRoadTypesHasBeenSet = false;
594 bool m_typicalDurationHasBeenSet = false;
595 bool m_zonesHasBeenSet = false;
596};
597
598} // namespace Model
599} // namespace GeoRoutes
600} // namespace Aws
RouteVehicleSpan & WithSpeedLimit(SpeedLimitT &&value)
RouteVehicleSpan & WithRoadAttributes(RoadAttributesT &&value)
AWS_GEOROUTES_API RouteVehicleSpan(Aws::Utils::Json::JsonView jsonValue)
RouteVehicleSpan & WithScooterAccess(ScooterAccessT &&value)
RouteVehicleSpan & AddTruckRoadTypes(int value)
RouteVehicleSpan & WithRegion(RegionT &&value)
RouteVehicleSpan & WithBestCaseDuration(long long value)
RouteVehicleSpan & WithGate(RouteSpanGateAttribute value)
void SetTruckRoadTypes(TruckRoadTypesT &&value)
const Aws::Vector< LocalizedString > & GetNames() const
const RouteSpanSpeedLimitDetails & GetSpeedLimit() const
void SetRoadAttributes(RoadAttributesT &&value)
const Aws::Vector< RouteSpanRoadAttribute > & GetRoadAttributes() const
const Aws::Vector< int > & GetZones() const
RouteVehicleSpan & AddIncidents(int value)
RouteVehicleSpan & WithTruckAccess(TruckAccessT &&value)
RouteVehicleSpan & WithCarAccess(CarAccessT &&value)
RouteVehicleSpan & WithTypicalDuration(long long value)
RouteVehicleSpan & WithNotices(NoticesT &&value)
RouteVehicleSpan & WithTruckRoadTypes(TruckRoadTypesT &&value)
AWS_GEOROUTES_API RouteVehicleSpan()=default
RouteVehicleSpan & AddTollSystems(int value)
const Aws::Vector< int > & GetTruckRoadTypes() const
RouteVehicleSpan & WithTollSystems(TollSystemsT &&value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< RouteSpanTruckAccessAttribute > & GetTruckAccess() const
RouteVehicleSpan & AddRoadAttributes(RouteSpanRoadAttribute value)
RouteVehicleSpan & WithRouteNumbers(RouteNumbersT &&value)
RouteVehicleSpan & WithIncidents(IncidentsT &&value)
RouteVehicleSpan & WithZones(ZonesT &&value)
void SetTruckAccess(TruckAccessT &&value)
AWS_GEOROUTES_API RouteVehicleSpan & operator=(Aws::Utils::Json::JsonView jsonValue)
RouteVehicleSpan & AddZones(int value)
RouteVehicleSpan & AddNames(NamesT &&value)
RouteVehicleSpan & AddScooterAccess(RouteSpanScooterAccessAttribute value)
void SetGate(RouteSpanGateAttribute value)
RouteVehicleSpan & WithCountry(CountryT &&value)
const RouteSpanDynamicSpeedDetails & GetDynamicSpeed() const
RouteVehicleSpan & WithFunctionalClassification(int value)
RouteVehicleSpan & WithGeometryOffset(int value)
const Aws::String & GetRegion() const
const Aws::Vector< RouteSpanScooterAccessAttribute > & GetScooterAccess() const
void SetRailwayCrossing(RouteSpanRailwayCrossingAttribute value)
RouteVehicleSpan & AddNotices(int value)
RouteVehicleSpan & WithDistance(long long value)
RouteSpanGateAttribute GetGate() const
void SetScooterAccess(ScooterAccessT &&value)
RouteVehicleSpan & AddCarAccess(RouteSpanCarAccessAttribute value)
const Aws::Vector< int > & GetNotices() const
RouteVehicleSpan & WithDynamicSpeed(DynamicSpeedT &&value)
const Aws::Vector< RouteSpanCarAccessAttribute > & GetCarAccess() const
void SetDynamicSpeed(DynamicSpeedT &&value)
const Aws::String & GetCountry() const
void SetTollSystems(TollSystemsT &&value)
RouteVehicleSpan & WithRailwayCrossing(RouteSpanRailwayCrossingAttribute value)
RouteVehicleSpan & WithNames(NamesT &&value)
RouteVehicleSpan & AddRouteNumbers(RouteNumbersT &&value)
const Aws::Vector< RouteNumber > & GetRouteNumbers() const
const Aws::Vector< int > & GetIncidents() const
const Aws::Vector< int > & GetTollSystems() const
RouteVehicleSpan & AddTruckAccess(RouteSpanTruckAccessAttribute value)
void SetRouteNumbers(RouteNumbersT &&value)
RouteSpanRailwayCrossingAttribute GetRailwayCrossing() const
RouteVehicleSpan & WithDuration(long long value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue