AWS SDK for C++

AWS SDK for C++ Version 1.11.832

Loading...
Searching...
No Matches
RouteTransitOptions.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/RouteAccessibilityAttribute.h>
10#include <aws/geo-routes/model/RouteTransitMode.h>
11#include <aws/geo-routes/model/RouteTransitPedestrianOptions.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace GeoRoutes {
23namespace Model {
24
34 public:
35 AWS_GEOROUTES_API RouteTransitOptions() = default;
36 AWS_GEOROUTES_API RouteTransitOptions(Aws::Utils::Json::JsonView jsonValue);
38 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::Vector<RouteAccessibilityAttribute>& GetAccessibilityAttributes() const { return m_accessibilityAttributes; }
45 inline bool AccessibilityAttributesHasBeenSet() const { return m_accessibilityAttributesHasBeenSet; }
46 template <typename AccessibilityAttributesT = Aws::Vector<RouteAccessibilityAttribute>>
47 void SetAccessibilityAttributes(AccessibilityAttributesT&& value) {
48 m_accessibilityAttributesHasBeenSet = true;
49 m_accessibilityAttributes = std::forward<AccessibilityAttributesT>(value);
50 }
51 template <typename AccessibilityAttributesT = Aws::Vector<RouteAccessibilityAttribute>>
52 RouteTransitOptions& WithAccessibilityAttributes(AccessibilityAttributesT&& value) {
53 SetAccessibilityAttributes(std::forward<AccessibilityAttributesT>(value));
54 return *this;
55 }
57 m_accessibilityAttributesHasBeenSet = true;
58 m_accessibilityAttributes.push_back(value);
59 return *this;
60 }
62
64
69 inline const Aws::Vector<RouteTransitMode>& GetAllowedModes() const { return m_allowedModes; }
70 inline bool AllowedModesHasBeenSet() const { return m_allowedModesHasBeenSet; }
71 template <typename AllowedModesT = Aws::Vector<RouteTransitMode>>
72 void SetAllowedModes(AllowedModesT&& value) {
73 m_allowedModesHasBeenSet = true;
74 m_allowedModes = std::forward<AllowedModesT>(value);
75 }
76 template <typename AllowedModesT = Aws::Vector<RouteTransitMode>>
77 RouteTransitOptions& WithAllowedModes(AllowedModesT&& value) {
78 SetAllowedModes(std::forward<AllowedModesT>(value));
79 return *this;
80 }
82 m_allowedModesHasBeenSet = true;
83 m_allowedModes.push_back(value);
84 return *this;
85 }
87
89
94 inline const Aws::Vector<RouteTransitMode>& GetExcludedModes() const { return m_excludedModes; }
95 inline bool ExcludedModesHasBeenSet() const { return m_excludedModesHasBeenSet; }
96 template <typename ExcludedModesT = Aws::Vector<RouteTransitMode>>
97 void SetExcludedModes(ExcludedModesT&& value) {
98 m_excludedModesHasBeenSet = true;
99 m_excludedModes = std::forward<ExcludedModesT>(value);
100 }
101 template <typename ExcludedModesT = Aws::Vector<RouteTransitMode>>
102 RouteTransitOptions& WithExcludedModes(ExcludedModesT&& value) {
103 SetExcludedModes(std::forward<ExcludedModesT>(value));
104 return *this;
105 }
107 m_excludedModesHasBeenSet = true;
108 m_excludedModes.push_back(value);
109 return *this;
110 }
112
114
117 inline int GetMaxTransfers() const { return m_maxTransfers; }
118 inline bool MaxTransfersHasBeenSet() const { return m_maxTransfersHasBeenSet; }
119 inline void SetMaxTransfers(int value) {
120 m_maxTransfersHasBeenSet = true;
121 m_maxTransfers = value;
122 }
124 SetMaxTransfers(value);
125 return *this;
126 }
128
130
133 inline const RouteTransitPedestrianOptions& GetPedestrian() const { return m_pedestrian; }
134 inline bool PedestrianHasBeenSet() const { return m_pedestrianHasBeenSet; }
135 template <typename PedestrianT = RouteTransitPedestrianOptions>
136 void SetPedestrian(PedestrianT&& value) {
137 m_pedestrianHasBeenSet = true;
138 m_pedestrian = std::forward<PedestrianT>(value);
139 }
140 template <typename PedestrianT = RouteTransitPedestrianOptions>
141 RouteTransitOptions& WithPedestrian(PedestrianT&& value) {
142 SetPedestrian(std::forward<PedestrianT>(value));
143 return *this;
144 }
146 private:
147 Aws::Vector<RouteAccessibilityAttribute> m_accessibilityAttributes;
148
149 Aws::Vector<RouteTransitMode> m_allowedModes;
150
151 Aws::Vector<RouteTransitMode> m_excludedModes;
152
153 int m_maxTransfers{0};
154
155 RouteTransitPedestrianOptions m_pedestrian;
156 bool m_accessibilityAttributesHasBeenSet = false;
157 bool m_allowedModesHasBeenSet = false;
158 bool m_excludedModesHasBeenSet = false;
159 bool m_maxTransfersHasBeenSet = false;
160 bool m_pedestrianHasBeenSet = false;
161};
162
163} // namespace Model
164} // namespace GeoRoutes
165} // namespace Aws
RouteTransitOptions & AddExcludedModes(RouteTransitMode value)
const Aws::Vector< RouteTransitMode > & GetAllowedModes() const
RouteTransitOptions & WithAccessibilityAttributes(AccessibilityAttributesT &&value)
RouteTransitOptions & AddAccessibilityAttributes(RouteAccessibilityAttribute value)
RouteTransitOptions & AddAllowedModes(RouteTransitMode value)
RouteTransitOptions & WithExcludedModes(ExcludedModesT &&value)
RouteTransitOptions & WithAllowedModes(AllowedModesT &&value)
void SetAccessibilityAttributes(AccessibilityAttributesT &&value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
void SetExcludedModes(ExcludedModesT &&value)
const Aws::Vector< RouteTransitMode > & GetExcludedModes() const
RouteTransitOptions & WithPedestrian(PedestrianT &&value)
const RouteTransitPedestrianOptions & GetPedestrian() const
RouteTransitOptions & WithMaxTransfers(int value)
AWS_GEOROUTES_API RouteTransitOptions & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< RouteAccessibilityAttribute > & GetAccessibilityAttributes() const
AWS_GEOROUTES_API RouteTransitOptions()=default
AWS_GEOROUTES_API RouteTransitOptions(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue