AWS SDK for C++

AWS SDK for C++ Version 1.11.766

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
42 inline long long GetAvoidActionsForDistance() const { return m_avoidActionsForDistance; }
43 inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; }
44 inline void SetAvoidActionsForDistance(long long value) {
45 m_avoidActionsForDistanceHasBeenSet = true;
46 m_avoidActionsForDistance = value;
47 }
48 inline RouteWaypoint& WithAvoidActionsForDistance(long long value) {
50 return *this;
51 }
53
55
58 inline bool GetAvoidUTurns() const { return m_avoidUTurns; }
59 inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; }
60 inline void SetAvoidUTurns(bool value) {
61 m_avoidUTurnsHasBeenSet = true;
62 m_avoidUTurns = value;
63 }
64 inline RouteWaypoint& WithAvoidUTurns(bool value) {
65 SetAvoidUTurns(value);
66 return *this;
67 }
69
71
74 inline double GetHeading() const { return m_heading; }
75 inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; }
76 inline void SetHeading(double value) {
77 m_headingHasBeenSet = true;
78 m_heading = value;
79 }
80 inline RouteWaypoint& WithHeading(double value) {
81 SetHeading(value);
82 return *this;
83 }
85
87
90 inline const RouteMatchingOptions& GetMatching() const { return m_matching; }
91 inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; }
92 template <typename MatchingT = RouteMatchingOptions>
93 void SetMatching(MatchingT&& value) {
94 m_matchingHasBeenSet = true;
95 m_matching = std::forward<MatchingT>(value);
96 }
97 template <typename MatchingT = RouteMatchingOptions>
98 RouteWaypoint& WithMatching(MatchingT&& value) {
99 SetMatching(std::forward<MatchingT>(value));
100 return *this;
101 }
103
105
109 inline bool GetPassThrough() const { return m_passThrough; }
110 inline bool PassThroughHasBeenSet() const { return m_passThroughHasBeenSet; }
111 inline void SetPassThrough(bool value) {
112 m_passThroughHasBeenSet = true;
113 m_passThrough = value;
114 }
115 inline RouteWaypoint& WithPassThrough(bool value) {
116 SetPassThrough(value);
117 return *this;
118 }
120
122
125 inline const Aws::Vector<double>& GetPosition() const { return m_position; }
126 inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; }
127 template <typename PositionT = Aws::Vector<double>>
128 void SetPosition(PositionT&& value) {
129 m_positionHasBeenSet = true;
130 m_position = std::forward<PositionT>(value);
131 }
132 template <typename PositionT = Aws::Vector<double>>
133 RouteWaypoint& WithPosition(PositionT&& value) {
134 SetPosition(std::forward<PositionT>(value));
135 return *this;
136 }
137 inline RouteWaypoint& AddPosition(double value) {
138 m_positionHasBeenSet = true;
139 m_position.push_back(value);
140 return *this;
141 }
143
145
149 inline const RouteSideOfStreetOptions& GetSideOfStreet() const { return m_sideOfStreet; }
150 inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; }
151 template <typename SideOfStreetT = RouteSideOfStreetOptions>
152 void SetSideOfStreet(SideOfStreetT&& value) {
153 m_sideOfStreetHasBeenSet = true;
154 m_sideOfStreet = std::forward<SideOfStreetT>(value);
155 }
156 template <typename SideOfStreetT = RouteSideOfStreetOptions>
157 RouteWaypoint& WithSideOfStreet(SideOfStreetT&& value) {
158 SetSideOfStreet(std::forward<SideOfStreetT>(value));
159 return *this;
160 }
162
164
167 inline long long GetStopDuration() const { return m_stopDuration; }
168 inline bool StopDurationHasBeenSet() const { return m_stopDurationHasBeenSet; }
169 inline void SetStopDuration(long long value) {
170 m_stopDurationHasBeenSet = true;
171 m_stopDuration = value;
172 }
173 inline RouteWaypoint& WithStopDuration(long long value) {
174 SetStopDuration(value);
175 return *this;
176 }
178 private:
179 long long m_avoidActionsForDistance{0};
180
181 bool m_avoidUTurns{false};
182
183 double m_heading{0.0};
184
185 RouteMatchingOptions m_matching;
186
187 bool m_passThrough{false};
188
189 Aws::Vector<double> m_position;
190
191 RouteSideOfStreetOptions m_sideOfStreet;
192
193 long long m_stopDuration{0};
194 bool m_avoidActionsForDistanceHasBeenSet = false;
195 bool m_avoidUTurnsHasBeenSet = false;
196 bool m_headingHasBeenSet = false;
197 bool m_matchingHasBeenSet = false;
198 bool m_passThroughHasBeenSet = false;
199 bool m_positionHasBeenSet = false;
200 bool m_sideOfStreetHasBeenSet = false;
201 bool m_stopDurationHasBeenSet = false;
202};
203
204} // namespace Model
205} // namespace GeoRoutes
206} // 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