AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
SegmentGroup.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/pinpoint/Pinpoint_EXPORTS.h>
9#include <aws/pinpoint/model/SegmentDimensions.h>
10#include <aws/pinpoint/model/SegmentReference.h>
11#include <aws/pinpoint/model/SourceType.h>
12#include <aws/pinpoint/model/Type.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Pinpoint {
24namespace Model {
25
34 public:
35 AWS_PINPOINT_API SegmentGroup() = default;
36 AWS_PINPOINT_API SegmentGroup(Aws::Utils::Json::JsonView jsonValue);
38 AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::Vector<SegmentDimensions>& GetDimensions() const { return m_dimensions; }
45 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
46 template <typename DimensionsT = Aws::Vector<SegmentDimensions>>
47 void SetDimensions(DimensionsT&& value) {
48 m_dimensionsHasBeenSet = true;
49 m_dimensions = std::forward<DimensionsT>(value);
50 }
51 template <typename DimensionsT = Aws::Vector<SegmentDimensions>>
52 SegmentGroup& WithDimensions(DimensionsT&& value) {
53 SetDimensions(std::forward<DimensionsT>(value));
54 return *this;
55 }
56 template <typename DimensionsT = SegmentDimensions>
57 SegmentGroup& AddDimensions(DimensionsT&& value) {
58 m_dimensionsHasBeenSet = true;
59 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
60 return *this;
61 }
63
65
75 inline const Aws::Vector<SegmentReference>& GetSourceSegments() const { return m_sourceSegments; }
76 inline bool SourceSegmentsHasBeenSet() const { return m_sourceSegmentsHasBeenSet; }
77 template <typename SourceSegmentsT = Aws::Vector<SegmentReference>>
78 void SetSourceSegments(SourceSegmentsT&& value) {
79 m_sourceSegmentsHasBeenSet = true;
80 m_sourceSegments = std::forward<SourceSegmentsT>(value);
81 }
82 template <typename SourceSegmentsT = Aws::Vector<SegmentReference>>
83 SegmentGroup& WithSourceSegments(SourceSegmentsT&& value) {
84 SetSourceSegments(std::forward<SourceSegmentsT>(value));
85 return *this;
86 }
87 template <typename SourceSegmentsT = SegmentReference>
88 SegmentGroup& AddSourceSegments(SourceSegmentsT&& value) {
89 m_sourceSegmentsHasBeenSet = true;
90 m_sourceSegments.emplace_back(std::forward<SourceSegmentsT>(value));
91 return *this;
92 }
94
96
101 inline SourceType GetSourceType() const { return m_sourceType; }
102 inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; }
103 inline void SetSourceType(SourceType value) {
104 m_sourceTypeHasBeenSet = true;
105 m_sourceType = value;
106 }
108 SetSourceType(value);
109 return *this;
110 }
112
114
119 inline Type GetType() const { return m_type; }
120 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
121 inline void SetType(Type value) {
122 m_typeHasBeenSet = true;
123 m_type = value;
124 }
125 inline SegmentGroup& WithType(Type value) {
126 SetType(value);
127 return *this;
128 }
130 private:
132
133 Aws::Vector<SegmentReference> m_sourceSegments;
134
135 SourceType m_sourceType{SourceType::NOT_SET};
136
137 Type m_type{Type::NOT_SET};
138 bool m_dimensionsHasBeenSet = false;
139 bool m_sourceSegmentsHasBeenSet = false;
140 bool m_sourceTypeHasBeenSet = false;
141 bool m_typeHasBeenSet = false;
142};
143
144} // namespace Model
145} // namespace Pinpoint
146} // namespace Aws
const Aws::Vector< SegmentReference > & GetSourceSegments() const
void SetSourceSegments(SourceSegmentsT &&value)
SegmentGroup & AddSourceSegments(SourceSegmentsT &&value)
SegmentGroup & WithSourceSegments(SourceSegmentsT &&value)
SegmentGroup & WithSourceType(SourceType value)
void SetDimensions(DimensionsT &&value)
SegmentGroup & WithDimensions(DimensionsT &&value)
AWS_PINPOINT_API SegmentGroup(Aws::Utils::Json::JsonView jsonValue)
AWS_PINPOINT_API SegmentGroup()=default
AWS_PINPOINT_API SegmentGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< SegmentDimensions > & GetDimensions() const
SegmentGroup & WithType(Type value)
SegmentGroup & AddDimensions(DimensionsT &&value)
AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSourceType(SourceType value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue