AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ChunkingConfiguration.h
1
6#pragma once
7#include <aws/qconnect/QConnect_EXPORTS.h>
8#include <aws/qconnect/model/ChunkingStrategy.h>
9#include <aws/qconnect/model/FixedSizeChunkingConfiguration.h>
10#include <aws/qconnect/model/HierarchicalChunkingConfiguration.h>
11#include <aws/qconnect/model/SemanticChunkingConfiguration.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace QConnect {
23namespace Model {
24
33 public:
34 AWS_QCONNECT_API ChunkingConfiguration() = default;
37 AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
47 inline ChunkingStrategy GetChunkingStrategy() const { return m_chunkingStrategy; }
48 inline bool ChunkingStrategyHasBeenSet() const { return m_chunkingStrategyHasBeenSet; }
50 m_chunkingStrategyHasBeenSet = true;
51 m_chunkingStrategy = value;
52 }
55 return *this;
56 }
58
60
64 inline const FixedSizeChunkingConfiguration& GetFixedSizeChunkingConfiguration() const { return m_fixedSizeChunkingConfiguration; }
65 inline bool FixedSizeChunkingConfigurationHasBeenSet() const { return m_fixedSizeChunkingConfigurationHasBeenSet; }
66 template <typename FixedSizeChunkingConfigurationT = FixedSizeChunkingConfiguration>
67 void SetFixedSizeChunkingConfiguration(FixedSizeChunkingConfigurationT&& value) {
68 m_fixedSizeChunkingConfigurationHasBeenSet = true;
69 m_fixedSizeChunkingConfiguration = std::forward<FixedSizeChunkingConfigurationT>(value);
70 }
71 template <typename FixedSizeChunkingConfigurationT = FixedSizeChunkingConfiguration>
72 ChunkingConfiguration& WithFixedSizeChunkingConfiguration(FixedSizeChunkingConfigurationT&& value) {
73 SetFixedSizeChunkingConfiguration(std::forward<FixedSizeChunkingConfigurationT>(value));
74 return *this;
75 }
77
79
86 return m_hierarchicalChunkingConfiguration;
87 }
88 inline bool HierarchicalChunkingConfigurationHasBeenSet() const { return m_hierarchicalChunkingConfigurationHasBeenSet; }
89 template <typename HierarchicalChunkingConfigurationT = HierarchicalChunkingConfiguration>
90 void SetHierarchicalChunkingConfiguration(HierarchicalChunkingConfigurationT&& value) {
91 m_hierarchicalChunkingConfigurationHasBeenSet = true;
92 m_hierarchicalChunkingConfiguration = std::forward<HierarchicalChunkingConfigurationT>(value);
93 }
94 template <typename HierarchicalChunkingConfigurationT = HierarchicalChunkingConfiguration>
95 ChunkingConfiguration& WithHierarchicalChunkingConfiguration(HierarchicalChunkingConfigurationT&& value) {
96 SetHierarchicalChunkingConfiguration(std::forward<HierarchicalChunkingConfigurationT>(value));
97 return *this;
98 }
100
102
107 inline const SemanticChunkingConfiguration& GetSemanticChunkingConfiguration() const { return m_semanticChunkingConfiguration; }
108 inline bool SemanticChunkingConfigurationHasBeenSet() const { return m_semanticChunkingConfigurationHasBeenSet; }
109 template <typename SemanticChunkingConfigurationT = SemanticChunkingConfiguration>
110 void SetSemanticChunkingConfiguration(SemanticChunkingConfigurationT&& value) {
111 m_semanticChunkingConfigurationHasBeenSet = true;
112 m_semanticChunkingConfiguration = std::forward<SemanticChunkingConfigurationT>(value);
113 }
114 template <typename SemanticChunkingConfigurationT = SemanticChunkingConfiguration>
115 ChunkingConfiguration& WithSemanticChunkingConfiguration(SemanticChunkingConfigurationT&& value) {
116 SetSemanticChunkingConfiguration(std::forward<SemanticChunkingConfigurationT>(value));
117 return *this;
118 }
120 private:
122
123 FixedSizeChunkingConfiguration m_fixedSizeChunkingConfiguration;
124
125 HierarchicalChunkingConfiguration m_hierarchicalChunkingConfiguration;
126
127 SemanticChunkingConfiguration m_semanticChunkingConfiguration;
128 bool m_chunkingStrategyHasBeenSet = false;
129 bool m_fixedSizeChunkingConfigurationHasBeenSet = false;
130 bool m_hierarchicalChunkingConfigurationHasBeenSet = false;
131 bool m_semanticChunkingConfigurationHasBeenSet = false;
132};
133
134} // namespace Model
135} // namespace QConnect
136} // namespace Aws
ChunkingConfiguration & WithChunkingStrategy(ChunkingStrategy value)
AWS_QCONNECT_API ChunkingConfiguration()=default
const FixedSizeChunkingConfiguration & GetFixedSizeChunkingConfiguration() const
void SetFixedSizeChunkingConfiguration(FixedSizeChunkingConfigurationT &&value)
AWS_QCONNECT_API ChunkingConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const HierarchicalChunkingConfiguration & GetHierarchicalChunkingConfiguration() const
AWS_QCONNECT_API ChunkingConfiguration(Aws::Utils::Json::JsonView jsonValue)
void SetSemanticChunkingConfiguration(SemanticChunkingConfigurationT &&value)
const SemanticChunkingConfiguration & GetSemanticChunkingConfiguration() const
AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
ChunkingConfiguration & WithHierarchicalChunkingConfiguration(HierarchicalChunkingConfigurationT &&value)
ChunkingConfiguration & WithFixedSizeChunkingConfiguration(FixedSizeChunkingConfigurationT &&value)
void SetHierarchicalChunkingConfiguration(HierarchicalChunkingConfigurationT &&value)
ChunkingConfiguration & WithSemanticChunkingConfiguration(SemanticChunkingConfigurationT &&value)
Aws::Utils::Json::JsonValue JsonValue