AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
Route.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/RouteLeg.h>
10#include <aws/geo-routes/model/RouteMajorRoadLabel.h>
11#include <aws/geo-routes/model/RouteSummary.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
30class Route {
31 public:
32 AWS_GEOROUTES_API Route() = default;
33 AWS_GEOROUTES_API Route(Aws::Utils::Json::JsonView jsonValue);
34 AWS_GEOROUTES_API Route& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
45 inline const Aws::Vector<RouteLeg>& GetLegs() const { return m_legs; }
46 inline bool LegsHasBeenSet() const { return m_legsHasBeenSet; }
47 template <typename LegsT = Aws::Vector<RouteLeg>>
48 void SetLegs(LegsT&& value) {
49 m_legsHasBeenSet = true;
50 m_legs = std::forward<LegsT>(value);
51 }
52 template <typename LegsT = Aws::Vector<RouteLeg>>
53 Route& WithLegs(LegsT&& value) {
54 SetLegs(std::forward<LegsT>(value));
55 return *this;
56 }
57 template <typename LegsT = RouteLeg>
58 Route& AddLegs(LegsT&& value) {
59 m_legsHasBeenSet = true;
60 m_legs.emplace_back(std::forward<LegsT>(value));
61 return *this;
62 }
64
66
70 inline const Aws::Vector<RouteMajorRoadLabel>& GetMajorRoadLabels() const { return m_majorRoadLabels; }
71 inline bool MajorRoadLabelsHasBeenSet() const { return m_majorRoadLabelsHasBeenSet; }
72 template <typename MajorRoadLabelsT = Aws::Vector<RouteMajorRoadLabel>>
73 void SetMajorRoadLabels(MajorRoadLabelsT&& value) {
74 m_majorRoadLabelsHasBeenSet = true;
75 m_majorRoadLabels = std::forward<MajorRoadLabelsT>(value);
76 }
77 template <typename MajorRoadLabelsT = Aws::Vector<RouteMajorRoadLabel>>
78 Route& WithMajorRoadLabels(MajorRoadLabelsT&& value) {
79 SetMajorRoadLabels(std::forward<MajorRoadLabelsT>(value));
80 return *this;
81 }
82 template <typename MajorRoadLabelsT = RouteMajorRoadLabel>
83 Route& AddMajorRoadLabels(MajorRoadLabelsT&& value) {
84 m_majorRoadLabelsHasBeenSet = true;
85 m_majorRoadLabels.emplace_back(std::forward<MajorRoadLabelsT>(value));
86 return *this;
87 }
89
91
94 inline const RouteSummary& GetSummary() const { return m_summary; }
95 inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; }
96 template <typename SummaryT = RouteSummary>
97 void SetSummary(SummaryT&& value) {
98 m_summaryHasBeenSet = true;
99 m_summary = std::forward<SummaryT>(value);
100 }
101 template <typename SummaryT = RouteSummary>
102 Route& WithSummary(SummaryT&& value) {
103 SetSummary(std::forward<SummaryT>(value));
104 return *this;
105 }
107 private:
109
110 Aws::Vector<RouteMajorRoadLabel> m_majorRoadLabels;
111
112 RouteSummary m_summary;
113 bool m_legsHasBeenSet = false;
114 bool m_majorRoadLabelsHasBeenSet = false;
115 bool m_summaryHasBeenSet = false;
116};
117
118} // namespace Model
119} // namespace GeoRoutes
120} // namespace Aws
Route & AddLegs(LegsT &&value)
Definition Route.h:58
Route & AddMajorRoadLabels(MajorRoadLabelsT &&value)
Definition Route.h:83
AWS_GEOROUTES_API Route()=default
Route & WithLegs(LegsT &&value)
Definition Route.h:53
const Aws::Vector< RouteMajorRoadLabel > & GetMajorRoadLabels() const
Definition Route.h:70
bool MajorRoadLabelsHasBeenSet() const
Definition Route.h:71
Route & WithMajorRoadLabels(MajorRoadLabelsT &&value)
Definition Route.h:78
const Aws::Vector< RouteLeg > & GetLegs() const
Definition Route.h:45
bool LegsHasBeenSet() const
Definition Route.h:46
void SetSummary(SummaryT &&value)
Definition Route.h:97
void SetMajorRoadLabels(MajorRoadLabelsT &&value)
Definition Route.h:73
AWS_GEOROUTES_API Route(Aws::Utils::Json::JsonView jsonValue)
Route & WithSummary(SummaryT &&value)
Definition Route.h:102
AWS_GEOROUTES_API Route & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
bool SummaryHasBeenSet() const
Definition Route.h:95
const RouteSummary & GetSummary() const
Definition Route.h:94
void SetLegs(LegsT &&value)
Definition Route.h:48
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue