AWS SDK for C++

AWS SDK for C++ Version 1.11.796

Loading...
Searching...
No Matches
RouteWaypoint.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
9#include <aws/geo-routes/model/RouteMatchingOptions.h>
10#include <aws/geo-routes/model/RouteSideOfStreetOptions.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace GeoRoutes {
22namespace Model {
23
30 public:
31 AWS_GEOROUTES_API RouteWaypoint() = default;
32 AWS_GEOROUTES_API RouteWaypoint(Aws::Utils::Json::JsonView jsonValue);
33 AWS_GEOROUTES_API RouteWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
45 inline long long GetAvoidActionsForDistance() const { return m_avoidActionsForDistance; }
46 inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; }
47 inline void SetAvoidActionsForDistance(long long value) {
48 m_avoidActionsForDistanceHasBeenSet = true;
49 m_avoidActionsForDistance = value;
50 }
51 inline RouteWaypoint& WithAvoidActionsForDistance(long long value) {
53 return *this;
54 }
56
58
64 inline bool GetAvoidUTurns() const { return m_avoidUTurns; }
65 inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; }
66 inline void SetAvoidUTurns(bool value) {
67 m_avoidUTurnsHasBeenSet = true;
68 m_avoidUTurns = value;
69 }
70 inline RouteWaypoint& WithAvoidUTurns(bool value) {
71 SetAvoidUTurns(value);
72 return *this;
73 }
75
77
83 inline double GetHeading() const { return m_heading; }
84 inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; }
85 inline void SetHeading(double value) {
86 m_headingHasBeenSet = true;
87 m_heading = value;
88 }
89 inline RouteWaypoint& WithHeading(double value) {
90 SetHeading(value);
91 return *this;
92 }
94
96
103 inline const RouteMatchingOptions& GetMatching() const { return m_matching; }
104 inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; }
105 template <typename MatchingT = RouteMatchingOptions>
106 void SetMatching(MatchingT&& value) {
107 m_matchingHasBeenSet = true;
108 m_matching = std::forward<MatchingT>(value);
109 }
110 template <typename MatchingT = RouteMatchingOptions>
111 RouteWaypoint& WithMatching(MatchingT&& value) {
112 SetMatching(std::forward<MatchingT>(value));
113 return *this;
114 }
116
118
125 inline bool GetPassThrough() const { return m_passThrough; }
126 inline bool PassThroughHasBeenSet() const { return m_passThroughHasBeenSet; }
127 inline void SetPassThrough(bool value) {
128 m_passThroughHasBeenSet = true;
129 m_passThrough = value;
130 }
131 inline RouteWaypoint& WithPassThrough(bool value) {
132 SetPassThrough(value);
133 return *this;
134 }
136
138
141 inline const Aws::Vector<double>& GetPosition() const { return m_position; }
142 inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; }
143 template <typename PositionT = Aws::Vector<double>>
144 void SetPosition(PositionT&& value) {
145 m_positionHasBeenSet = true;
146 m_position = std::forward<PositionT>(value);
147 }
148 template <typename PositionT = Aws::Vector<double>>
149 RouteWaypoint& WithPosition(PositionT&& value) {
150 SetPosition(std::forward<PositionT>(value));
151 return *this;
152 }
153 inline RouteWaypoint& AddPosition(double value) {
154 m_positionHasBeenSet = true;
155 m_position.push_back(value);
156 return *this;
157 }
159
161
168 inline const RouteSideOfStreetOptions& GetSideOfStreet() const { return m_sideOfStreet; }
169 inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; }
170 template <typename SideOfStreetT = RouteSideOfStreetOptions>
171 void SetSideOfStreet(SideOfStreetT&& value) {
172 m_sideOfStreetHasBeenSet = true;
173 m_sideOfStreet = std::forward<SideOfStreetT>(value);
174 }
175 template <typename SideOfStreetT = RouteSideOfStreetOptions>
176 RouteWaypoint& WithSideOfStreet(SideOfStreetT&& value) {
177 SetSideOfStreet(std::forward<SideOfStreetT>(value));
178 return *this;
179 }
181
183
189 inline long long GetStopDuration() const { return m_stopDuration; }
190 inline bool StopDurationHasBeenSet() const { return m_stopDurationHasBeenSet; }
191 inline void SetStopDuration(long long value) {
192 m_stopDurationHasBeenSet = true;
193 m_stopDuration = value;
194 }
195 inline RouteWaypoint& WithStopDuration(long long value) {
196 SetStopDuration(value);
197 return *this;
198 }
200 private:
201 long long m_avoidActionsForDistance{0};
202
203 bool m_avoidUTurns{false};
204
205 double m_heading{0.0};
206
207 RouteMatchingOptions m_matching;
208
209 bool m_passThrough{false};
210
211 Aws::Vector<double> m_position;
212
213 RouteSideOfStreetOptions m_sideOfStreet;
214
215 long long m_stopDuration{0};
216 bool m_avoidActionsForDistanceHasBeenSet = false;
217 bool m_avoidUTurnsHasBeenSet = false;
218 bool m_headingHasBeenSet = false;
219 bool m_matchingHasBeenSet = false;
220 bool m_passThroughHasBeenSet = false;
221 bool m_positionHasBeenSet = false;
222 bool m_sideOfStreetHasBeenSet = false;
223 bool m_stopDurationHasBeenSet = false;
224};
225
226} // namespace Model
227} // namespace GeoRoutes
228} // namespace Aws
const Aws::Vector< double > & GetPosition() const
AWS_GEOROUTES_API RouteWaypoint()=default
RouteWaypoint & WithPassThrough(bool value)
RouteWaypoint & WithStopDuration(long long value)
RouteWaypoint & WithMatching(MatchingT &&value)
AWS_GEOROUTES_API RouteWaypoint & operator=(Aws::Utils::Json::JsonView jsonValue)
RouteWaypoint & WithSideOfStreet(SideOfStreetT &&value)
RouteWaypoint & WithAvoidUTurns(bool value)
RouteWaypoint & WithPosition(PositionT &&value)
void SetMatching(MatchingT &&value)
RouteWaypoint & WithAvoidActionsForDistance(long long value)
long long GetAvoidActionsForDistance() const
RouteWaypoint & AddPosition(double value)
void SetStopDuration(long long value)
RouteWaypoint & WithHeading(double value)
const RouteSideOfStreetOptions & GetSideOfStreet() const
void SetAvoidActionsForDistance(long long value)
void SetPosition(PositionT &&value)
AWS_GEOROUTES_API RouteWaypoint(Aws::Utils::Json::JsonView jsonValue)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSideOfStreet(SideOfStreetT &&value)
const RouteMatchingOptions & GetMatching() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue