7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/location/LocationService_EXPORTS.h>
9#include <aws/location/model/LegGeometry.h>
10#include <aws/location/model/Step.h>
21namespace LocationService {
45 AWS_LOCATIONSERVICE_API
Leg() =
default;
60 template <
typename StartPositionT = Aws::Vector<
double>>
62 m_startPositionHasBeenSet =
true;
63 m_startPosition = std::forward<StartPositionT>(value);
65 template <
typename StartPositionT = Aws::Vector<
double>>
71 m_startPositionHasBeenSet =
true;
72 m_startPosition.push_back(value);
87 template <
typename EndPositionT = Aws::Vector<
double>>
89 m_endPositionHasBeenSet =
true;
90 m_endPosition = std::forward<EndPositionT>(value);
92 template <
typename EndPositionT = Aws::Vector<
double>>
98 m_endPositionHasBeenSet =
true;
99 m_endPosition.push_back(value);
114 m_distanceHasBeenSet =
true;
132 m_durationSecondsHasBeenSet =
true;
133 m_durationSeconds = value;
147 template <
typename GeometryT = LegGeometry>
149 m_geometryHasBeenSet =
true;
150 m_geometry = std::forward<GeometryT>(value);
152 template <
typename GeometryT = LegGeometry>
168 template <
typename StepsT = Aws::Vector<Step>>
170 m_stepsHasBeenSet =
true;
171 m_steps = std::forward<StepsT>(value);
173 template <
typename StepsT = Aws::Vector<Step>>
175 SetSteps(std::forward<StepsT>(value));
178 template <
typename StepsT = Step>
180 m_stepsHasBeenSet =
true;
181 m_steps.emplace_back(std::forward<StepsT>(value));
190 double m_distance{0.0};
192 double m_durationSeconds{0.0};
194 LegGeometry m_geometry;
197 bool m_startPositionHasBeenSet =
false;
198 bool m_endPositionHasBeenSet =
false;
199 bool m_distanceHasBeenSet =
false;
200 bool m_durationSecondsHasBeenSet =
false;
201 bool m_geometryHasBeenSet =
false;
202 bool m_stepsHasBeenSet =
false;
AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetStartPosition(StartPositionT &&value)
double GetDurationSeconds() const
AWS_LOCATIONSERVICE_API Leg()=default
bool StartPositionHasBeenSet() const
Leg & WithDurationSeconds(double value)
bool EndPositionHasBeenSet() const
void SetDurationSeconds(double value)
void SetGeometry(GeometryT &&value)
Leg & WithStartPosition(StartPositionT &&value)
bool GeometryHasBeenSet() const
Leg & AddSteps(StepsT &&value)
void SetSteps(StepsT &&value)
Leg & AddEndPosition(double value)
bool DistanceHasBeenSet() const
const LegGeometry & GetGeometry() const
AWS_LOCATIONSERVICE_API Leg & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API Leg(Aws::Utils::Json::JsonView jsonValue)
bool StepsHasBeenSet() const
bool DurationSecondsHasBeenSet() const
Leg & WithGeometry(GeometryT &&value)
Leg & WithDistance(double value)
double GetDistance() const
Leg & WithSteps(StepsT &&value)
Leg & AddStartPosition(double value)
const Aws::Vector< Step > & GetSteps() const
void SetEndPosition(EndPositionT &&value)
Leg & WithEndPosition(EndPositionT &&value)
void SetDistance(double value)
const Aws::Vector< double > & GetEndPosition() const
const Aws::Vector< double > & GetStartPosition() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue