AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
SegmentDimensions.h
1
6#pragma once
7#include <aws/pinpoint/Pinpoint_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/pinpoint/model/SegmentBehaviors.h>
10#include <aws/pinpoint/model/SegmentDemographics.h>
11#include <aws/pinpoint/model/SegmentLocation.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/pinpoint/model/AttributeDimension.h>
14#include <aws/pinpoint/model/MetricDimension.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace Pinpoint
28{
29namespace Model
30{
31
38 {
39 public:
40 AWS_PINPOINT_API SegmentDimensions() = default;
41 AWS_PINPOINT_API SegmentDimensions(Aws::Utils::Json::JsonView jsonValue);
43 AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::Map<Aws::String, AttributeDimension>& GetAttributes() const { return m_attributes; }
51 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
52 template<typename AttributesT = Aws::Map<Aws::String, AttributeDimension>>
53 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
54 template<typename AttributesT = Aws::Map<Aws::String, AttributeDimension>>
55 SegmentDimensions& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
56 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = AttributeDimension>
57 SegmentDimensions& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
58 m_attributesHasBeenSet = true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value)); return *this;
59 }
61
63
67 inline const SegmentBehaviors& GetBehavior() const { return m_behavior; }
68 inline bool BehaviorHasBeenSet() const { return m_behaviorHasBeenSet; }
69 template<typename BehaviorT = SegmentBehaviors>
70 void SetBehavior(BehaviorT&& value) { m_behaviorHasBeenSet = true; m_behavior = std::forward<BehaviorT>(value); }
71 template<typename BehaviorT = SegmentBehaviors>
72 SegmentDimensions& WithBehavior(BehaviorT&& value) { SetBehavior(std::forward<BehaviorT>(value)); return *this;}
74
76
79 inline const SegmentDemographics& GetDemographic() const { return m_demographic; }
80 inline bool DemographicHasBeenSet() const { return m_demographicHasBeenSet; }
81 template<typename DemographicT = SegmentDemographics>
82 void SetDemographic(DemographicT&& value) { m_demographicHasBeenSet = true; m_demographic = std::forward<DemographicT>(value); }
83 template<typename DemographicT = SegmentDemographics>
84 SegmentDimensions& WithDemographic(DemographicT&& value) { SetDemographic(std::forward<DemographicT>(value)); return *this;}
86
88
92 inline const SegmentLocation& GetLocation() const { return m_location; }
93 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
94 template<typename LocationT = SegmentLocation>
95 void SetLocation(LocationT&& value) { m_locationHasBeenSet = true; m_location = std::forward<LocationT>(value); }
96 template<typename LocationT = SegmentLocation>
97 SegmentDimensions& WithLocation(LocationT&& value) { SetLocation(std::forward<LocationT>(value)); return *this;}
99
101
104 inline const Aws::Map<Aws::String, MetricDimension>& GetMetrics() const { return m_metrics; }
105 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
106 template<typename MetricsT = Aws::Map<Aws::String, MetricDimension>>
107 void SetMetrics(MetricsT&& value) { m_metricsHasBeenSet = true; m_metrics = std::forward<MetricsT>(value); }
108 template<typename MetricsT = Aws::Map<Aws::String, MetricDimension>>
109 SegmentDimensions& WithMetrics(MetricsT&& value) { SetMetrics(std::forward<MetricsT>(value)); return *this;}
110 template<typename MetricsKeyT = Aws::String, typename MetricsValueT = MetricDimension>
111 SegmentDimensions& AddMetrics(MetricsKeyT&& key, MetricsValueT&& value) {
112 m_metricsHasBeenSet = true; m_metrics.emplace(std::forward<MetricsKeyT>(key), std::forward<MetricsValueT>(value)); return *this;
113 }
115
117
120 inline const Aws::Map<Aws::String, AttributeDimension>& GetUserAttributes() const { return m_userAttributes; }
121 inline bool UserAttributesHasBeenSet() const { return m_userAttributesHasBeenSet; }
122 template<typename UserAttributesT = Aws::Map<Aws::String, AttributeDimension>>
123 void SetUserAttributes(UserAttributesT&& value) { m_userAttributesHasBeenSet = true; m_userAttributes = std::forward<UserAttributesT>(value); }
124 template<typename UserAttributesT = Aws::Map<Aws::String, AttributeDimension>>
125 SegmentDimensions& WithUserAttributes(UserAttributesT&& value) { SetUserAttributes(std::forward<UserAttributesT>(value)); return *this;}
126 template<typename UserAttributesKeyT = Aws::String, typename UserAttributesValueT = AttributeDimension>
127 SegmentDimensions& AddUserAttributes(UserAttributesKeyT&& key, UserAttributesValueT&& value) {
128 m_userAttributesHasBeenSet = true; m_userAttributes.emplace(std::forward<UserAttributesKeyT>(key), std::forward<UserAttributesValueT>(value)); return *this;
129 }
131 private:
132
134 bool m_attributesHasBeenSet = false;
135
136 SegmentBehaviors m_behavior;
137 bool m_behaviorHasBeenSet = false;
138
139 SegmentDemographics m_demographic;
140 bool m_demographicHasBeenSet = false;
141
142 SegmentLocation m_location;
143 bool m_locationHasBeenSet = false;
144
146 bool m_metricsHasBeenSet = false;
147
149 bool m_userAttributesHasBeenSet = false;
150 };
151
152} // namespace Model
153} // namespace Pinpoint
154} // namespace Aws
AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const
SegmentDimensions & WithMetrics(MetricsT &&value)
SegmentDimensions & WithLocation(LocationT &&value)
AWS_PINPOINT_API SegmentDimensions()=default
SegmentDimensions & AddUserAttributes(UserAttributesKeyT &&key, UserAttributesValueT &&value)
SegmentDimensions & WithAttributes(AttributesT &&value)
SegmentDimensions & WithDemographic(DemographicT &&value)
const Aws::Map< Aws::String, AttributeDimension > & GetUserAttributes() const
const Aws::Map< Aws::String, AttributeDimension > & GetAttributes() const
void SetDemographic(DemographicT &&value)
SegmentDimensions & WithBehavior(BehaviorT &&value)
AWS_PINPOINT_API SegmentDimensions(Aws::Utils::Json::JsonView jsonValue)
SegmentDimensions & AddMetrics(MetricsKeyT &&key, MetricsValueT &&value)
const SegmentDemographics & GetDemographic() const
SegmentDimensions & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
const SegmentBehaviors & GetBehavior() const
SegmentDimensions & WithUserAttributes(UserAttributesT &&value)
const SegmentLocation & GetLocation() const
void SetUserAttributes(UserAttributesT &&value)
AWS_PINPOINT_API SegmentDimensions & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, MetricDimension > & GetMetrics() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue