AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
TokenUsage.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/bedrock-runtime/model/CacheDetail.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace BedrockRuntime {
21namespace Model {
22
30 public:
31 AWS_BEDROCKRUNTIME_API TokenUsage() = default;
34 AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline int GetInputTokens() const { return m_inputTokens; }
41 inline bool InputTokensHasBeenSet() const { return m_inputTokensHasBeenSet; }
42 inline void SetInputTokens(int value) {
43 m_inputTokensHasBeenSet = true;
44 m_inputTokens = value;
45 }
46 inline TokenUsage& WithInputTokens(int value) {
47 SetInputTokens(value);
48 return *this;
49 }
51
53
56 inline int GetOutputTokens() const { return m_outputTokens; }
57 inline bool OutputTokensHasBeenSet() const { return m_outputTokensHasBeenSet; }
58 inline void SetOutputTokens(int value) {
59 m_outputTokensHasBeenSet = true;
60 m_outputTokens = value;
61 }
62 inline TokenUsage& WithOutputTokens(int value) {
63 SetOutputTokens(value);
64 return *this;
65 }
67
69
72 inline int GetTotalTokens() const { return m_totalTokens; }
73 inline bool TotalTokensHasBeenSet() const { return m_totalTokensHasBeenSet; }
74 inline void SetTotalTokens(int value) {
75 m_totalTokensHasBeenSet = true;
76 m_totalTokens = value;
77 }
78 inline TokenUsage& WithTotalTokens(int value) {
79 SetTotalTokens(value);
80 return *this;
81 }
83
85
88 inline int GetCacheReadInputTokens() const { return m_cacheReadInputTokens; }
89 inline bool CacheReadInputTokensHasBeenSet() const { return m_cacheReadInputTokensHasBeenSet; }
90 inline void SetCacheReadInputTokens(int value) {
91 m_cacheReadInputTokensHasBeenSet = true;
92 m_cacheReadInputTokens = value;
93 }
96 return *this;
97 }
99
101
104 inline int GetCacheWriteInputTokens() const { return m_cacheWriteInputTokens; }
105 inline bool CacheWriteInputTokensHasBeenSet() const { return m_cacheWriteInputTokensHasBeenSet; }
106 inline void SetCacheWriteInputTokens(int value) {
107 m_cacheWriteInputTokensHasBeenSet = true;
108 m_cacheWriteInputTokens = value;
109 }
112 return *this;
113 }
115
117
121 inline const Aws::Vector<CacheDetail>& GetCacheDetails() const { return m_cacheDetails; }
122 inline bool CacheDetailsHasBeenSet() const { return m_cacheDetailsHasBeenSet; }
123 template <typename CacheDetailsT = Aws::Vector<CacheDetail>>
125 m_cacheDetailsHasBeenSet = true;
126 m_cacheDetails = std::forward<CacheDetailsT>(value);
127 }
128 template <typename CacheDetailsT = Aws::Vector<CacheDetail>>
130 SetCacheDetails(std::forward<CacheDetailsT>(value));
131 return *this;
132 }
133 template <typename CacheDetailsT = CacheDetail>
135 m_cacheDetailsHasBeenSet = true;
136 m_cacheDetails.emplace_back(std::forward<CacheDetailsT>(value));
137 return *this;
138 }
140 private:
141 int m_inputTokens{0};
142
143 int m_outputTokens{0};
144
145 int m_totalTokens{0};
146
147 int m_cacheReadInputTokens{0};
148
149 int m_cacheWriteInputTokens{0};
150
151 Aws::Vector<CacheDetail> m_cacheDetails;
152 bool m_inputTokensHasBeenSet = false;
153 bool m_outputTokensHasBeenSet = false;
154 bool m_totalTokensHasBeenSet = false;
155 bool m_cacheReadInputTokensHasBeenSet = false;
156 bool m_cacheWriteInputTokensHasBeenSet = false;
157 bool m_cacheDetailsHasBeenSet = false;
158};
159
160} // namespace Model
161} // namespace BedrockRuntime
162} // namespace Aws
TokenUsage & WithInputTokens(int value)
Definition TokenUsage.h:46
TokenUsage & AddCacheDetails(CacheDetailsT &&value)
Definition TokenUsage.h:134
const Aws::Vector< CacheDetail > & GetCacheDetails() const
Definition TokenUsage.h:121
AWS_BEDROCKRUNTIME_API TokenUsage()=default
AWS_BEDROCKRUNTIME_API TokenUsage(Aws::Utils::Json::JsonView jsonValue)
TokenUsage & WithCacheDetails(CacheDetailsT &&value)
Definition TokenUsage.h:129
void SetCacheDetails(CacheDetailsT &&value)
Definition TokenUsage.h:124
AWS_BEDROCKRUNTIME_API TokenUsage & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_BEDROCKRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const
TokenUsage & WithTotalTokens(int value)
Definition TokenUsage.h:78
TokenUsage & WithCacheWriteInputTokens(int value)
Definition TokenUsage.h:110
TokenUsage & WithCacheReadInputTokens(int value)
Definition TokenUsage.h:94
TokenUsage & WithOutputTokens(int value)
Definition TokenUsage.h:62
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue