AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
GeofenceGeometry.h
1
6#pragma once
7#include <aws/core/utils/Array.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/location/LocationService_EXPORTS.h>
10#include <aws/location/model/Circle.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace LocationService {
22namespace Model {
23
36 public:
37 AWS_LOCATIONSERVICE_API GeofenceGeometry() = default;
38 AWS_LOCATIONSERVICE_API GeofenceGeometry(Aws::Utils::Json::JsonView jsonValue);
39 AWS_LOCATIONSERVICE_API GeofenceGeometry& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
69 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
70 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
71 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
72 void SetPolygon(PolygonT&& value) {
73 m_polygonHasBeenSet = true;
74 m_polygon = std::forward<PolygonT>(value);
75 }
76 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
77 GeofenceGeometry& WithPolygon(PolygonT&& value) {
78 SetPolygon(std::forward<PolygonT>(value));
79 return *this;
80 }
81 template <typename PolygonT = Aws::Vector<Aws::Vector<double>>>
82 GeofenceGeometry& AddPolygon(PolygonT&& value) {
83 m_polygonHasBeenSet = true;
84 m_polygon.emplace_back(std::forward<PolygonT>(value));
85 return *this;
86 }
88
90
93 inline const Circle& GetCircle() const { return m_circle; }
94 inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; }
95 template <typename CircleT = Circle>
96 void SetCircle(CircleT&& value) {
97 m_circleHasBeenSet = true;
98 m_circle = std::forward<CircleT>(value);
99 }
100 template <typename CircleT = Circle>
101 GeofenceGeometry& WithCircle(CircleT&& value) {
102 SetCircle(std::forward<CircleT>(value));
103 return *this;
104 }
106
108
127 inline const Aws::Utils::CryptoBuffer& GetGeobuf() const { return m_geobuf; }
128 inline bool GeobufHasBeenSet() const { return m_geobufHasBeenSet; }
129 template <typename GeobufT = Aws::Utils::CryptoBuffer>
130 void SetGeobuf(GeobufT&& value) {
131 m_geobufHasBeenSet = true;
132 m_geobuf = std::forward<GeobufT>(value);
133 }
134 template <typename GeobufT = Aws::Utils::CryptoBuffer>
135 GeofenceGeometry& WithGeobuf(GeobufT&& value) {
136 SetGeobuf(std::forward<GeobufT>(value));
137 return *this;
138 }
140
142
164 inline const Aws::Vector<Aws::Vector<Aws::Vector<Aws::Vector<double>>>>& GetMultiPolygon() const { return m_multiPolygon; }
165 inline bool MultiPolygonHasBeenSet() const { return m_multiPolygonHasBeenSet; }
166 template <typename MultiPolygonT = Aws::Vector<Aws::Vector<Aws::Vector<Aws::Vector<double>>>>>
167 void SetMultiPolygon(MultiPolygonT&& value) {
168 m_multiPolygonHasBeenSet = true;
169 m_multiPolygon = std::forward<MultiPolygonT>(value);
170 }
171 template <typename MultiPolygonT = Aws::Vector<Aws::Vector<Aws::Vector<Aws::Vector<double>>>>>
172 GeofenceGeometry& WithMultiPolygon(MultiPolygonT&& value) {
173 SetMultiPolygon(std::forward<MultiPolygonT>(value));
174 return *this;
175 }
176 template <typename MultiPolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
177 GeofenceGeometry& AddMultiPolygon(MultiPolygonT&& value) {
178 m_multiPolygonHasBeenSet = true;
179 m_multiPolygon.emplace_back(std::forward<MultiPolygonT>(value));
180 return *this;
181 }
183 private:
185
186 Circle m_circle;
187
188 Aws::Utils::CryptoBuffer m_geobuf{};
189
191 bool m_polygonHasBeenSet = false;
192 bool m_circleHasBeenSet = false;
193 bool m_geobufHasBeenSet = false;
194 bool m_multiPolygonHasBeenSet = false;
195};
196
197} // namespace Model
198} // namespace LocationService
199} // namespace Aws
GeofenceGeometry & WithGeobuf(GeobufT &&value)
GeofenceGeometry & AddPolygon(PolygonT &&value)
AWS_LOCATIONSERVICE_API GeofenceGeometry & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API GeofenceGeometry(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API GeofenceGeometry()=default
const Aws::Utils::CryptoBuffer & GetGeobuf() const
GeofenceGeometry & WithCircle(CircleT &&value)
const Aws::Vector< Aws::Vector< Aws::Vector< double > > > & GetPolygon() const
GeofenceGeometry & WithPolygon(PolygonT &&value)
const Aws::Vector< Aws::Vector< Aws::Vector< Aws::Vector< double > > > > & GetMultiPolygon() const
GeofenceGeometry & WithMultiPolygon(MultiPolygonT &&value)
GeofenceGeometry & AddMultiPolygon(MultiPolygonT &&value)
AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue