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>
39 AWS_LEXRUNTIMEV2_API
Slot() =
default;
51 template<
typename ValueT = Value>
52 void SetValue(ValueT&& value) { m_valueHasBeenSet =
true; m_value = std::forward<ValueT>(value); }
53 template<
typename ValueT = Value>
66 inline void SetShape(
Shape value) { m_shapeHasBeenSet =
true; m_shape = value; }
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>>
82 template<
typename ValuesT = Slot>
83 Slot&
AddValues(ValuesT&& value) { m_valuesHasBeenSet =
true; m_values.emplace_back(std::forward<ValuesT>(value));
return *
this; }
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>>
96 template<
typename SubSlotsKeyT = Aws::String,
typename SubSlotsValueT = Slot>
98 m_subSlotsHasBeenSet =
true; m_subSlots.emplace(std::forward<SubSlotsKeyT>(key), std::forward<SubSlotsValueT>(value));
return *
this;
104 bool m_valueHasBeenSet =
false;
107 bool m_shapeHasBeenSet =
false;
110 bool m_valuesHasBeenSet =
false;
113 bool m_subSlotsHasBeenSet =
false;
bool SubSlotsHasBeenSet() const
Slot & WithValue(ValueT &&value)
const Value & GetValue() const
AWS_LEXRUNTIMEV2_API Slot & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetValues(ValuesT &&value)
AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const
bool ShapeHasBeenSet() const
void SetShape(Shape value)
const Aws::Vector< Slot > & GetValues() const
Slot & AddSubSlots(SubSlotsKeyT &&key, SubSlotsValueT &&value)
bool ValueHasBeenSet() const
Slot & WithValues(ValuesT &&value)
AWS_LEXRUNTIMEV2_API Slot(Aws::Utils::Json::JsonView jsonValue)
bool ValuesHasBeenSet() const
void SetSubSlots(SubSlotsT &&value)
Slot & WithSubSlots(SubSlotsT &&value)
void SetValue(ValueT &&value)
Slot & AddValues(ValuesT &&value)
AWS_LEXRUNTIMEV2_API Slot()=default
const Aws::Map< Aws::String, Slot > & GetSubSlots() const
Slot & WithShape(Shape value)
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