AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
SegmentGroup.h
1
6#pragma once
7#include <aws/pinpoint/Pinpoint_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/pinpoint/model/SourceType.h>
10#include <aws/pinpoint/model/Type.h>
11#include <aws/pinpoint/model/SegmentDimensions.h>
12#include <aws/pinpoint/model/SegmentReference.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Pinpoint
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_PINPOINT_API SegmentGroup() = default;
41 AWS_PINPOINT_API SegmentGroup(Aws::Utils::Json::JsonView jsonValue);
43 AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::Vector<SegmentDimensions>& GetDimensions() const { return m_dimensions; }
51 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
52 template<typename DimensionsT = Aws::Vector<SegmentDimensions>>
53 void SetDimensions(DimensionsT&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::forward<DimensionsT>(value); }
54 template<typename DimensionsT = Aws::Vector<SegmentDimensions>>
55 SegmentGroup& WithDimensions(DimensionsT&& value) { SetDimensions(std::forward<DimensionsT>(value)); return *this;}
56 template<typename DimensionsT = SegmentDimensions>
57 SegmentGroup& AddDimensions(DimensionsT&& value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace_back(std::forward<DimensionsT>(value)); return *this; }
59
61
71 inline const Aws::Vector<SegmentReference>& GetSourceSegments() const { return m_sourceSegments; }
72 inline bool SourceSegmentsHasBeenSet() const { return m_sourceSegmentsHasBeenSet; }
73 template<typename SourceSegmentsT = Aws::Vector<SegmentReference>>
74 void SetSourceSegments(SourceSegmentsT&& value) { m_sourceSegmentsHasBeenSet = true; m_sourceSegments = std::forward<SourceSegmentsT>(value); }
75 template<typename SourceSegmentsT = Aws::Vector<SegmentReference>>
76 SegmentGroup& WithSourceSegments(SourceSegmentsT&& value) { SetSourceSegments(std::forward<SourceSegmentsT>(value)); return *this;}
77 template<typename SourceSegmentsT = SegmentReference>
78 SegmentGroup& AddSourceSegments(SourceSegmentsT&& value) { m_sourceSegmentsHasBeenSet = true; m_sourceSegments.emplace_back(std::forward<SourceSegmentsT>(value)); return *this; }
80
82
87 inline SourceType GetSourceType() const { return m_sourceType; }
88 inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; }
89 inline void SetSourceType(SourceType value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; }
90 inline SegmentGroup& WithSourceType(SourceType value) { SetSourceType(value); return *this;}
92
94
99 inline Type GetType() const { return m_type; }
100 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
101 inline void SetType(Type value) { m_typeHasBeenSet = true; m_type = value; }
102 inline SegmentGroup& WithType(Type value) { SetType(value); return *this;}
104 private:
105
107 bool m_dimensionsHasBeenSet = false;
108
109 Aws::Vector<SegmentReference> m_sourceSegments;
110 bool m_sourceSegmentsHasBeenSet = false;
111
112 SourceType m_sourceType{SourceType::NOT_SET};
113 bool m_sourceTypeHasBeenSet = false;
114
115 Type m_type{Type::NOT_SET};
116 bool m_typeHasBeenSet = false;
117 };
118
119} // namespace Model
120} // namespace Pinpoint
121} // 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