AWS SDK for C++

AWS SDK for C++ Version 1.11.770

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
162 inline int GetFunctionalClassification() const { return m_functionalClassification; }
163 inline bool FunctionalClassificationHasBeenSet() const { return m_functionalClassificationHasBeenSet; }
164 inline void SetFunctionalClassification(int value) {
165 m_functionalClassificationHasBeenSet = true;
166 m_functionalClassification = value;
167 }
170 return *this;
171 }
173
175
179 inline RouteSpanGateAttribute GetGate() const { return m_gate; }
180 inline bool GateHasBeenSet() const { return m_gateHasBeenSet; }
181 inline void SetGate(RouteSpanGateAttribute value) {
182 m_gateHasBeenSet = true;
183 m_gate = value;
184 }
186 SetGate(value);
187 return *this;
188 }
190
192
195 inline int GetGeometryOffset() const { return m_geometryOffset; }
196 inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; }
197 inline void SetGeometryOffset(int value) {
198 m_geometryOffsetHasBeenSet = true;
199 m_geometryOffset = value;
200 }
202 SetGeometryOffset(value);
203 return *this;
204 }
206
208
212 inline const Aws::Vector<int>& GetIncidents() const { return m_incidents; }
213 inline bool IncidentsHasBeenSet() const { return m_incidentsHasBeenSet; }
214 template <typename IncidentsT = Aws::Vector<int>>
215 void SetIncidents(IncidentsT&& value) {
216 m_incidentsHasBeenSet = true;
217 m_incidents = std::forward<IncidentsT>(value);
218 }
219 template <typename IncidentsT = Aws::Vector<int>>
220 RouteVehicleSpan& WithIncidents(IncidentsT&& value) {
221 SetIncidents(std::forward<IncidentsT>(value));
222 return *this;
223 }
224 inline RouteVehicleSpan& AddIncidents(int value) {
225 m_incidentsHasBeenSet = true;
226 m_incidents.push_back(value);
227 return *this;
228 }
230
232
235 inline const Aws::Vector<LocalizedString>& GetNames() const { return m_names; }
236 inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; }
237 template <typename NamesT = Aws::Vector<LocalizedString>>
238 void SetNames(NamesT&& value) {
239 m_namesHasBeenSet = true;
240 m_names = std::forward<NamesT>(value);
241 }
242 template <typename NamesT = Aws::Vector<LocalizedString>>
243 RouteVehicleSpan& WithNames(NamesT&& value) {
244 SetNames(std::forward<NamesT>(value));
245 return *this;
246 }
247 template <typename NamesT = LocalizedString>
248 RouteVehicleSpan& AddNames(NamesT&& value) {
249 m_namesHasBeenSet = true;
250 m_names.emplace_back(std::forward<NamesT>(value));
251 return *this;
252 }
254
256
260 inline const Aws::Vector<int>& GetNotices() const { return m_notices; }
261 inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; }
262 template <typename NoticesT = Aws::Vector<int>>
263 void SetNotices(NoticesT&& value) {
264 m_noticesHasBeenSet = true;
265 m_notices = std::forward<NoticesT>(value);
266 }
267 template <typename NoticesT = Aws::Vector<int>>
268 RouteVehicleSpan& WithNotices(NoticesT&& value) {
269 SetNotices(std::forward<NoticesT>(value));
270 return *this;
271 }
272 inline RouteVehicleSpan& AddNotices(int value) {
273 m_noticesHasBeenSet = true;
274 m_notices.push_back(value);
275 return *this;
276 }
278
280
284 inline RouteSpanRailwayCrossingAttribute GetRailwayCrossing() const { return m_railwayCrossing; }
285 inline bool RailwayCrossingHasBeenSet() const { return m_railwayCrossingHasBeenSet; }
287 m_railwayCrossingHasBeenSet = true;
288 m_railwayCrossing = value;
289 }
291 SetRailwayCrossing(value);
292 return *this;
293 }
295
297
301 inline const Aws::String& GetRegion() const { return m_region; }
302 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
303 template <typename RegionT = Aws::String>
304 void SetRegion(RegionT&& value) {
305 m_regionHasBeenSet = true;
306 m_region = std::forward<RegionT>(value);
307 }
308 template <typename RegionT = Aws::String>
309 RouteVehicleSpan& WithRegion(RegionT&& value) {
310 SetRegion(std::forward<RegionT>(value));
311 return *this;
312 }
314
316
319 inline const Aws::Vector<RouteSpanRoadAttribute>& GetRoadAttributes() const { return m_roadAttributes; }
320 inline bool RoadAttributesHasBeenSet() const { return m_roadAttributesHasBeenSet; }
321 template <typename RoadAttributesT = Aws::Vector<RouteSpanRoadAttribute>>
322 void SetRoadAttributes(RoadAttributesT&& value) {
323 m_roadAttributesHasBeenSet = true;
324 m_roadAttributes = std::forward<RoadAttributesT>(value);
325 }
326 template <typename RoadAttributesT = Aws::Vector<RouteSpanRoadAttribute>>
327 RouteVehicleSpan& WithRoadAttributes(RoadAttributesT&& value) {
328 SetRoadAttributes(std::forward<RoadAttributesT>(value));
329 return *this;
330 }
332 m_roadAttributesHasBeenSet = true;
333 m_roadAttributes.push_back(value);
334 return *this;
335 }
337
339
342 inline const Aws::Vector<RouteNumber>& GetRouteNumbers() const { return m_routeNumbers; }
343 inline bool RouteNumbersHasBeenSet() const { return m_routeNumbersHasBeenSet; }
344 template <typename RouteNumbersT = Aws::Vector<RouteNumber>>
345 void SetRouteNumbers(RouteNumbersT&& value) {
346 m_routeNumbersHasBeenSet = true;
347 m_routeNumbers = std::forward<RouteNumbersT>(value);
348 }
349 template <typename RouteNumbersT = Aws::Vector<RouteNumber>>
350 RouteVehicleSpan& WithRouteNumbers(RouteNumbersT&& value) {
351 SetRouteNumbers(std::forward<RouteNumbersT>(value));
352 return *this;
353 }
354 template <typename RouteNumbersT = RouteNumber>
355 RouteVehicleSpan& AddRouteNumbers(RouteNumbersT&& value) {
356 m_routeNumbersHasBeenSet = true;
357 m_routeNumbers.emplace_back(std::forward<RouteNumbersT>(value));
358 return *this;
359 }
361
363
366 inline const Aws::Vector<RouteSpanScooterAccessAttribute>& GetScooterAccess() const { return m_scooterAccess; }
367 inline bool ScooterAccessHasBeenSet() const { return m_scooterAccessHasBeenSet; }
368 template <typename ScooterAccessT = Aws::Vector<RouteSpanScooterAccessAttribute>>
369 void SetScooterAccess(ScooterAccessT&& value) {
370 m_scooterAccessHasBeenSet = true;
371 m_scooterAccess = std::forward<ScooterAccessT>(value);
372 }
373 template <typename ScooterAccessT = Aws::Vector<RouteSpanScooterAccessAttribute>>
374 RouteVehicleSpan& WithScooterAccess(ScooterAccessT&& value) {
375 SetScooterAccess(std::forward<ScooterAccessT>(value));
376 return *this;
377 }
379 m_scooterAccessHasBeenSet = true;
380 m_scooterAccess.push_back(value);
381 return *this;
382 }
384
386
390 inline const RouteSpanSpeedLimitDetails& GetSpeedLimit() const { return m_speedLimit; }
391 inline bool SpeedLimitHasBeenSet() const { return m_speedLimitHasBeenSet; }
392 template <typename SpeedLimitT = RouteSpanSpeedLimitDetails>
393 void SetSpeedLimit(SpeedLimitT&& value) {
394 m_speedLimitHasBeenSet = true;
395 m_speedLimit = std::forward<SpeedLimitT>(value);
396 }
397 template <typename SpeedLimitT = RouteSpanSpeedLimitDetails>
398 RouteVehicleSpan& WithSpeedLimit(SpeedLimitT&& value) {
399 SetSpeedLimit(std::forward<SpeedLimitT>(value));
400 return *this;
401 }
403
405
408 inline const Aws::Vector<int>& GetTollSystems() const { return m_tollSystems; }
409 inline bool TollSystemsHasBeenSet() const { return m_tollSystemsHasBeenSet; }
410 template <typename TollSystemsT = Aws::Vector<int>>
411 void SetTollSystems(TollSystemsT&& value) {
412 m_tollSystemsHasBeenSet = true;
413 m_tollSystems = std::forward<TollSystemsT>(value);
414 }
415 template <typename TollSystemsT = Aws::Vector<int>>
416 RouteVehicleSpan& WithTollSystems(TollSystemsT&& value) {
417 SetTollSystems(std::forward<TollSystemsT>(value));
418 return *this;
419 }
420 inline RouteVehicleSpan& AddTollSystems(int value) {
421 m_tollSystemsHasBeenSet = true;
422 m_tollSystems.push_back(value);
423 return *this;
424 }
426
428
431 inline const Aws::Vector<RouteSpanTruckAccessAttribute>& GetTruckAccess() const { return m_truckAccess; }
432 inline bool TruckAccessHasBeenSet() const { return m_truckAccessHasBeenSet; }
433 template <typename TruckAccessT = Aws::Vector<RouteSpanTruckAccessAttribute>>
434 void SetTruckAccess(TruckAccessT&& value) {
435 m_truckAccessHasBeenSet = true;
436 m_truckAccess = std::forward<TruckAccessT>(value);
437 }
438 template <typename TruckAccessT = Aws::Vector<RouteSpanTruckAccessAttribute>>
439 RouteVehicleSpan& WithTruckAccess(TruckAccessT&& value) {
440 SetTruckAccess(std::forward<TruckAccessT>(value));
441 return *this;
442 }
444 m_truckAccessHasBeenSet = true;
445 m_truckAccess.push_back(value);
446 return *this;
447 }
449
451
457 inline const Aws::Vector<int>& GetTruckRoadTypes() const { return m_truckRoadTypes; }
458 inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; }
459 template <typename TruckRoadTypesT = Aws::Vector<int>>
460 void SetTruckRoadTypes(TruckRoadTypesT&& value) {
461 m_truckRoadTypesHasBeenSet = true;
462 m_truckRoadTypes = std::forward<TruckRoadTypesT>(value);
463 }
464 template <typename TruckRoadTypesT = Aws::Vector<int>>
465 RouteVehicleSpan& WithTruckRoadTypes(TruckRoadTypesT&& value) {
466 SetTruckRoadTypes(std::forward<TruckRoadTypesT>(value));
467 return *this;
468 }
470 m_truckRoadTypesHasBeenSet = true;
471 m_truckRoadTypes.push_back(value);
472 return *this;
473 }
475
477
481 inline long long GetTypicalDuration() const { return m_typicalDuration; }
482 inline bool TypicalDurationHasBeenSet() const { return m_typicalDurationHasBeenSet; }
483 inline void SetTypicalDuration(long long value) {
484 m_typicalDurationHasBeenSet = true;
485 m_typicalDuration = value;
486 }
487 inline RouteVehicleSpan& WithTypicalDuration(long long value) {
488 SetTypicalDuration(value);
489 return *this;
490 }
492
494
497 inline const Aws::Vector<int>& GetZones() const { return m_zones; }
498 inline bool ZonesHasBeenSet() const { return m_zonesHasBeenSet; }
499 template <typename ZonesT = Aws::Vector<int>>
500 void SetZones(ZonesT&& value) {
501 m_zonesHasBeenSet = true;
502 m_zones = std::forward<ZonesT>(value);
503 }
504 template <typename ZonesT = Aws::Vector<int>>
505 RouteVehicleSpan& WithZones(ZonesT&& value) {
506 SetZones(std::forward<ZonesT>(value));
507 return *this;
508 }
509 inline RouteVehicleSpan& AddZones(int value) {
510 m_zonesHasBeenSet = true;
511 m_zones.push_back(value);
512 return *this;
513 }
515 private:
516 long long m_bestCaseDuration{0};
517
519
520 Aws::String m_country;
521
522 long long m_distance{0};
523
524 long long m_duration{0};
525
526 RouteSpanDynamicSpeedDetails m_dynamicSpeed;
527
528 int m_functionalClassification{0};
529
531
532 int m_geometryOffset{0};
533
534 Aws::Vector<int> m_incidents;
535
537
538 Aws::Vector<int> m_notices;
539
541
542 Aws::String m_region;
543
545
546 Aws::Vector<RouteNumber> m_routeNumbers;
547
549
550 RouteSpanSpeedLimitDetails m_speedLimit;
551
552 Aws::Vector<int> m_tollSystems;
553
555
556 Aws::Vector<int> m_truckRoadTypes;
557
558 long long m_typicalDuration{0};
559
560 Aws::Vector<int> m_zones;
561 bool m_bestCaseDurationHasBeenSet = false;
562 bool m_carAccessHasBeenSet = false;
563 bool m_countryHasBeenSet = false;
564 bool m_distanceHasBeenSet = false;
565 bool m_durationHasBeenSet = false;
566 bool m_dynamicSpeedHasBeenSet = false;
567 bool m_functionalClassificationHasBeenSet = false;
568 bool m_gateHasBeenSet = false;
569 bool m_geometryOffsetHasBeenSet = false;
570 bool m_incidentsHasBeenSet = false;
571 bool m_namesHasBeenSet = false;
572 bool m_noticesHasBeenSet = false;
573 bool m_railwayCrossingHasBeenSet = false;
574 bool m_regionHasBeenSet = false;
575 bool m_roadAttributesHasBeenSet = false;
576 bool m_routeNumbersHasBeenSet = false;
577 bool m_scooterAccessHasBeenSet = false;
578 bool m_speedLimitHasBeenSet = false;
579 bool m_tollSystemsHasBeenSet = false;
580 bool m_truckAccessHasBeenSet = false;
581 bool m_truckRoadTypesHasBeenSet = false;
582 bool m_typicalDurationHasBeenSet = false;
583 bool m_zonesHasBeenSet = false;
584};
585
586} // namespace Model
587} // namespace GeoRoutes
588} // 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