AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
SlotValueOverride.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/lexv2-models/LexModelsV2_EXPORTS.h>
9#include <aws/lexv2-models/model/SlotShape.h>
10#include <aws/lexv2-models/model/SlotValue.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace LexModelsV2 {
22namespace Model {
23
31 public:
32 AWS_LEXMODELSV2_API SlotValueOverride() = default;
33 AWS_LEXMODELSV2_API SlotValueOverride(Aws::Utils::Json::JsonView jsonValue);
35 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
44 inline SlotShape GetShape() const { return m_shape; }
45 inline bool ShapeHasBeenSet() const { return m_shapeHasBeenSet; }
46 inline void SetShape(SlotShape value) {
47 m_shapeHasBeenSet = true;
48 m_shape = value;
49 }
51 SetShape(value);
52 return *this;
53 }
55
57
60 inline const SlotValue& GetValue() const { return m_value; }
61 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
62 template <typename ValueT = SlotValue>
63 void SetValue(ValueT&& value) {
64 m_valueHasBeenSet = true;
65 m_value = std::forward<ValueT>(value);
66 }
67 template <typename ValueT = SlotValue>
68 SlotValueOverride& WithValue(ValueT&& value) {
69 SetValue(std::forward<ValueT>(value));
70 return *this;
71 }
73
75
80 inline const Aws::Vector<SlotValueOverride>& GetValues() const { return m_values; }
81 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
82 template <typename ValuesT = Aws::Vector<SlotValueOverride>>
83 void SetValues(ValuesT&& value) {
84 m_valuesHasBeenSet = true;
85 m_values = std::forward<ValuesT>(value);
86 }
87 template <typename ValuesT = Aws::Vector<SlotValueOverride>>
88 SlotValueOverride& WithValues(ValuesT&& value) {
89 SetValues(std::forward<ValuesT>(value));
90 return *this;
91 }
92 template <typename ValuesT = SlotValueOverride>
93 SlotValueOverride& AddValues(ValuesT&& value) {
94 m_valuesHasBeenSet = true;
95 m_values.emplace_back(std::forward<ValuesT>(value));
96 return *this;
97 }
99 private:
101
102 SlotValue m_value;
103
105 bool m_shapeHasBeenSet = false;
106 bool m_valueHasBeenSet = false;
107 bool m_valuesHasBeenSet = false;
108};
109
110} // namespace Model
111} // namespace LexModelsV2
112} // namespace Aws
const Aws::Vector< SlotValueOverride > & GetValues() const
SlotValueOverride & WithValue(ValueT &&value)
AWS_LEXMODELSV2_API SlotValueOverride()=default
SlotValueOverride & WithValues(ValuesT &&value)
SlotValueOverride & WithShape(SlotShape value)
AWS_LEXMODELSV2_API SlotValueOverride(Aws::Utils::Json::JsonView jsonValue)
SlotValueOverride & AddValues(ValuesT &&value)
AWS_LEXMODELSV2_API SlotValueOverride & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue