AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
RouteWaypoint.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/geo-routes/model/RouteMatchingOptions.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/geo-routes/model/RouteSideOfStreetOptions.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace GeoRoutes
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_GEOROUTES_API RouteWaypoint() = default;
37 AWS_GEOROUTES_API RouteWaypoint(Aws::Utils::Json::JsonView jsonValue);
38 AWS_GEOROUTES_API RouteWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
48 inline long long GetAvoidActionsForDistance() const { return m_avoidActionsForDistance; }
49 inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; }
50 inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; }
51 inline RouteWaypoint& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;}
53
55
58 inline bool GetAvoidUTurns() const { return m_avoidUTurns; }
59 inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; }
60 inline void SetAvoidUTurns(bool value) { m_avoidUTurnsHasBeenSet = true; m_avoidUTurns = value; }
61 inline RouteWaypoint& WithAvoidUTurns(bool value) { SetAvoidUTurns(value); return *this;}
63
65
68 inline double GetHeading() const { return m_heading; }
69 inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; }
70 inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; }
71 inline RouteWaypoint& WithHeading(double value) { SetHeading(value); return *this;}
73
75
78 inline const RouteMatchingOptions& GetMatching() const { return m_matching; }
79 inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; }
80 template<typename MatchingT = RouteMatchingOptions>
81 void SetMatching(MatchingT&& value) { m_matchingHasBeenSet = true; m_matching = std::forward<MatchingT>(value); }
82 template<typename MatchingT = RouteMatchingOptions>
83 RouteWaypoint& WithMatching(MatchingT&& value) { SetMatching(std::forward<MatchingT>(value)); return *this;}
85
87
91 inline bool GetPassThrough() const { return m_passThrough; }
92 inline bool PassThroughHasBeenSet() const { return m_passThroughHasBeenSet; }
93 inline void SetPassThrough(bool value) { m_passThroughHasBeenSet = true; m_passThrough = value; }
94 inline RouteWaypoint& WithPassThrough(bool value) { SetPassThrough(value); return *this;}
96
98
101 inline const Aws::Vector<double>& GetPosition() const { return m_position; }
102 inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; }
103 template<typename PositionT = Aws::Vector<double>>
104 void SetPosition(PositionT&& value) { m_positionHasBeenSet = true; m_position = std::forward<PositionT>(value); }
105 template<typename PositionT = Aws::Vector<double>>
106 RouteWaypoint& WithPosition(PositionT&& value) { SetPosition(std::forward<PositionT>(value)); return *this;}
107 inline RouteWaypoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; }
109
111
115 inline const RouteSideOfStreetOptions& GetSideOfStreet() const { return m_sideOfStreet; }
116 inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; }
117 template<typename SideOfStreetT = RouteSideOfStreetOptions>
118 void SetSideOfStreet(SideOfStreetT&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::forward<SideOfStreetT>(value); }
119 template<typename SideOfStreetT = RouteSideOfStreetOptions>
120 RouteWaypoint& WithSideOfStreet(SideOfStreetT&& value) { SetSideOfStreet(std::forward<SideOfStreetT>(value)); return *this;}
122
124
127 inline long long GetStopDuration() const { return m_stopDuration; }
128 inline bool StopDurationHasBeenSet() const { return m_stopDurationHasBeenSet; }
129 inline void SetStopDuration(long long value) { m_stopDurationHasBeenSet = true; m_stopDuration = value; }
130 inline RouteWaypoint& WithStopDuration(long long value) { SetStopDuration(value); return *this;}
132 private:
133
134 long long m_avoidActionsForDistance{0};
135 bool m_avoidActionsForDistanceHasBeenSet = false;
136
137 bool m_avoidUTurns{false};
138 bool m_avoidUTurnsHasBeenSet = false;
139
140 double m_heading{0.0};
141 bool m_headingHasBeenSet = false;
142
143 RouteMatchingOptions m_matching;
144 bool m_matchingHasBeenSet = false;
145
146 bool m_passThrough{false};
147 bool m_passThroughHasBeenSet = false;
148
149 Aws::Vector<double> m_position;
150 bool m_positionHasBeenSet = false;
151
152 RouteSideOfStreetOptions m_sideOfStreet;
153 bool m_sideOfStreetHasBeenSet = false;
154
155 long long m_stopDuration{0};
156 bool m_stopDurationHasBeenSet = false;
157 };
158
159} // namespace Model
160} // namespace GeoRoutes
161} // 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