AWS SDK for C++

AWS SDK for C++ Version 1.11.770

Loading...
Searching...
No Matches
RouteTruckOptions.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/RouteEngineType.h>
11#include <aws/geo-routes/model/RouteHazardousCargoType.h>
12#include <aws/geo-routes/model/RouteTrailerOptions.h>
13#include <aws/geo-routes/model/RouteTruckType.h>
14#include <aws/geo-routes/model/RouteVehicleLicensePlate.h>
15#include <aws/geo-routes/model/WeightPerAxleGroup.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace GeoRoutes {
27namespace Model {
28
36 public:
37 AWS_GEOROUTES_API RouteTruckOptions() = default;
38 AWS_GEOROUTES_API RouteTruckOptions(Aws::Utils::Json::JsonView jsonValue);
40 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline int GetAxleCount() const { return m_axleCount; }
47 inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; }
48 inline void SetAxleCount(int value) {
49 m_axleCountHasBeenSet = true;
50 m_axleCount = value;
51 }
52 inline RouteTruckOptions& WithAxleCount(int value) {
53 SetAxleCount(value);
54 return *this;
55 }
57
59
62 inline RouteEngineType GetEngineType() const { return m_engineType; }
63 inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; }
64 inline void SetEngineType(RouteEngineType value) {
65 m_engineTypeHasBeenSet = true;
66 m_engineType = value;
67 }
69 SetEngineType(value);
70 return *this;
71 }
73
75
79 inline long long GetGrossWeight() const { return m_grossWeight; }
80 inline bool GrossWeightHasBeenSet() const { return m_grossWeightHasBeenSet; }
81 inline void SetGrossWeight(long long value) {
82 m_grossWeightHasBeenSet = true;
83 m_grossWeight = value;
84 }
85 inline RouteTruckOptions& WithGrossWeight(long long value) {
86 SetGrossWeight(value);
87 return *this;
88 }
90
92
95 inline const Aws::Vector<RouteHazardousCargoType>& GetHazardousCargos() const { return m_hazardousCargos; }
96 inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; }
97 template <typename HazardousCargosT = Aws::Vector<RouteHazardousCargoType>>
98 void SetHazardousCargos(HazardousCargosT&& value) {
99 m_hazardousCargosHasBeenSet = true;
100 m_hazardousCargos = std::forward<HazardousCargosT>(value);
101 }
102 template <typename HazardousCargosT = Aws::Vector<RouteHazardousCargoType>>
103 RouteTruckOptions& WithHazardousCargos(HazardousCargosT&& value) {
104 SetHazardousCargos(std::forward<HazardousCargosT>(value));
105 return *this;
106 }
108 m_hazardousCargosHasBeenSet = true;
109 m_hazardousCargos.push_back(value);
110 return *this;
111 }
113
115
118 inline long long GetHeight() const { return m_height; }
119 inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; }
120 inline void SetHeight(long long value) {
121 m_heightHasBeenSet = true;
122 m_height = value;
123 }
124 inline RouteTruckOptions& WithHeight(long long value) {
125 SetHeight(value);
126 return *this;
127 }
129
131
135 inline long long GetHeightAboveFirstAxle() const { return m_heightAboveFirstAxle; }
136 inline bool HeightAboveFirstAxleHasBeenSet() const { return m_heightAboveFirstAxleHasBeenSet; }
137 inline void SetHeightAboveFirstAxle(long long value) {
138 m_heightAboveFirstAxleHasBeenSet = true;
139 m_heightAboveFirstAxle = value;
140 }
143 return *this;
144 }
146
148
152 inline long long GetKpraLength() const { return m_kpraLength; }
153 inline bool KpraLengthHasBeenSet() const { return m_kpraLengthHasBeenSet; }
154 inline void SetKpraLength(long long value) {
155 m_kpraLengthHasBeenSet = true;
156 m_kpraLength = value;
157 }
158 inline RouteTruckOptions& WithKpraLength(long long value) {
159 SetKpraLength(value);
160 return *this;
161 }
163
165
168 inline long long GetLength() const { return m_length; }
169 inline bool LengthHasBeenSet() const { return m_lengthHasBeenSet; }
170 inline void SetLength(long long value) {
171 m_lengthHasBeenSet = true;
172 m_length = value;
173 }
174 inline RouteTruckOptions& WithLength(long long value) {
175 SetLength(value);
176 return *this;
177 }
179
181
184 inline const RouteVehicleLicensePlate& GetLicensePlate() const { return m_licensePlate; }
185 inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; }
186 template <typename LicensePlateT = RouteVehicleLicensePlate>
187 void SetLicensePlate(LicensePlateT&& value) {
188 m_licensePlateHasBeenSet = true;
189 m_licensePlate = std::forward<LicensePlateT>(value);
190 }
191 template <typename LicensePlateT = RouteVehicleLicensePlate>
192 RouteTruckOptions& WithLicensePlate(LicensePlateT&& value) {
193 SetLicensePlate(std::forward<LicensePlateT>(value));
194 return *this;
195 }
197
199
202 inline double GetMaxSpeed() const { return m_maxSpeed; }
203 inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; }
204 inline void SetMaxSpeed(double value) {
205 m_maxSpeedHasBeenSet = true;
206 m_maxSpeed = value;
207 }
208 inline RouteTruckOptions& WithMaxSpeed(double value) {
209 SetMaxSpeed(value);
210 return *this;
211 }
213
215
219 inline int GetOccupancy() const { return m_occupancy; }
220 inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; }
221 inline void SetOccupancy(int value) {
222 m_occupancyHasBeenSet = true;
223 m_occupancy = value;
224 }
225 inline RouteTruckOptions& WithOccupancy(int value) {
226 SetOccupancy(value);
227 return *this;
228 }
230
232
236 inline long long GetPayloadCapacity() const { return m_payloadCapacity; }
237 inline bool PayloadCapacityHasBeenSet() const { return m_payloadCapacityHasBeenSet; }
238 inline void SetPayloadCapacity(long long value) {
239 m_payloadCapacityHasBeenSet = true;
240 m_payloadCapacity = value;
241 }
242 inline RouteTruckOptions& WithPayloadCapacity(long long value) {
243 SetPayloadCapacity(value);
244 return *this;
245 }
247
249
252 inline int GetTireCount() const { return m_tireCount; }
253 inline bool TireCountHasBeenSet() const { return m_tireCountHasBeenSet; }
254 inline void SetTireCount(int value) {
255 m_tireCountHasBeenSet = true;
256 m_tireCount = value;
257 }
258 inline RouteTruckOptions& WithTireCount(int value) {
259 SetTireCount(value);
260 return *this;
261 }
263
265
268 inline const RouteTrailerOptions& GetTrailer() const { return m_trailer; }
269 inline bool TrailerHasBeenSet() const { return m_trailerHasBeenSet; }
270 template <typename TrailerT = RouteTrailerOptions>
271 void SetTrailer(TrailerT&& value) {
272 m_trailerHasBeenSet = true;
273 m_trailer = std::forward<TrailerT>(value);
274 }
275 template <typename TrailerT = RouteTrailerOptions>
276 RouteTruckOptions& WithTrailer(TrailerT&& value) {
277 SetTrailer(std::forward<TrailerT>(value));
278 return *this;
279 }
281
283
286 inline RouteTruckType GetTruckType() const { return m_truckType; }
287 inline bool TruckTypeHasBeenSet() const { return m_truckTypeHasBeenSet; }
288 inline void SetTruckType(RouteTruckType value) {
289 m_truckTypeHasBeenSet = true;
290 m_truckType = value;
291 }
293 SetTruckType(value);
294 return *this;
295 }
297
299
313 inline const Aws::String& GetTunnelRestrictionCode() const { return m_tunnelRestrictionCode; }
314 inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; }
315 template <typename TunnelRestrictionCodeT = Aws::String>
316 void SetTunnelRestrictionCode(TunnelRestrictionCodeT&& value) {
317 m_tunnelRestrictionCodeHasBeenSet = true;
318 m_tunnelRestrictionCode = std::forward<TunnelRestrictionCodeT>(value);
319 }
320 template <typename TunnelRestrictionCodeT = Aws::String>
321 RouteTruckOptions& WithTunnelRestrictionCode(TunnelRestrictionCodeT&& value) {
322 SetTunnelRestrictionCode(std::forward<TunnelRestrictionCodeT>(value));
323 return *this;
324 }
326
328
333 inline long long GetWeightPerAxle() const { return m_weightPerAxle; }
334 inline bool WeightPerAxleHasBeenSet() const { return m_weightPerAxleHasBeenSet; }
335 inline void SetWeightPerAxle(long long value) {
336 m_weightPerAxleHasBeenSet = true;
337 m_weightPerAxle = value;
338 }
339 inline RouteTruckOptions& WithWeightPerAxle(long long value) {
340 SetWeightPerAxle(value);
341 return *this;
342 }
344
346
351 inline const WeightPerAxleGroup& GetWeightPerAxleGroup() const { return m_weightPerAxleGroup; }
352 inline bool WeightPerAxleGroupHasBeenSet() const { return m_weightPerAxleGroupHasBeenSet; }
353 template <typename WeightPerAxleGroupT = WeightPerAxleGroup>
354 void SetWeightPerAxleGroup(WeightPerAxleGroupT&& value) {
355 m_weightPerAxleGroupHasBeenSet = true;
356 m_weightPerAxleGroup = std::forward<WeightPerAxleGroupT>(value);
357 }
358 template <typename WeightPerAxleGroupT = WeightPerAxleGroup>
359 RouteTruckOptions& WithWeightPerAxleGroup(WeightPerAxleGroupT&& value) {
360 SetWeightPerAxleGroup(std::forward<WeightPerAxleGroupT>(value));
361 return *this;
362 }
364
366
369 inline long long GetWidth() const { return m_width; }
370 inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; }
371 inline void SetWidth(long long value) {
372 m_widthHasBeenSet = true;
373 m_width = value;
374 }
375 inline RouteTruckOptions& WithWidth(long long value) {
376 SetWidth(value);
377 return *this;
378 }
380 private:
381 int m_axleCount{0};
382
384
385 long long m_grossWeight{0};
386
387 Aws::Vector<RouteHazardousCargoType> m_hazardousCargos;
388
389 long long m_height{0};
390
391 long long m_heightAboveFirstAxle{0};
392
393 long long m_kpraLength{0};
394
395 long long m_length{0};
396
397 RouteVehicleLicensePlate m_licensePlate;
398
399 double m_maxSpeed{0.0};
400
401 int m_occupancy{0};
402
403 long long m_payloadCapacity{0};
404
405 int m_tireCount{0};
406
407 RouteTrailerOptions m_trailer;
408
410
411 Aws::String m_tunnelRestrictionCode;
412
413 long long m_weightPerAxle{0};
414
415 WeightPerAxleGroup m_weightPerAxleGroup;
416
417 long long m_width{0};
418 bool m_axleCountHasBeenSet = false;
419 bool m_engineTypeHasBeenSet = false;
420 bool m_grossWeightHasBeenSet = false;
421 bool m_hazardousCargosHasBeenSet = false;
422 bool m_heightHasBeenSet = false;
423 bool m_heightAboveFirstAxleHasBeenSet = false;
424 bool m_kpraLengthHasBeenSet = false;
425 bool m_lengthHasBeenSet = false;
426 bool m_licensePlateHasBeenSet = false;
427 bool m_maxSpeedHasBeenSet = false;
428 bool m_occupancyHasBeenSet = false;
429 bool m_payloadCapacityHasBeenSet = false;
430 bool m_tireCountHasBeenSet = false;
431 bool m_trailerHasBeenSet = false;
432 bool m_truckTypeHasBeenSet = false;
433 bool m_tunnelRestrictionCodeHasBeenSet = false;
434 bool m_weightPerAxleHasBeenSet = false;
435 bool m_weightPerAxleGroupHasBeenSet = false;
436 bool m_widthHasBeenSet = false;
437};
438
439} // namespace Model
440} // namespace GeoRoutes
441} // namespace Aws
RouteTruckOptions & WithGrossWeight(long long value)
void SetHazardousCargos(HazardousCargosT &&value)
RouteTruckOptions & WithMaxSpeed(double value)
RouteTruckOptions & WithWidth(long long value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
RouteTruckOptions & WithTrailer(TrailerT &&value)
const WeightPerAxleGroup & GetWeightPerAxleGroup() const
RouteTruckOptions & WithTunnelRestrictionCode(TunnelRestrictionCodeT &&value)
RouteTruckOptions & WithHeight(long long value)
void SetTunnelRestrictionCode(TunnelRestrictionCodeT &&value)
void SetWeightPerAxleGroup(WeightPerAxleGroupT &&value)
RouteTruckOptions & WithAxleCount(int value)
const RouteVehicleLicensePlate & GetLicensePlate() const
RouteTruckOptions & WithTireCount(int value)
void SetEngineType(RouteEngineType value)
RouteTruckOptions & WithEngineType(RouteEngineType value)
const RouteTrailerOptions & GetTrailer() const
RouteTruckOptions & WithHeightAboveFirstAxle(long long value)
RouteTruckOptions & AddHazardousCargos(RouteHazardousCargoType value)
void SetLicensePlate(LicensePlateT &&value)
AWS_GEOROUTES_API RouteTruckOptions(Aws::Utils::Json::JsonView jsonValue)
RouteTruckOptions & WithWeightPerAxle(long long value)
RouteTruckOptions & WithLicensePlate(LicensePlateT &&value)
RouteTruckOptions & WithPayloadCapacity(long long value)
RouteTruckOptions & WithLength(long long value)
RouteTruckOptions & WithTruckType(RouteTruckType value)
RouteTruckOptions & WithHazardousCargos(HazardousCargosT &&value)
RouteTruckOptions & WithWeightPerAxleGroup(WeightPerAxleGroupT &&value)
RouteTruckOptions & WithKpraLength(long long value)
const Aws::String & GetTunnelRestrictionCode() const
RouteTruckOptions & WithOccupancy(int value)
AWS_GEOROUTES_API RouteTruckOptions()=default
AWS_GEOROUTES_API RouteTruckOptions & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< RouteHazardousCargoType > & GetHazardousCargos() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue