AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Slot.h
1
6#pragma once
7#include <aws/lexv2-runtime/LexRuntimeV2_EXPORTS.h>
8#include <aws/lexv2-runtime/model/Value.h>
9#include <aws/lexv2-runtime/model/Shape.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/core/utils/memory/stl/AWSString.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 LexRuntimeV2
26{
27namespace Model
28{
29
36 class Slot
37 {
38 public:
39 AWS_LEXRUNTIMEV2_API Slot() = default;
40 AWS_LEXRUNTIMEV2_API Slot(Aws::Utils::Json::JsonView jsonValue);
41 AWS_LEXRUNTIMEV2_API Slot& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const Value& GetValue() const { return m_value; }
50 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
51 template<typename ValueT = Value>
52 void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward<ValueT>(value); }
53 template<typename ValueT = Value>
54 Slot& WithValue(ValueT&& value) { SetValue(std::forward<ValueT>(value)); return *this;}
56
58
64 inline Shape GetShape() const { return m_shape; }
65 inline bool ShapeHasBeenSet() const { return m_shapeHasBeenSet; }
66 inline void SetShape(Shape value) { m_shapeHasBeenSet = true; m_shape = value; }
67 inline Slot& WithShape(Shape value) { SetShape(value); return *this;}
69
71
76 inline const Aws::Vector<Slot>& GetValues() const { return m_values; }
77 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
78 template<typename ValuesT = Aws::Vector<Slot>>
79 void SetValues(ValuesT&& value) { m_valuesHasBeenSet = true; m_values = std::forward<ValuesT>(value); }
80 template<typename ValuesT = Aws::Vector<Slot>>
81 Slot& WithValues(ValuesT&& value) { SetValues(std::forward<ValuesT>(value)); return *this;}
82 template<typename ValuesT = Slot>
83 Slot& AddValues(ValuesT&& value) { m_valuesHasBeenSet = true; m_values.emplace_back(std::forward<ValuesT>(value)); return *this; }
85
87
90 inline const Aws::Map<Aws::String, Slot>& GetSubSlots() const { return m_subSlots; }
91 inline bool SubSlotsHasBeenSet() const { return m_subSlotsHasBeenSet; }
92 template<typename SubSlotsT = Aws::Map<Aws::String, Slot>>
93 void SetSubSlots(SubSlotsT&& value) { m_subSlotsHasBeenSet = true; m_subSlots = std::forward<SubSlotsT>(value); }
94 template<typename SubSlotsT = Aws::Map<Aws::String, Slot>>
95 Slot& WithSubSlots(SubSlotsT&& value) { SetSubSlots(std::forward<SubSlotsT>(value)); return *this;}
96 template<typename SubSlotsKeyT = Aws::String, typename SubSlotsValueT = Slot>
97 Slot& AddSubSlots(SubSlotsKeyT&& key, SubSlotsValueT&& value) {
98 m_subSlotsHasBeenSet = true; m_subSlots.emplace(std::forward<SubSlotsKeyT>(key), std::forward<SubSlotsValueT>(value)); return *this;
99 }
101 private:
102
103 Value m_value;
104 bool m_valueHasBeenSet = false;
105
106 Shape m_shape{Shape::NOT_SET};
107 bool m_shapeHasBeenSet = false;
108
109 Aws::Vector<Slot> m_values;
110 bool m_valuesHasBeenSet = false;
111
113 bool m_subSlotsHasBeenSet = false;
114 };
115
116} // namespace Model
117} // namespace LexRuntimeV2
118} // namespace Aws
bool SubSlotsHasBeenSet() const
Definition Slot.h:91
Slot & WithValue(ValueT &&value)
Definition Slot.h:54
const Value & GetValue() const
Definition Slot.h:49
AWS_LEXRUNTIMEV2_API Slot & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetValues(ValuesT &&value)
Definition Slot.h:79
AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const
bool ShapeHasBeenSet() const
Definition Slot.h:65
void SetShape(Shape value)
Definition Slot.h:66
const Aws::Vector< Slot > & GetValues() const
Definition Slot.h:76
Slot & AddSubSlots(SubSlotsKeyT &&key, SubSlotsValueT &&value)
Definition Slot.h:97
bool ValueHasBeenSet() const
Definition Slot.h:50
Slot & WithValues(ValuesT &&value)
Definition Slot.h:81
Shape GetShape() const
Definition Slot.h:64
AWS_LEXRUNTIMEV2_API Slot(Aws::Utils::Json::JsonView jsonValue)
bool ValuesHasBeenSet() const
Definition Slot.h:77
void SetSubSlots(SubSlotsT &&value)
Definition Slot.h:93
Slot & WithSubSlots(SubSlotsT &&value)
Definition Slot.h:95
void SetValue(ValueT &&value)
Definition Slot.h:52
Slot & AddValues(ValuesT &&value)
Definition Slot.h:83
AWS_LEXRUNTIMEV2_API Slot()=default
const Aws::Map< Aws::String, Slot > & GetSubSlots() const
Definition Slot.h:90
Slot & WithShape(Shape value)
Definition Slot.h:67
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue