AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
RouteOriginOptions.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/geo-routes/model/RouteMatchingOptions.h>
9#include <aws/geo-routes/model/RouteSideOfStreetOptions.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace GeoRoutes {
21namespace Model {
22
29 public:
30 AWS_GEOROUTES_API RouteOriginOptions() = default;
31 AWS_GEOROUTES_API RouteOriginOptions(Aws::Utils::Json::JsonView jsonValue);
33 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
41 inline long long GetAvoidActionsForDistance() const { return m_avoidActionsForDistance; }
42 inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; }
43 inline void SetAvoidActionsForDistance(long long value) {
44 m_avoidActionsForDistanceHasBeenSet = true;
45 m_avoidActionsForDistance = value;
46 }
49 return *this;
50 }
52
54
57 inline bool GetAvoidUTurns() const { return m_avoidUTurns; }
58 inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; }
59 inline void SetAvoidUTurns(bool value) {
60 m_avoidUTurnsHasBeenSet = true;
61 m_avoidUTurns = value;
62 }
63 inline RouteOriginOptions& WithAvoidUTurns(bool value) {
64 SetAvoidUTurns(value);
65 return *this;
66 }
68
70
73 inline double GetHeading() const { return m_heading; }
74 inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; }
75 inline void SetHeading(double value) {
76 m_headingHasBeenSet = true;
77 m_heading = value;
78 }
79 inline RouteOriginOptions& WithHeading(double value) {
80 SetHeading(value);
81 return *this;
82 }
84
86
89 inline const RouteMatchingOptions& GetMatching() const { return m_matching; }
90 inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; }
91 template <typename MatchingT = RouteMatchingOptions>
92 void SetMatching(MatchingT&& value) {
93 m_matchingHasBeenSet = true;
94 m_matching = std::forward<MatchingT>(value);
95 }
96 template <typename MatchingT = RouteMatchingOptions>
97 RouteOriginOptions& WithMatching(MatchingT&& value) {
98 SetMatching(std::forward<MatchingT>(value));
99 return *this;
100 }
102
104
108 inline const RouteSideOfStreetOptions& GetSideOfStreet() const { return m_sideOfStreet; }
109 inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; }
110 template <typename SideOfStreetT = RouteSideOfStreetOptions>
111 void SetSideOfStreet(SideOfStreetT&& value) {
112 m_sideOfStreetHasBeenSet = true;
113 m_sideOfStreet = std::forward<SideOfStreetT>(value);
114 }
115 template <typename SideOfStreetT = RouteSideOfStreetOptions>
116 RouteOriginOptions& WithSideOfStreet(SideOfStreetT&& value) {
117 SetSideOfStreet(std::forward<SideOfStreetT>(value));
118 return *this;
119 }
121 private:
122 long long m_avoidActionsForDistance{0};
123
124 bool m_avoidUTurns{false};
125
126 double m_heading{0.0};
127
128 RouteMatchingOptions m_matching;
129
130 RouteSideOfStreetOptions m_sideOfStreet;
131 bool m_avoidActionsForDistanceHasBeenSet = false;
132 bool m_avoidUTurnsHasBeenSet = false;
133 bool m_headingHasBeenSet = false;
134 bool m_matchingHasBeenSet = false;
135 bool m_sideOfStreetHasBeenSet = false;
136};
137
138} // namespace Model
139} // namespace GeoRoutes
140} // namespace Aws
const RouteMatchingOptions & GetMatching() const
AWS_GEOROUTES_API RouteOriginOptions & operator=(Aws::Utils::Json::JsonView jsonValue)
const RouteSideOfStreetOptions & GetSideOfStreet() const
RouteOriginOptions & WithAvoidUTurns(bool value)
RouteOriginOptions & WithMatching(MatchingT &&value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
RouteOriginOptions & WithSideOfStreet(SideOfStreetT &&value)
RouteOriginOptions & WithAvoidActionsForDistance(long long value)
AWS_GEOROUTES_API RouteOriginOptions(Aws::Utils::Json::JsonView jsonValue)
RouteOriginOptions & WithHeading(double value)
AWS_GEOROUTES_API RouteOriginOptions()=default
Aws::Utils::Json::JsonValue JsonValue