diff --git a/_unit_tests_2compat_8hpp_source.html b/_unit_tests_2compat_8hpp_source.html index 68e74cc9d..87dd052ef 100644 --- a/_unit_tests_2compat_8hpp_source.html +++ b/_unit_tests_2compat_8hpp_source.html @@ -170,7 +170,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/annotated.html b/annotated.html index a00f12ccf..8b570cb33 100644 --- a/annotated.html +++ b/annotated.html @@ -186,10 +186,9 @@ $(function() {  CbufferBuffered read/write stream  Cbuffer_t  Cbuffered_sysBuffered OS data stream (file, pipe, socket...) - CcacheCached file - Ccache_t + CcacheCached file  Ccached_fileCached file-system file - CconverterModifies data on the fly when reading from/writing to a source stream + CconverterModifies data on the fly when reading from/writing to a source stream. Could also be used to modify read/write boundaries like FIFO queues, async read/write, buffering etc  Cdiag_fileCompares multiple files to perform the same  CfifoIn-memory FIFO queue  Cnode_t @@ -199,41 +198,45 @@ $(function() {  Cmemory_fileIn-memory file  CreplicatorReplicates writing of the same data to multiple streams  Cworker - CwindowLimits reading from/writing to stream to a predefined window + CsocketSocket stream + CwindowLimits reading from/writing to stream to a predefined window  Cbase64_decBase64 decoding session  Cbase64_encBase64 encoding session - Cbasic_hashBasic hashing operations - Cblock_hashHashing in blocks - Ccharset_encoderEncoding converter context - Ccrc32_hashHashes as CRC32 - Cerrno_errorStandard C runtime library error - Cfree_locale_deleteDeleter for unique_ptr using free_locale - Cglobal_progressGlobal progress indicator base class - Chex_decHexadecimal decoding session - Chex_encHexadecimal encoding session - CintervalNumerical interval - Clazy_progressLazy progress indicator base class - CmappingMaps index in source string to index in destination string - Cmd2_tMD2 hash value - Cmd5_hashHashes as MD5 - Cno_deleteNoop deleter - Cno_delete< T[]>Noop array deleter - CprogressProgress indicator base class - Cprogress_switcherProgress indicator switcher - CringRing buffer - Csha1_hashHashes as SHA1 - Csha256_tSHA256 hash value - Csha_tSHA hash value - Cstream_hasherHashes read to or write from data of the stream - Csys_objectOperating system object (file, pipe, anything with an OS handle etc.) - Cuser_cancelledUser cancelled exception - Cvector_queueHelper class to allow limited size FIFO queues implemented as vector of elements + Cbase64_readerConverts from Base64 when reading from a stream + Cbase64_writerConverts to Base64 when writing to a stream + Cbasic_hashBasic hashing operations + Cblock_hashHashing in blocks + Ccharset_encoderEncoding converter context + Ccrc32_hashHashes as CRC32 + Cfree_locale_deleteDeleter for unique_ptr using free_locale + Cglobal_progressGlobal progress indicator base class + Chex_decHexadecimal decoding session + Chex_encHexadecimal encoding session + CintervalNumerical interval + Clazy_progressLazy progress indicator base class + CmappingMaps index in source string to index in destination string + Cmd2_tMD2 hash value + Cmd5_hashHashes as MD5 + Cno_deleteNoop deleter + Cno_delete< T[]>Noop array deleter + CprogressProgress indicator base class + Cprogress_switcherProgress indicator switcher + CringRing buffer + Csha1_hashHashes as SHA1 + Csha256_tSHA256 hash value + Csha_tSHA hash value + Cstream_hasherHashes read to or write from data of the stream + Csys_info_tSystem information + Csys_objectOperating system object (file, pipe, anything with an OS handle etc.) + Cuser_cancelledUser cancelled exception + Cvector_queueHelper class to allow limited size FIFO queues implemented as vector of elements + CwatchdogTriggers callback if not reset frequently enough diff --git a/base64_8hpp_source.html b/base64_8hpp_source.html index 050634458..543513850 100644 --- a/base64_8hpp_source.html +++ b/base64_8hpp_source.html @@ -90,7 +90,7 @@ $(document).ready(function() { init_codefold(0); });
6#pragma once
7
8#include "compat.hpp"
-
9#include <assert.h>
+
9#include "stream.hpp"
10#include <cstdint>
11#include <string>
12#include <vector>
@@ -98,14 +98,14 @@ $(document).ready(function() { init_codefold(0); });
14
15namespace stdex
16{
-
18 static const char base64_enc_lookup[64] = {
+
18 const char base64_enc_lookup[64] = {
19 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
20 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
21 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
22 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
23 };
24
-
25 static const uint8_t base64_dec_lookup[256] = {
+
25 const uint8_t base64_dec_lookup[256] = {
26 /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
27 /* 0 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
28 /* 1 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
@@ -130,223 +130,419 @@ $(document).ready(function() { init_codefold(0); });
50 {
51 public:
-
55 base64_enc() noexcept : num(0)
+
55 base64_enc() noexcept : m_num(0)
56 {
-
57 buf[0] = 0;
-
58 buf[1] = 0;
-
59 buf[2] = 0;
+
57 m_buf[0] = 0;
+
58 m_buf[1] = 0;
+
59 m_buf[2] = 0;
60 }
61
-
62
-
71 template<class _Elem, class _Traits, class _Ax>
-
-
72 void encode(_Inout_ std::basic_string<_Elem, _Traits, _Ax> &out, _In_bytecount_(size) const void *data, _In_ size_t size, _In_opt_ bool is_last = true)
-
73 {
-
74 assert(data || !size);
-
75
-
76 // Preallocate output
-
77 out.reserve(out.size() + enc_size(size));
-
78
-
79 // Convert data character by character.
-
80 for (size_t i = 0;; i++) {
-
81 if (num >= 3) {
-
82 encode(out);
-
83 num = 0;
-
84 }
-
85
-
86 if (i >= size)
-
87 break;
-
88
-
89 buf[num++] = reinterpret_cast<const uint8_t*>(data)[i];
-
90 }
-
91
-
92 // If this is the last block, flush the buffer.
-
93 if (is_last && num) {
-
94 encode(out, num);
-
95 num = 0;
-
96 }
-
97 }
+
70 template<class _Elem, class _Traits, class _Ax>
+
+
71 void encode(_Inout_ std::basic_string<_Elem, _Traits, _Ax> &out, _In_bytecount_(size) const void *data, _In_ size_t size, _In_opt_ bool is_last = true)
+
72 {
+
73 _Assume_(data || !size);
+
74
+
75 // Preallocate output
+
76 out.reserve(out.size() + enc_size(size));
+
77
+
78 // Convert data character by character.
+
79 for (size_t i = 0;; i++) {
+
80 if (m_num >= 3) {
+
81 encode(out);
+
82 m_num = 0;
+
83 }
+
84
+
85 if (i >= size)
+
86 break;
+
87
+
88 m_buf[m_num++] = reinterpret_cast<const uint8_t*>(data)[i];
+
89 }
+
90
+
91 // If this is the last block, flush the buffer.
+
92 if (is_last && m_num) {
+
93 encode(out, m_num);
+
94 m_num = 0;
+
95 }
+
96 }
-
98
-
99
-
-
103 void clear() noexcept
-
104 {
-
105 num = 0;
-
106 }
+
97
+
+
101 void clear() noexcept
+
102 {
+
103 m_num = 0;
+
104 }
-
107
-
108
-
-
116 size_t enc_size(_In_ size_t size) const noexcept
-
117 {
-
118 return ((num + size + 2)/3)*4;
-
119 }
+
105
+
+
113 size_t enc_size(_In_ size_t size) const noexcept
+
114 {
+
115 return ((m_num + size + 2)/3)*4;
+
116 }
-
120
-
121
-
122 protected:
-
126 template<class _Elem, class _Traits, class _Ax>
-
-
127 void encode(_Inout_ std::basic_string<_Elem, _Traits, _Ax> &out)
-
128 {
-
129 out += base64_enc_lookup[ buf[0] >> 2 ];
-
130 out += base64_enc_lookup[((buf[0] << 4) | (buf[1] >> 4)) & 0x3f];
-
131 out += base64_enc_lookup[((buf[1] << 2) | (buf[2] >> 6)) & 0x3f];
-
132 out += base64_enc_lookup[ buf[2] & 0x3f];
-
133 }
+
117
+
118 protected:
+
122 template<class _Elem, class _Traits, class _Ax>
+
+
123 void encode(_Inout_ std::basic_string<_Elem, _Traits, _Ax> &out)
+
124 {
+
125 out += base64_enc_lookup[ m_buf[0] >> 2 ];
+
126 out += base64_enc_lookup[((m_buf[0] << 4) | (m_buf[1] >> 4)) & 0x3f];
+
127 out += base64_enc_lookup[((m_buf[1] << 2) | (m_buf[2] >> 6)) & 0x3f];
+
128 out += base64_enc_lookup[ m_buf[2] & 0x3f];
+
129 }
-
134
-
135
-
139 template<class _Elem, class _Traits, class _Ax>
-
-
140 void encode(_Inout_ std::basic_string<_Elem, _Traits, _Ax> &out, _In_ size_t size)
-
141 {
-
142 if (size > 0) {
-
143 out += base64_enc_lookup[buf[0] >> 2];
-
144 if (size > 1) {
-
145 out += base64_enc_lookup[((buf[0] << 4) | (buf[1] >> 4)) & 0x3f];
-
146 if (size > 2) {
-
147 out += base64_enc_lookup[((buf[1] << 2) | (buf[2] >> 6)) & 0x3f];
-
148 out += base64_enc_lookup[buf[2] & 0x3f];
-
149 } else {
-
150 out += base64_enc_lookup[(buf[1] << 2) & 0x3f];
-
151 out += '=';
-
152 }
-
153 } else {
-
154 out += base64_enc_lookup[(buf[0] << 4) & 0x3f];
-
155 out += '=';
-
156 out += '=';
-
157 }
-
158 } else {
-
159 out += '=';
-
160 out += '=';
-
161 out += '=';
-
162 out += '=';
-
163 }
-
164 }
+
130
+
134 template<class _Elem, class _Traits, class _Ax>
+
+
135 void encode(_Inout_ std::basic_string<_Elem, _Traits, _Ax> &out, _In_ size_t size)
+
136 {
+
137 if (size > 0) {
+
138 out += base64_enc_lookup[m_buf[0] >> 2];
+
139 if (size > 1) {
+
140 out += base64_enc_lookup[((m_buf[0] << 4) | (m_buf[1] >> 4)) & 0x3f];
+
141 if (size > 2) {
+
142 out += base64_enc_lookup[((m_buf[1] << 2) | (m_buf[2] >> 6)) & 0x3f];
+
143 out += base64_enc_lookup[m_buf[2] & 0x3f];
+
144 } else {
+
145 out += base64_enc_lookup[(m_buf[1] << 2) & 0x3f];
+
146 out += '=';
+
147 }
+
148 } else {
+
149 out += base64_enc_lookup[(m_buf[0] << 4) & 0x3f];
+
150 out += '=';
+
151 out += '=';
+
152 }
+
153 } else {
+
154 out += '=';
+
155 out += '=';
+
156 out += '=';
+
157 out += '=';
+
158 }
+
159 }
+
+
160
+
161 protected:
+
162 uint8_t m_buf[3];
+
163 size_t m_num;
+
164 };
165
-
166
-
167 protected:
-
168 uint8_t buf[3];
-
169 size_t num;
-
170 };
-
-
171
-
- -
176 {
-
177 public:
-
-
181 base64_dec() noexcept : num(0)
-
182 {
-
183 buf[0] = 0;
-
184 buf[1] = 0;
-
185 buf[2] = 0;
-
186 buf[3] = 0;
-
187 }
-
-
188
+
+ +
170 {
+
171 public:
+
172 base64_writer(_Inout_ stdex::stream::basic& source, _In_ size_t max_blocks = 19) :
+ +
174 m_max_blocks(max_blocks),
+
175 m_num_blocks(0)
+
176 {}
+
177
+
178 virtual ~base64_writer()
+
179 {
+
180 // Flush the buffer.
+
181 if (m_num) {
+
182 if (++m_num_blocks > m_max_blocks) {
+
183 *m_source << '\n';
+
184 m_num_blocks = 1;
+
185 }
+
186 encode(m_num);
+
187 }
+
188 }
189
-
198 template<class _Ty, class _Ax, class _Tchr>
-
-
199 void decode(_Inout_ std::vector<_Ty, _Ax> &out, _Out_ bool &is_last, _In_z_count_(size) const _Tchr *data, _In_ size_t size)
-
200 {
-
201 is_last = false;
-
202
-
203 // Trim data size to first terminator.
-
204 for (size_t k = 0; k < size; k++)
-
205 if (!data[k]) { size = k; break; }
-
206
-
207 // Preallocate output
-
208 out.reserve(out.size() + dec_size(size));
-
209
-
210 for (size_t i = 0;; i++) {
-
211 if (num >= 4) {
-
212 // Buffer full; decode it.
-
213 size_t nibbles = decode(out);
-
214 num = 0;
-
215 if (nibbles < 3) {
-
216 is_last = true;
-
217 break;
-
218 }
-
219 }
-
220
-
221 if (i >= size)
-
222 break;
-
223
-
224 int x = data[i];
-
225 if ((buf[num] = x < _countof(base64_dec_lookup) ? base64_dec_lookup[x] : 255) != 255)
-
226 num++;
-
227 }
-
228 }
+
+
190 virtual _Success_(return != 0) size_t write(
+
191 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
192 {
+
193 _Assume_(data || !length);
+
194 for (size_t i = 0;; i++) {
+
195 if (m_num >= 3) {
+
196 if (++m_num_blocks > m_max_blocks) {
+
197 *m_source << '\n';
+
198 m_num_blocks = 1;
+
199 }
+
200 encode();
+
201 if (!m_source->ok()) _Unlikely_ {
+
202 m_state = m_source->state();
+
203 return length - i;
+
204 }
+
205 m_num = 0;
+
206 }
+
207 if (i >= length) {
+
208 m_state = stdex::stream::state_t::ok;
+
209 return length;
+
210 }
+
211 m_buf[m_num++] = reinterpret_cast<const uint8_t*>(data)[i];
+
212 }
+
213 }
-
229
-
230
-
-
234 void clear() noexcept
-
235 {
-
236 num = 0;
-
237 }
+
214
+
215 protected:
+
+
219 void encode()
+
220 {
+
221 char out[4];
+
222 out[0] = base64_enc_lookup[ m_buf[0] >> 2 ];
+
223 out[1] = base64_enc_lookup[((m_buf[0] << 4) | (m_buf[1] >> 4)) & 0x3f];
+
224 out[2] = base64_enc_lookup[((m_buf[1] << 2) | (m_buf[2] >> 6)) & 0x3f];
+
225 out[3] = base64_enc_lookup[ m_buf[2] & 0x3f];
+
226 m_source->write_array(out, sizeof(*out), _countof(out));
+
227 }
-
238
-
239
-
-
247 size_t dec_size(_In_ size_t size) const noexcept
-
248 {
-
249 return ((num + size + 3)/4)*3;
-
250 }
+
228
+
+
232 void encode(_In_ size_t size)
+
233 {
+
234 char out[4];
+
235 if (size > 0) {
+
236 out[0] = base64_enc_lookup[m_buf[0] >> 2];
+
237 if (size > 1) {
+
238 out[1] = base64_enc_lookup[((m_buf[0] << 4) | (m_buf[1] >> 4)) & 0x3f];
+
239 if (size > 2) {
+
240 out[2] = base64_enc_lookup[((m_buf[1] << 2) | (m_buf[2] >> 6)) & 0x3f];
+
241 out[3] = base64_enc_lookup[m_buf[2] & 0x3f];
+
242 } else {
+
243 out[2] = base64_enc_lookup[(m_buf[1] << 2) & 0x3f];
+
244 out[3] = '=';
+
245 }
+
246 } else {
+
247 out[1] = base64_enc_lookup[(m_buf[0] << 4) & 0x3f];
+
248 out[2] = '=';
+
249 out[3] = '=';
+
250 }
+
251 } else {
+
252 out[0] = '=';
+
253 out[1] = '=';
+
254 out[2] = '=';
+
255 out[3] = '=';
+
256 }
+
257 m_source->write_array(out, sizeof(*out), _countof(out));
+
258 }
-
251
-
252
-
253 protected:
-
257 template<class _Ty, class _Ax>
-
-
258 size_t decode(_Inout_ std::vector<_Ty, _Ax> &out)
-
259 {
-
260 out.push_back((_Ty)(((buf[0] << 2) | (buf[1] >> 4)) & 0xff));
-
261 if (buf[2] < 64) {
-
262 out.push_back((_Ty)(((buf[1] << 4) | (buf[2] >> 2)) & 0xff));
-
263 if (buf[3] < 64) {
-
264 out.push_back((_Ty)(((buf[2] << 6) | buf[3]) & 0xff));
-
265 return 3;
-
266 } else
-
267 return 2;
-
268 } else
-
269 return 1;
-
270 }
+
259
+
260 protected:
+
261 size_t
+
262 m_max_blocks,
+ +
264 };
-
271
-
272
-
273 protected:
-
274 uint8_t buf[4];
-
275 size_t num;
-
276 };
+
265
+
+ +
270 {
+
271 public:
+
+
275 base64_dec() noexcept : m_num(0)
+
276 {
+
277 m_buf[0] = 0;
+
278 m_buf[1] = 0;
+
279 m_buf[2] = 0;
+
280 m_buf[3] = 0;
+
281 }
-
277}
-
Base64 decoding session.
Definition base64.hpp:176
-
size_t num
Number of bytes used in buf
Definition base64.hpp:275
-
base64_dec() noexcept
Constructs blank decoding session.
Definition base64.hpp:181
-
void decode(std::vector< _Ty, _Ax > &out, bool &is_last, const _Tchr *data, size_t size)
Decodes one block of information, and appends it to the output.
Definition base64.hpp:199
-
size_t dec_size(size_t size) const noexcept
Returns maximum decoded size.
Definition base64.hpp:247
-
uint8_t buf[4]
Internal buffer.
Definition base64.hpp:274
-
size_t decode(std::vector< _Ty, _Ax > &out)
Decodes one complete internal buffer of data.
Definition base64.hpp:258
-
void clear() noexcept
Resets decoding session.
Definition base64.hpp:234
+
282
+
291 template<class _Ty, class _Ax, class _Tchr>
+
+
292 void decode(_Inout_ std::vector<_Ty, _Ax> &out, _Out_ bool &is_last, _In_z_count_(size) const _Tchr *data, _In_ size_t size)
+
293 {
+
294 is_last = false;
+
295
+
296 // Trim data size to first terminator.
+
297 for (size_t k = 0; k < size; k++)
+
298 if (!data[k]) { size = k; break; }
+
299
+
300 // Preallocate output
+
301 out.reserve(out.size() + dec_size(size));
+
302
+
303 for (size_t i = 0;; i++) {
+
304 if (m_num >= 4) {
+
305 // Buffer full; decode it.
+
306 size_t nibbles = decode(out);
+
307 if (nibbles < 3) {
+
308 is_last = true;
+
309 break;
+
310 }
+
311 }
+
312
+
313 if (i >= size)
+
314 break;
+
315
+
316 int x = data[i];
+
317 if ((m_buf[m_num] = x < _countof(base64_dec_lookup) ? base64_dec_lookup[x] : 255) != 255)
+
318 m_num++;
+
319 }
+
320 }
+
+
321
+
+
325 void clear() noexcept
+
326 {
+
327 m_num = 0;
+
328 }
+
+
329
+
+
337 size_t dec_size(_In_ size_t size) const noexcept
+
338 {
+
339 return ((m_num + size + 3)/4)*3;
+
340 }
+
+
341
+
342 protected:
+
346 template<class _Ty, class _Ax>
+
+
347 size_t decode(_Inout_ std::vector<_Ty, _Ax> &out)
+
348 {
+
349 m_num = 0;
+
350 out.push_back((_Ty)(((m_buf[0] << 2) | (m_buf[1] >> 4)) & 0xff));
+
351 if (m_buf[2] < 64) {
+
352 out.push_back((_Ty)(((m_buf[1] << 4) | (m_buf[2] >> 2)) & 0xff));
+
353 if (m_buf[3] < 64) {
+
354 out.push_back((_Ty)(((m_buf[2] << 6) | m_buf[3]) & 0xff));
+
355 return 3;
+
356 } else
+
357 return 2;
+
358 } else
+
359 return 1;
+
360 }
+
+
361
+
362 protected:
+
363 uint8_t m_buf[4];
+
364 size_t m_num;
+
365 };
+
+
366
+
367#ifdef _MSC_VER
+
368#pragma warning(push)
+
369#pragma warning(disable: 26495)
+
370#endif
+
371
+
+ +
376 {
+
377 public:
+
378 base64_reader(_Inout_ stdex::stream::basic& source) :
+ +
380 m_temp_off(0),
+
381 m_temp_len(0)
+
382 {}
+
383
+
384#pragma warning(suppress: 6101) // See [1] below
+
+
385 virtual _Success_(return != 0 || length == 0) size_t read(
+
386 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
387 {
+
388 _Assume_(data || !length);
+
389 for (size_t to_read = length;;) {
+
390 if (m_temp_len >= to_read) {
+
391 memcpy(data, m_temp + m_temp_off, to_read);
+
392 m_temp_off += to_read;
+
393 m_temp_len -= to_read;
+
394 m_state = stdex::stream::state_t::ok;
+
395 return length;
+
396 }
+
397 if (m_temp_len) {
+
398 memcpy(data, m_temp + m_temp_off, m_temp_len);
+
399 reinterpret_cast<uint8_t*&>(data) += m_temp_len;
+
400 to_read -= m_temp_len;
+
401 m_temp_off = 0;
+
402 m_temp_len = 0;
+
403 }
+
404 // Read one Base64 block (4 chars)
+
405 while (m_num < 4) {
+
406 uint8_t x;
+
407 *m_source >> x;
+
408 if (!m_source->ok()) _Unlikely_ {
+
409 m_state = m_source->state();
+
410 return length - to_read; // [1] Code analysis misses `length - to_read` bytes were written to data in previous loop iterations.
+
411 }
+
412 if ((m_buf[m_num] = base64_dec_lookup[x]) != 255)
+
413 m_num++;
+
414 }
+
415 decode();
+
416 if (m_temp_len < 3 && to_read >= 3) {
+
417 // If Base64 indicates end of data, truncate read to hint the client, end of Base64 data has been reached.
+
418 memcpy(data, m_temp + m_temp_off, m_temp_len);
+
419 m_temp_off = 0;
+
420 m_temp_len = 0;
+
421 to_read -= m_temp_len;
+
422 m_state = stdex::stream::state_t::ok;
+
423 return length - to_read; // [1] Code analysis misses `length - to_read` bytes were written to data in previous loop iterations.
+
424 }
+
425 }
+
426 }
+
+
427
+
428 protected:
+
+
432 void decode()
+
433 {
+
434 m_num = 0;
+
435 m_temp_off = 0;
+
436 m_temp[0] = ((m_buf[0] << 2) | (m_buf[1] >> 4)) & 0xff;
+
437 if (m_buf[2] < 64) {
+
438 m_temp[1] = ((m_buf[1] << 4) | (m_buf[2] >> 2)) & 0xff;
+
439 if (m_buf[3] < 64) {
+
440 m_temp[2] = ((m_buf[2] << 6) | m_buf[3]) & 0xff;
+
441 m_temp_len = 3;
+
442 } else
+
443 m_temp_len = 2;
+
444 } else
+
445 m_temp_len = 1;
+
446 }
+
+
447
+
448 protected:
+
449 char m_temp[3];
+
450 size_t
+ + +
453 };
+
+
454
+
455#ifdef _MSC_VER
+
456#pragma warning(pop)
+
457#endif
+
458}
+
Base64 decoding session.
Definition base64.hpp:270
+
size_t m_num
Number of bytes used in m_buf
Definition base64.hpp:364
+
base64_dec() noexcept
Constructs blank decoding session.
Definition base64.hpp:275
+
void decode(std::vector< _Ty, _Ax > &out, bool &is_last, const _Tchr *data, size_t size)
Decodes one block of information, and appends it to the output.
Definition base64.hpp:292
+
size_t dec_size(size_t size) const noexcept
Returns maximum decoded size.
Definition base64.hpp:337
+
size_t decode(std::vector< _Ty, _Ax > &out)
Decodes one complete internal buffer of data.
Definition base64.hpp:347
+
void clear() noexcept
Resets decoding session.
Definition base64.hpp:325
+
uint8_t m_buf[4]
Internal buffer.
Definition base64.hpp:363
Base64 encoding session.
Definition base64.hpp:50
-
void encode(std::basic_string< _Elem, _Traits, _Ax > &out, const void *data, size_t size, bool is_last=true)
Encodes one block of information, and appends it to the output.
Definition base64.hpp:72
-
void encode(std::basic_string< _Elem, _Traits, _Ax > &out)
Encodes one complete internal buffer of data.
Definition base64.hpp:127
-
size_t num
Number of bytes used in buf
Definition base64.hpp:169
-
void encode(std::basic_string< _Elem, _Traits, _Ax > &out, size_t size)
Encodes partial internal buffer of data.
Definition base64.hpp:140
+
void encode(std::basic_string< _Elem, _Traits, _Ax > &out, const void *data, size_t size, bool is_last=true)
Encodes one block of information, and appends it to the output.
Definition base64.hpp:71
+
void encode(std::basic_string< _Elem, _Traits, _Ax > &out)
Encodes one complete internal buffer of data.
Definition base64.hpp:123
+
size_t m_num
Number of bytes used in m_buf
Definition base64.hpp:163
+
uint8_t m_buf[3]
Internal buffer.
Definition base64.hpp:162
+
void encode(std::basic_string< _Elem, _Traits, _Ax > &out, size_t size)
Encodes partial internal buffer of data.
Definition base64.hpp:135
base64_enc() noexcept
Constructs blank encoding session.
Definition base64.hpp:55
-
uint8_t buf[3]
Internal buffer.
Definition base64.hpp:168
-
void clear() noexcept
Resets encoding session.
Definition base64.hpp:103
-
size_t enc_size(size_t size) const noexcept
Returns maximum encoded size.
Definition base64.hpp:116
+
void clear() noexcept
Resets encoding session.
Definition base64.hpp:101
+
size_t enc_size(size_t size) const noexcept
Returns maximum encoded size.
Definition base64.hpp:113
+
Converts from Base64 when reading from a stream.
Definition base64.hpp:376
+
void decode()
Decodes one complete internal buffer of data.
Definition base64.hpp:432
+
char m_temp[3]
Temporary buffer.
Definition base64.hpp:449
+
size_t m_temp_len
Number of bytes of data in m_temp
Definition base64.hpp:452
+
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition base64.hpp:385
+
size_t m_temp_off
Index of data start in m_temp
Definition base64.hpp:451
+
Converts to Base64 when writing to a stream.
Definition base64.hpp:170
+
size_t m_num_blocks
‍Maximum number of Base64 blocks (4 chars) to write without a line break (SIZE_MAX no line breaks)
Definition base64.hpp:263
+
void encode()
Encodes one complete internal buffer of data.
Definition base64.hpp:219
+
void encode(size_t size)
Encodes partial internal buffer of data.
Definition base64.hpp:232
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition base64.hpp:190
+
‍UTF-8 byte-order-mark
Definition stream.hpp:78
+
bool ok() const
Returns true if the stream state is clean i.e. previous operation was succesful.
Definition stream.hpp:174
+
state_t state() const
Returns stream state after last operation.
Definition stream.hpp:169
+
size_t write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)
Writes an array of data to the stream.
Definition stream.hpp:399
+
Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify r...
Definition stream.hpp:1021
diff --git a/chrono_8hpp_source.html b/chrono_8hpp_source.html index 8354ef816..a03129243 100644 --- a/chrono_8hpp_source.html +++ b/chrono_8hpp_source.html @@ -246,11 +246,11 @@ $(document).ready(function() { init_codefold(0); });
182 static constexpr rep f_day = 24; // number of hours per day
183 static constexpr rep f_week = 7; // number of days per week
184
-
185 static constexpr rep p_second = f_second; // number of milliseconds per second
-
186 static constexpr rep p_minute = f_minute * p_second; // number of milliseconds per minute
-
187 static constexpr rep p_hour = f_hour * p_minute; // number of milliseconds per hour
-
188 static constexpr rep p_day = f_day * p_hour; // number of milliseconds per day
-
189 static constexpr rep p_week = f_week * p_day; // number of milliseconds per week
+
185 static constexpr rep one_second = f_second; // number of milliseconds per second
+
186 static constexpr rep one_minute = f_minute * one_second; // number of milliseconds per minute
+
187 static constexpr rep one_hour = f_hour * one_minute; // number of milliseconds per hour
+
188 static constexpr rep one_day = f_day * one_hour; // number of milliseconds per day
+
189 static constexpr rep one_week = f_week * one_day; // number of milliseconds per week
190
194 static time_point now() noexcept
@@ -270,14 +270,14 @@ $(document).ready(function() { init_codefold(0); });
210 static std::time_t to_time_t(_In_ const time_point tp) noexcept
211 {
-
212 return tp.time_since_epoch().count() / p_second - 210866803200;
+
212 return tp.time_since_epoch().count() / one_second - 210866803200;
213 }
214
218 static time_point from_time_t(_In_ std::time_t t) noexcept
219 {
-
220 return time_point(duration((static_cast<rep>(t) + 210866803200) * p_second));
+
220 return time_point(duration((static_cast<rep>(t) + 210866803200) * one_second));
221 }
222
@@ -331,14 +331,14 @@ $(document).ready(function() { init_codefold(0); });
283 static aosn_date::time_point to_date(_In_ time_point tp) noexcept
284 {
-
285 return aosn_date::time_point(aosn_date::duration(static_cast<aosn_date::rep>(tp.time_since_epoch().count() / p_day)));
+
285 return aosn_date::time_point(aosn_date::duration(static_cast<aosn_date::rep>(tp.time_since_epoch().count() / one_day)));
286 }
287
291 static time_point from_date(_In_ aosn_date::time_point date) noexcept
292 {
-
293 return time_point(duration(static_cast<rep>(date.time_since_epoch().count()) * p_day));
+
293 return time_point(duration(static_cast<rep>(date.time_since_epoch().count()) * one_day));
294 }
295
@@ -348,8 +348,8 @@ $(document).ready(function() { init_codefold(0); });
301 _In_ uint8_t hour, _In_ uint8_t minute, _In_ uint8_t second, _In_ uint16_t millisecond) noexcept
302 {
303 return time_point(duration(
-
304 (static_cast<rep>(aosn_date::from_dmy(day, month, year).time_since_epoch().count()) * p_day) +
-
305 (static_cast<rep>(hour) * p_hour + static_cast<rep>(minute) * p_minute + static_cast<rep>(second) * p_second + millisecond)));
+
304 (static_cast<rep>(aosn_date::from_dmy(day, month, year).time_since_epoch().count()) * one_day) +
+
305 (static_cast<rep>(hour) * one_hour + static_cast<rep>(minute) * one_minute + static_cast<rep>(second) * one_second + millisecond)));
306 }
307
@@ -359,7 +359,7 @@ $(document).ready(function() { init_codefold(0); });
313 _Out_opt_ uint8_t* hour, _Out_opt_ uint8_t* minute, _Out_opt_ uint8_t* second, _Out_opt_ uint16_t* millisecond) noexcept
314 {
315 aosn_date::to_dmy(to_date(tp), day, month, year);
-
316 int32_t u = static_cast<int32_t>(tp.time_since_epoch().count() % p_day);
+
316 int32_t u = static_cast<int32_t>(tp.time_since_epoch().count() % one_day);
317 if (millisecond) *millisecond = static_cast<uint16_t>(u % f_second);
318 u = u / f_second;
319 if (second) *second = static_cast<uint8_t>(u % f_minute);
@@ -466,7 +466,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/classes.html b/classes.html index b994ec107..23b86f34f 100644 --- a/classes.html +++ b/classes.html @@ -73,67 +73,64 @@ $(function() {
Class Index
-
A | B | C | D | E | F | G | H | I | L | M | N | P | R | S | U | V | W
+
A | B | C | D | F | G | H | I | L | M | N | P | R | S | U | V | W
A
aosn_date (stdex::chrono)
aosn_timestamp (stdex::chrono)
async_reader (stdex::stream)
async_writer (stdex::stream)
B
-
base64_dec (stdex)
base64_enc (stdex)
basic (stdex::stream)
basic_angle (stdex::parser)
basic_any_cu (stdex::parser)
basic_bol (stdex::parser)
basic_branch (stdex::parser)
basic_chemical_formula (stdex::parser)
basic_creditor_reference (stdex::parser)
basic_cu (stdex::parser)
basic_cu_set (stdex::parser)
basic_date (stdex::parser)
basic_dns_domain_char (stdex::parser)
basic_dns_name (stdex::parser)
basic_email_address (stdex::parser)
basic_emoticon (stdex::parser)
basic_eol (stdex::parser)
basic_file (stdex::stream)
basic_fraction (stdex::parser)
basic_hash (stdex)
basic_iban (stdex::parser)
basic_integer (stdex::parser)
basic_integer10 (stdex::parser)
basic_integer10ts (stdex::parser)
basic_integer16 (stdex::parser)
basic_ipv4_address (stdex::parser)
basic_ipv6_address (stdex::parser)
basic_ipv6_scope_id_char (stdex::parser)
basic_iterations (stdex::parser)
basic_json_string (stdex::parser)
basic_mixed_numeral (stdex::parser)
basic_monetary_numeral (stdex::parser)
basic_noop (stdex::parser)
basic_parser (stdex::parser)
basic_permutation (stdex::parser)
basic_phone_number (stdex::parser)
basic_punct_cu (stdex::parser)
basic_roman_numeral (stdex::parser)
basic_scientific_numeral (stdex::parser)
basic_score (stdex::parser)
basic_sequence (stdex::parser)
basic_set (stdex::parser)
basic_si_reference (stdex::parser)
basic_si_reference_delimiter (stdex::parser)
basic_si_reference_part (stdex::parser)
basic_signed_numeral (stdex::parser)
basic_space_cu (stdex::parser)
basic_space_or_punct_cu (stdex::parser)
basic_string (stdex::parser)
basic_string_branch (stdex::parser)
basic_sys (stdex::stream)
basic_time (stdex::parser)
basic_url (stdex::parser)
basic_url_password_char (stdex::parser)
basic_url_path (stdex::parser)
basic_url_path_char (stdex::parser)
basic_url_username_char (stdex::parser)
block_hash (stdex)
buffer (stdex::stream)
buffer::buffer_t (stdex::stream)
buffered_sys (stdex::stream)
+
base64_dec (stdex)
base64_enc (stdex)
base64_reader (stdex)
base64_writer (stdex)
basic (stdex::stream)
basic_angle (stdex::parser)
basic_any_cu (stdex::parser)
basic_bol (stdex::parser)
basic_branch (stdex::parser)
basic_chemical_formula (stdex::parser)
basic_creditor_reference (stdex::parser)
basic_cu (stdex::parser)
basic_cu_set (stdex::parser)
basic_date (stdex::parser)
basic_dns_domain_char (stdex::parser)
basic_dns_name (stdex::parser)
basic_email_address (stdex::parser)
basic_emoticon (stdex::parser)
basic_eol (stdex::parser)
basic_file (stdex::stream)
basic_fraction (stdex::parser)
basic_hash (stdex)
basic_iban (stdex::parser)
basic_integer (stdex::parser)
basic_integer10 (stdex::parser)
basic_integer10ts (stdex::parser)
basic_integer16 (stdex::parser)
basic_ipv4_address (stdex::parser)
basic_ipv6_address (stdex::parser)
basic_ipv6_scope_id_char (stdex::parser)
basic_iterations (stdex::parser)
basic_json_string (stdex::parser)
basic_mixed_numeral (stdex::parser)
basic_monetary_numeral (stdex::parser)
basic_noop (stdex::parser)
basic_parser (stdex::parser)
basic_permutation (stdex::parser)
basic_phone_number (stdex::parser)
basic_punct_cu (stdex::parser)
basic_roman_numeral (stdex::parser)
basic_scientific_numeral (stdex::parser)
basic_score (stdex::parser)
basic_sequence (stdex::parser)
basic_set (stdex::parser)
basic_si_reference (stdex::parser)
basic_si_reference_delimiter (stdex::parser)
basic_si_reference_part (stdex::parser)
basic_signed_numeral (stdex::parser)
basic_space_cu (stdex::parser)
basic_space_or_punct_cu (stdex::parser)
basic_string (stdex::parser)
basic_string_branch (stdex::parser)
basic_sys (stdex::stream)
basic_time (stdex::parser)
basic_url (stdex::parser)
basic_url_password_char (stdex::parser)
basic_url_path (stdex::parser)
basic_url_path_char (stdex::parser)
basic_url_username_char (stdex::parser)
block_hash (stdex)
buffer (stdex::stream)
buffer::buffer_t (stdex::stream)
buffered_sys (stdex::stream)
C
-
cache (stdex::stream)
cache::cache_t (stdex::stream)
cached_file (stdex::stream)
charset_encoder (stdex)
converter (stdex::stream)
crc32_hash (stdex)
+
cache (stdex::stream)
cached_file (stdex::stream)
charset_encoder (stdex)
converter (stdex::stream)
crc32_hash (stdex)
D
diag_file (stdex::stream)
-
E
-
errno_error (stdex)
-
F
fifo (stdex::stream)
file (stdex::stream)
file_window (stdex::stream)
free_locale_delete (stdex)
-
+
G
global_progress (stdex)
-
+
H
hex_dec (stdex)
hex_enc (stdex)
http_agent (stdex::parser)
http_any_type (stdex::parser)
http_asterisk (stdex::parser)
http_cookie (stdex::parser)
http_cookie_parameter (stdex::parser)
http_factor_more (stdex::parser)
http_header (stdex::parser)
http_language (stdex::parser)
http_line_break (stdex::parser)
http_media_range (stdex::parser)
http_media_type (stdex::parser)
http_parameter (stdex::parser)
http_protocol (stdex::parser)
http_quoted_string (stdex::parser)
http_request (stdex::parser)
http_space (stdex::parser)
http_text_char (stdex::parser)
http_token (stdex::parser)
http_url (stdex::parser)
http_url_parameter (stdex::parser)
http_url_path (stdex::parser)
http_url_path_segment (stdex::parser)
http_url_port (stdex::parser)
http_url_server (stdex::parser)
http_value (stdex::parser)
http_value_collection (stdex::parser)
http_weight (stdex::parser)
http_weighted_value (stdex::parser)
-
+
I
interval (stdex)
-
+
L
lazy_progress (stdex)
limiter (stdex::stream)
-
+
M
mapping (stdex)
md2_t (stdex)
md5_hash (stdex)
memory_file (stdex::stream)
-
+
N
no_delete (stdex)
no_delete< T[]> (stdex)
fifo::node_t (stdex::stream)
-
+
P
parser_collection (stdex::parser)
progress (stdex)
progress_switcher (stdex)
-
+
R
record (stdex::idrec)
replicator (stdex::stream)
ring (stdex)
-
-
S
-
sgml_any_cp (stdex::parser)
sgml_cp (stdex::parser)
sgml_cp_set (stdex::parser)
sgml_dns_domain_char (stdex::parser)
sgml_ipv6_scope_id_char (stdex::parser)
sgml_punct_cp (stdex::parser)
sgml_space_cp (stdex::parser)
sgml_space_or_punct_cp (stdex::parser)
sgml_string (stdex::parser)
sgml_url_password_char (stdex::parser)
sgml_url_path_char (stdex::parser)
sgml_url_username_char (stdex::parser)
sha1_hash (stdex)
sha256_t (stdex)
sha_t (stdex)
stream_hasher (stdex)
sys_object (stdex)
+
S
+
sgml_any_cp (stdex::parser)
sgml_cp (stdex::parser)
sgml_cp_set (stdex::parser)
sgml_dns_domain_char (stdex::parser)
sgml_ipv6_scope_id_char (stdex::parser)
sgml_punct_cp (stdex::parser)
sgml_space_cp (stdex::parser)
sgml_space_or_punct_cp (stdex::parser)
sgml_string (stdex::parser)
sgml_url_password_char (stdex::parser)
sgml_url_path_char (stdex::parser)
sgml_url_username_char (stdex::parser)
sha1_hash (stdex)
sha256_t (stdex)
sha_t (stdex)
socket (stdex::stream)
stream_hasher (stdex)
sys_info_t (stdex)
sys_object (stdex)
+
U
user_cancelled (stdex)
-
+
V
vector_queue (stdex)
-
+
W
-
window (stdex::stream)
replicator::worker (stdex::stream)
+
watchdog (stdex)
window (stdex::stream)
replicator::worker (stdex::stream)
diff --git a/classstdex_1_1base64__dec-members.html b/classstdex_1_1base64__dec-members.html index 2495e3c58..c11a02d74 100644 --- a/classstdex_1_1base64__dec-members.html +++ b/classstdex_1_1base64__dec-members.html @@ -81,16 +81,16 @@ $(function() {

This is the complete list of members for stdex::base64_dec, including all inherited members.

- - - - - - + + + + + +
base64_dec() noexceptstdex::base64_decinline
bufstdex::base64_decprotected
clear() noexceptstdex::base64_decinline
dec_size(size_t size) const noexceptstdex::base64_decinline
decode(std::vector< _Ty, _Ax > &out, bool &is_last, const _Tchr *data, size_t size)stdex::base64_decinline
decode(std::vector< _Ty, _Ax > &out)stdex::base64_decinlineprotected
numstdex::base64_decprotected
clear() noexceptstdex::base64_decinline
dec_size(size_t size) const noexceptstdex::base64_decinline
decode(std::vector< _Ty, _Ax > &out, bool &is_last, const _Tchr *data, size_t size)stdex::base64_decinline
decode(std::vector< _Ty, _Ax > &out)stdex::base64_decinlineprotected
m_bufstdex::base64_decprotected
m_numstdex::base64_decprotected
diff --git a/classstdex_1_1base64__dec.html b/classstdex_1_1base64__dec.html index 67c12154a..a4d4105c7 100644 --- a/classstdex_1_1base64__dec.html +++ b/classstdex_1_1base64__dec.html @@ -87,6 +87,15 @@ $(function() { More...

#include <stdex/base64.hpp>

+
+Inheritance diagram for stdex::base64_dec:
+
+
+ + +stdex::base64_reader + +
@@ -116,14 +125,14 @@ template<class _Ty , class _Ax >

Public Member Functions

- - - - - - + + + + + +

Protected Attributes

-uint8_t buf [4]
 Internal buffer.
 
-size_t num
 Number of bytes used in buf
 
+uint8_t m_buf [4]
 Internal buffer.
 
+size_t m_num
 Number of bytes used in m_buf
 

Detailed Description

Base64 decoding session.

@@ -230,7 +239,7 @@ template<class _Ty , class _Ax , class _Tchr >
diff --git a/classstdex_1_1base64__dec.png b/classstdex_1_1base64__dec.png new file mode 100644 index 000000000..ed49ff3ec Binary files /dev/null and b/classstdex_1_1base64__dec.png differ diff --git a/classstdex_1_1base64__enc-members.html b/classstdex_1_1base64__enc-members.html index e0b7b21d5..45b23876c 100644 --- a/classstdex_1_1base64__enc-members.html +++ b/classstdex_1_1base64__enc-members.html @@ -81,17 +81,17 @@ $(function() {

This is the complete list of members for stdex::base64_enc, including all inherited members.

- - - - - - - + + + + + + +
base64_enc() noexceptstdex::base64_encinline
bufstdex::base64_encprotected
clear() noexceptstdex::base64_encinline
enc_size(size_t size) const noexceptstdex::base64_encinline
encode(std::basic_string< _Elem, _Traits, _Ax > &out, const void *data, size_t size, bool is_last=true)stdex::base64_encinline
encode(std::basic_string< _Elem, _Traits, _Ax > &out)stdex::base64_encinlineprotected
encode(std::basic_string< _Elem, _Traits, _Ax > &out, size_t size)stdex::base64_encinlineprotected
numstdex::base64_encprotected
clear() noexceptstdex::base64_encinline
enc_size(size_t size) const noexceptstdex::base64_encinline
encode(std::basic_string< _Elem, _Traits, _Ax > &out, const void *data, size_t size, bool is_last=true)stdex::base64_encinline
encode(std::basic_string< _Elem, _Traits, _Ax > &out)stdex::base64_encinlineprotected
encode(std::basic_string< _Elem, _Traits, _Ax > &out, size_t size)stdex::base64_encinlineprotected
m_bufstdex::base64_encprotected
m_numstdex::base64_encprotected
diff --git a/classstdex_1_1base64__enc.html b/classstdex_1_1base64__enc.html index fea646df1..2a3e1ec47 100644 --- a/classstdex_1_1base64__enc.html +++ b/classstdex_1_1base64__enc.html @@ -87,6 +87,15 @@ $(function() { More...

#include <stdex/base64.hpp>

+
+Inheritance diagram for stdex::base64_enc:
+
+
+ + +stdex::base64_writer + +
@@ -121,14 +130,14 @@ template<class _Elem , class _Traits , class _Ax >

Public Member Functions

- - - - - - + + + + + +

Protected Attributes

-uint8_t buf [3]
 Internal buffer.
 
-size_t num
 Number of bytes used in buf
 
+uint8_t m_buf [3]
 Internal buffer.
 
+size_t m_num
 Number of bytes used in m_buf
 

Detailed Description

Base64 encoding session.

@@ -235,7 +244,7 @@ template<class _Elem , class _Traits , class _Ax >
diff --git a/classstdex_1_1base64__enc.png b/classstdex_1_1base64__enc.png new file mode 100644 index 000000000..8c65c97f5 Binary files /dev/null and b/classstdex_1_1base64__enc.png differ diff --git a/classstdex_1_1base64__reader-members.html b/classstdex_1_1base64__reader-members.html new file mode 100644 index 000000000..46d53b99c --- /dev/null +++ b/classstdex_1_1base64__reader-members.html @@ -0,0 +1,168 @@ + + + + + + + +stdex: Member List + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
stdex::base64_reader Member List
+
+
+ +

This is the complete list of members for stdex::base64_reader, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
base64_dec() noexceptstdex::base64_decinlineprotected
base64_reader(stdex::stream::basic &source) (defined in stdex::base64_reader)stdex::base64_readerinline
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
clear() noexceptstdex::base64_decinlineprotected
close()stdex::stream::converterinlinevirtual
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
dec_size(size_t size) const noexceptstdex::base64_decinlineprotected
decode()stdex::base64_readerinlineprotected
stdex::base64_dec::decode(std::vector< _Ty, _Ax > &out, bool &is_last, const _Tchr *data, size_t size)stdex::base64_decinlineprotected
stdex::base64_dec::decode(std::vector< _Ty, _Ax > &out)stdex::base64_decinlineprotected
flush()stdex::stream::converterinlinevirtual
m_bufstdex::base64_decprotected
m_numstdex::base64_decprotected
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
m_tempstdex::base64_readerprotected
m_temp_lenstdex::base64_readerprotected
m_temp_offstdex::base64_readerprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::base64_readerinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::converterinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
+ + + + diff --git a/classstdex_1_1base64__reader.html b/classstdex_1_1base64__reader.html new file mode 100644 index 000000000..68c6c55ff --- /dev/null +++ b/classstdex_1_1base64__reader.html @@ -0,0 +1,449 @@ + + + + + + + +stdex: stdex::base64_reader Class Reference + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
stdex::base64_reader Class Reference
+
+
+ +

Converts from Base64 when reading from a stream. + More...

+ +

#include <stdex/base64.hpp>

+
+Inheritance diagram for stdex::base64_reader:
+
+
+ + +stdex::stream::converter +stdex::base64_dec +stdex::stream::basic + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

base64_reader (stdex::stream::basic &source)
 
virtual size_t read (_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
 Reads block of data from the stream.
 
- Public Member Functions inherited from stdex::stream::converter
converter (basic &source)
 
virtual size_t write (_In_reads_bytes_opt_(length) const void *data, size_t length)
 Writes block of data to the stream.
 
virtual void close ()
 Closes the stream.
 
virtual void flush ()
 Persists volatile element data.
 
- Public Member Functions inherited from stdex::stream::basic
basic (state_t state=state_t::ok)
 
virtual void skip (fsize_t amount)
 Skips given amount of bytes of data on the stream.
 
+state_t state () const
 Returns stream state after last operation.
 
+bool ok () const
 Returns true if the stream state is clean i.e. previous operation was succesful.
 
virtual std::vector< uint8_t > read_remainder (size_t max_length=SIZE_MAX)
 Reads and returns remainder of the stream.
 
+uint8_t read_byte ()
 Reads one byte of data.
 
+void write_byte (uint8_t byte, fsize_t amount=1)
 Writes a byte of data.
 
template<class T >
basicread_data (T &data)
 Reads one primitive data type.
 
template<class T >
basicwrite_data (const T data)
 Writes one primitive data type.
 
template<class _Traits = std::char_traits<char>, class _Ax = std::allocator<char>>
size_t readln (std::basic_string< char, _Traits, _Ax > &str)
 Reads stream to the end-of-line or end-of-file.
 
template<class _Traits = std::char_traits<wchar_t>, class _Ax = std::allocator<wchar_t>>
size_t readln (std::basic_string< wchar_t, _Traits, _Ax > &wstr)
 Reads stream to the end-of-line or end-of-file.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_to>, class _Ax = std::allocator<T_to>>
size_t readln (std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Reads stream to the end-of-line or end-of-file.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
size_t readln_and_attach (std::basic_string< _Elem, _Traits, _Ax > &str)
 Reads stream to the end-of-line or end-of-file and append to str.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_to>, class _Ax = std::allocator<T_to>>
size_t readln_and_attach (std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Reads stream to the end-of-line or end-of-file and append to str.
 
size_t read_array (_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)
 Reads an array of data from the stream.
 
size_t write_array (_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)
 Writes an array of data to the stream.
 
template<class T_from , class T_to >
size_t write_array (const T_from *wstr, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class T_from , class T_to >
size_t write_array (_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_from>, class _Ax = std::allocator<T_from>>
size_t write_array (const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicread_str (std::basic_string< _Elem, _Traits, _Ax > &data)
 Reads length-prefixed string from the stream.
 
template<class T >
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
+void write_charset (charset_id charset)
 Writes UTF8, UTF-16 or UTF-32 byte-order-mark.
 
size_t write_sprintf (_Printf_format_string_params_(2) const char *format, locale_t locale,...)
 Writes formatted string to the stream.
 
size_t write_sprintf (_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)
 Writes formatted string to the stream.
 
size_t write_vsprintf (_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)
 Writes formatted string to the stream.
 
size_t write_vsprintf (_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)
 Writes formatted string to the stream.
 
+basicoperator>> (int8_t &data)
 
+basicoperator<< (const int8_t data)
 
+basicoperator>> (int16_t &data)
 
+basicoperator<< (const int16_t data)
 
+basicoperator>> (int32_t &data)
 
+basicoperator<< (const int32_t data)
 
+basicoperator>> (int64_t &data)
 
+basicoperator<< (const int64_t data)
 
+basicoperator>> (uint8_t &data)
 
+basicoperator<< (const uint8_t data)
 
+basicoperator>> (uint16_t &data)
 
+basicoperator<< (const uint16_t data)
 
+basicoperator>> (uint32_t &data)
 
+basicoperator<< (const uint32_t data)
 
+basicoperator>> (uint64_t &data)
 
+basicoperator<< (const uint64_t data)
 
+basicoperator>> (float &data)
 
+basicoperator<< (const float data)
 
+basicoperator>> (double &data)
 
+basicoperator<< (const double data)
 
+basicoperator>> (char &data)
 
+basicoperator<< (const char data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator>> (std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class T >
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void decode ()
 Decodes one complete internal buffer of data.
 
- Protected Member Functions inherited from stdex::base64_dec
+template<class _Ty , class _Ax >
size_t decode (std::vector< _Ty, _Ax > &out)
 Decodes one complete internal buffer of data.
 
base64_dec () noexcept
 Constructs blank decoding session.
 
template<class _Ty , class _Ax , class _Tchr >
void decode (std::vector< _Ty, _Ax > &out, bool &is_last, const _Tchr *data, size_t size)
 Decodes one block of information, and appends it to the output.
 
+void clear () noexcept
 Resets decoding session.
 
size_t dec_size (size_t size) const noexcept
 Returns maximum decoded size.
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

+char m_temp [3]
 Temporary buffer.
 
+size_t m_temp_off
 Index of data start in m_temp
 
+size_t m_temp_len
 Number of bytes of data in m_temp
 
- Protected Attributes inherited from stdex::stream::converter
+basicm_source
 
- Protected Attributes inherited from stdex::stream::basic
+state_t m_state
 
- Protected Attributes inherited from stdex::base64_dec
+uint8_t m_buf [4]
 Internal buffer.
 
+size_t m_num
 Number of bytes used in m_buf
 
+

Detailed Description

+

Converts from Base64 when reading from a stream.

+

Member Function Documentation

+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual size_t stdex::base64_reader::read (_Out_writes_bytes_to_opt_(length, return) void * data,
size_t length 
)
+
+inlinevirtual
+
+ +

Reads block of data from the stream.

+
Parameters
+ + + +
[out]dataBuffer to store read data
[in]lengthByte limit of data to read
+
+
+
Returns
Number of bytes succesfully read. On EOF, 0 is returned and stream state is set to state_t::eof. On error, 0 is returned and stream state is set to state_t::fail. On null reads (length == 0), 0 is returned and stream state is set to state_t::ok.
+ +

Reimplemented from stdex::stream::converter.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classstdex_1_1base64__reader.png b/classstdex_1_1base64__reader.png new file mode 100644 index 000000000..ac23fe04e Binary files /dev/null and b/classstdex_1_1base64__reader.png differ diff --git a/classstdex_1_1base64__writer-members.html b/classstdex_1_1base64__writer-members.html new file mode 100644 index 000000000..e7949906b --- /dev/null +++ b/classstdex_1_1base64__writer-members.html @@ -0,0 +1,170 @@ + + + + + + + +stdex: Member List + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
stdex::base64_writer Member List
+
+
+ +

This is the complete list of members for stdex::base64_writer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
base64_enc() noexceptstdex::base64_encinlineprotected
base64_writer(stdex::stream::basic &source, size_t max_blocks=19) (defined in stdex::base64_writer)stdex::base64_writerinline
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
clear() noexceptstdex::base64_encinlineprotected
close()stdex::stream::converterinlinevirtual
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
enc_size(size_t size) const noexceptstdex::base64_encinlineprotected
encode()stdex::base64_writerinlineprotected
encode(size_t size)stdex::base64_writerinlineprotected
stdex::base64_enc::encode(std::basic_string< _Elem, _Traits, _Ax > &out, const void *data, size_t size, bool is_last=true)stdex::base64_encinlineprotected
stdex::base64_enc::encode(std::basic_string< _Elem, _Traits, _Ax > &out)stdex::base64_encinlineprotected
stdex::base64_enc::encode(std::basic_string< _Elem, _Traits, _Ax > &out, size_t size)stdex::base64_encinlineprotected
flush()stdex::stream::converterinlinevirtual
m_bufstdex::base64_encprotected
m_max_blocks (defined in stdex::base64_writer)stdex::base64_writerprotected
m_numstdex::base64_encprotected
m_num_blocksstdex::base64_writerprotected
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::converterinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::base64_writerinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~base64_writer() (defined in stdex::base64_writer)stdex::base64_writerinlinevirtual
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
+ + + + diff --git a/classstdex_1_1base64__writer.html b/classstdex_1_1base64__writer.html new file mode 100644 index 000000000..3f1a1caa9 --- /dev/null +++ b/classstdex_1_1base64__writer.html @@ -0,0 +1,456 @@ + + + + + + + +stdex: stdex::base64_writer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
stdex::base64_writer Class Reference
+
+
+ +

Converts to Base64 when writing to a stream. + More...

+ +

#include <stdex/base64.hpp>

+
+Inheritance diagram for stdex::base64_writer:
+
+
+ + +stdex::stream::converter +stdex::base64_enc +stdex::stream::basic + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

base64_writer (stdex::stream::basic &source, size_t max_blocks=19)
 
virtual size_t write (_In_reads_bytes_opt_(length) const void *data, size_t length)
 Writes block of data to the stream.
 
- Public Member Functions inherited from stdex::stream::converter
converter (basic &source)
 
virtual size_t read (_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
 Reads block of data from the stream.
 
virtual void close ()
 Closes the stream.
 
virtual void flush ()
 Persists volatile element data.
 
- Public Member Functions inherited from stdex::stream::basic
basic (state_t state=state_t::ok)
 
virtual void skip (fsize_t amount)
 Skips given amount of bytes of data on the stream.
 
+state_t state () const
 Returns stream state after last operation.
 
+bool ok () const
 Returns true if the stream state is clean i.e. previous operation was succesful.
 
virtual std::vector< uint8_t > read_remainder (size_t max_length=SIZE_MAX)
 Reads and returns remainder of the stream.
 
+uint8_t read_byte ()
 Reads one byte of data.
 
+void write_byte (uint8_t byte, fsize_t amount=1)
 Writes a byte of data.
 
template<class T >
basicread_data (T &data)
 Reads one primitive data type.
 
template<class T >
basicwrite_data (const T data)
 Writes one primitive data type.
 
template<class _Traits = std::char_traits<char>, class _Ax = std::allocator<char>>
size_t readln (std::basic_string< char, _Traits, _Ax > &str)
 Reads stream to the end-of-line or end-of-file.
 
template<class _Traits = std::char_traits<wchar_t>, class _Ax = std::allocator<wchar_t>>
size_t readln (std::basic_string< wchar_t, _Traits, _Ax > &wstr)
 Reads stream to the end-of-line or end-of-file.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_to>, class _Ax = std::allocator<T_to>>
size_t readln (std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Reads stream to the end-of-line or end-of-file.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
size_t readln_and_attach (std::basic_string< _Elem, _Traits, _Ax > &str)
 Reads stream to the end-of-line or end-of-file and append to str.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_to>, class _Ax = std::allocator<T_to>>
size_t readln_and_attach (std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Reads stream to the end-of-line or end-of-file and append to str.
 
size_t read_array (_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)
 Reads an array of data from the stream.
 
size_t write_array (_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)
 Writes an array of data to the stream.
 
template<class T_from , class T_to >
size_t write_array (const T_from *wstr, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class T_from , class T_to >
size_t write_array (_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_from>, class _Ax = std::allocator<T_from>>
size_t write_array (const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicread_str (std::basic_string< _Elem, _Traits, _Ax > &data)
 Reads length-prefixed string from the stream.
 
template<class T >
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
+void write_charset (charset_id charset)
 Writes UTF8, UTF-16 or UTF-32 byte-order-mark.
 
size_t write_sprintf (_Printf_format_string_params_(2) const char *format, locale_t locale,...)
 Writes formatted string to the stream.
 
size_t write_sprintf (_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)
 Writes formatted string to the stream.
 
size_t write_vsprintf (_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)
 Writes formatted string to the stream.
 
size_t write_vsprintf (_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)
 Writes formatted string to the stream.
 
+basicoperator>> (int8_t &data)
 
+basicoperator<< (const int8_t data)
 
+basicoperator>> (int16_t &data)
 
+basicoperator<< (const int16_t data)
 
+basicoperator>> (int32_t &data)
 
+basicoperator<< (const int32_t data)
 
+basicoperator>> (int64_t &data)
 
+basicoperator<< (const int64_t data)
 
+basicoperator>> (uint8_t &data)
 
+basicoperator<< (const uint8_t data)
 
+basicoperator>> (uint16_t &data)
 
+basicoperator<< (const uint16_t data)
 
+basicoperator>> (uint32_t &data)
 
+basicoperator<< (const uint32_t data)
 
+basicoperator>> (uint64_t &data)
 
+basicoperator<< (const uint64_t data)
 
+basicoperator>> (float &data)
 
+basicoperator<< (const float data)
 
+basicoperator>> (double &data)
 
+basicoperator<< (const double data)
 
+basicoperator>> (char &data)
 
+basicoperator<< (const char data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator>> (std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class T >
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void encode ()
 Encodes one complete internal buffer of data.
 
+void encode (size_t size)
 Encodes partial internal buffer of data.
 
- Protected Member Functions inherited from stdex::base64_enc
+template<class _Elem , class _Traits , class _Ax >
void encode (std::basic_string< _Elem, _Traits, _Ax > &out)
 Encodes one complete internal buffer of data.
 
+template<class _Elem , class _Traits , class _Ax >
void encode (std::basic_string< _Elem, _Traits, _Ax > &out, size_t size)
 Encodes partial internal buffer of data.
 
base64_enc () noexcept
 Constructs blank encoding session.
 
template<class _Elem , class _Traits , class _Ax >
void encode (std::basic_string< _Elem, _Traits, _Ax > &out, const void *data, size_t size, bool is_last=true)
 Encodes one block of information, and appends it to the output.
 
+void clear () noexcept
 Resets encoding session.
 
size_t enc_size (size_t size) const noexcept
 Returns maximum encoded size.
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Attributes

+size_t m_max_blocks
 
+size_t m_num_blocks
 
+

‍Maximum number of Base64 blocks (4 chars) to write without a line break (SIZE_MAX no line breaks)

+
+
 
- Protected Attributes inherited from stdex::stream::converter
+basicm_source
 
- Protected Attributes inherited from stdex::stream::basic
+state_t m_state
 
- Protected Attributes inherited from stdex::base64_enc
+uint8_t m_buf [3]
 Internal buffer.
 
+size_t m_num
 Number of bytes used in m_buf
 
+

Detailed Description

+

Converts to Base64 when writing to a stream.

+

Member Function Documentation

+ +

◆ write()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual size_t stdex::base64_writer::write (_In_reads_bytes_opt_(length) const void * data,
size_t length 
)
+
+inlinevirtual
+
+ +

Writes block of data to the stream.

+
Parameters
+ + + +
[in]dataBuffer to write data from
[in]lengthNumber of bytes to write
+
+
+
Returns
Number of bytes succesfully written. On error, stream state is set to state_t::fail.
+ +

Reimplemented from stdex::stream::converter.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classstdex_1_1base64__writer.png b/classstdex_1_1base64__writer.png new file mode 100644 index 000000000..0716a7969 Binary files /dev/null and b/classstdex_1_1base64__writer.png differ diff --git a/classstdex_1_1basic__hash-members.html b/classstdex_1_1basic__hash-members.html index 3af76a3d4..12ad4203b 100644 --- a/classstdex_1_1basic__hash-members.html +++ b/classstdex_1_1basic__hash-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1basic__hash.html b/classstdex_1_1basic__hash.html index 797b64a57..fd483d1bf 100644 --- a/classstdex_1_1basic__hash.html +++ b/classstdex_1_1basic__hash.html @@ -255,7 +255,7 @@ template<class T > diff --git a/classstdex_1_1block__hash-members.html b/classstdex_1_1block__hash-members.html index ace81c743..ba1fcbc90 100644 --- a/classstdex_1_1block__hash-members.html +++ b/classstdex_1_1block__hash-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1block__hash.html b/classstdex_1_1block__hash.html index 195d9b6cf..e58e27ac5 100644 --- a/classstdex_1_1block__hash.html +++ b/classstdex_1_1block__hash.html @@ -245,7 +245,7 @@ template<class T > diff --git a/classstdex_1_1charset__encoder-members.html b/classstdex_1_1charset__encoder-members.html index 9fc53f49e..16265b940 100644 --- a/classstdex_1_1charset__encoder-members.html +++ b/classstdex_1_1charset__encoder-members.html @@ -102,7 +102,7 @@ $(function() { diff --git a/classstdex_1_1charset__encoder.html b/classstdex_1_1charset__encoder.html index 009926ad4..5a3a91b03 100644 --- a/classstdex_1_1charset__encoder.html +++ b/classstdex_1_1charset__encoder.html @@ -607,7 +607,7 @@ template<class _Traits_to = std::char_traits<T_to>, class _Alloc_to = diff --git a/classstdex_1_1crc32__hash-members.html b/classstdex_1_1crc32__hash-members.html index 4ba0c47ca..e7d9af7ca 100644 --- a/classstdex_1_1crc32__hash-members.html +++ b/classstdex_1_1crc32__hash-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1crc32__hash.html b/classstdex_1_1crc32__hash.html index 351696080..13696f3c8 100644 --- a/classstdex_1_1crc32__hash.html +++ b/classstdex_1_1crc32__hash.html @@ -245,7 +245,7 @@ crc32_t m_value diff --git a/classstdex_1_1errno__error.html b/classstdex_1_1errno__error.html deleted file mode 100644 index 5e1757a02..000000000 --- a/classstdex_1_1errno__error.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -stdex: stdex::errno_error Class Reference - - - - - - - - - -
-
- - - - - - -
-
stdex -
-
Additional custom or not Standard C++ covered algorithms
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Public Member Functions | -Protected Attributes | -List of all members
-
stdex::errno_error Class Reference
-
-
- -

Standard C runtime library error. - More...

- -

#include <stdex/errno.hpp>

-
-Inheritance diagram for stdex::errno_error:
-
-
- -
- - - - - - - - - - - - - - - - - -

-Public Member Functions

 errno_error (errno_t num, const std::string &msg)
 Constructs an exception.
 
 errno_error (errno_t num, const char *msg=nullptr)
 Constructs an exception.
 
 errno_error (const std::string &msg)
 Constructs an exception using GetLastError()
 
 errno_error (const char *msg=nullptr)
 Constructs an exception using GetLastError()
 
-errno_t number () const
 Returns the error number.
 
- - - - -

-Protected Attributes

-errno_t m_num
 Numeric error code.
 
-

Detailed Description

-

Standard C runtime library error.

-

Constructor & Destructor Documentation

- -

◆ errno_error() [1/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
stdex::errno_error::errno_error (errno_t num,
const std::string & msg 
)
-
-inline
-
- -

Constructs an exception.

-
Parameters
- - - -
[in]numNumeric error code
[in]msgError message
-
-
- -
-
- -

◆ errno_error() [2/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
stdex::errno_error::errno_error (errno_t num,
const char * msg = nullptr 
)
-
-inline
-
- -

Constructs an exception.

-
Parameters
- - - -
[in]numNumeric error code
[in]msgError message
-
-
- -
-
- -

◆ errno_error() [3/4]

- -
-
- - - - - -
- - - - - - - - -
stdex::errno_error::errno_error (const std::string & msg)
-
-inline
-
- -

Constructs an exception using GetLastError()

-
Parameters
- - -
[in]msgError message
-
-
- -
-
- -

◆ errno_error() [4/4]

- -
-
- - - - - -
- - - - - - - - -
stdex::errno_error::errno_error (const char * msg = nullptr)
-
-inline
-
- -

Constructs an exception using GetLastError()

-
Parameters
- - -
[in]msgError message
-
-
- -
-
-
The documentation for this class was generated from the following file: -
- - - - diff --git a/classstdex_1_1errno__error.png b/classstdex_1_1errno__error.png deleted file mode 100644 index f485bc337..000000000 Binary files a/classstdex_1_1errno__error.png and /dev/null differ diff --git a/classstdex_1_1global__progress-members.html b/classstdex_1_1global__progress-members.html index 94d3fea1a..aa0ffd8fc 100644 --- a/classstdex_1_1global__progress-members.html +++ b/classstdex_1_1global__progress-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1global__progress.html b/classstdex_1_1global__progress.html index a7ddd1e98..14877091a 100644 --- a/classstdex_1_1global__progress.html +++ b/classstdex_1_1global__progress.html @@ -547,7 +547,7 @@ template<class T > diff --git a/classstdex_1_1hex__dec-members.html b/classstdex_1_1hex__dec-members.html index 2d08997d7..20ed04f8d 100644 --- a/classstdex_1_1hex__dec-members.html +++ b/classstdex_1_1hex__dec-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1hex__dec.html b/classstdex_1_1hex__dec.html index 3025cf1b3..47ac897c8 100644 --- a/classstdex_1_1hex__dec.html +++ b/classstdex_1_1hex__dec.html @@ -221,7 +221,7 @@ template<class _Ty , class _Ax , class _Tchr > diff --git a/classstdex_1_1hex__enc-members.html b/classstdex_1_1hex__enc-members.html index e4084d459..6c03b7787 100644 --- a/classstdex_1_1hex__enc-members.html +++ b/classstdex_1_1hex__enc-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1hex__enc.html b/classstdex_1_1hex__enc.html index 22e9017e9..660adc587 100644 --- a/classstdex_1_1hex__enc.html +++ b/classstdex_1_1hex__enc.html @@ -198,7 +198,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classstdex_1_1idrec_1_1record-members.html b/classstdex_1_1idrec_1_1record-members.html index 7724e8a1c..fa0aa330c 100644 --- a/classstdex_1_1idrec_1_1record-members.html +++ b/classstdex_1_1idrec_1_1record-members.html @@ -88,13 +88,19 @@ $(function() { id()stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inlinestatic open(std::ostream &stream)stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inlinestatic open(stdex::stream::basic_file &stream)stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inlinestatic - operator=(const record< T, T_ID, ID, T_SIZE, ALIGN > &r)stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inline + operator<<stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >friend + operator<<stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >friend + operator<<stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >friend + operator=(const record< T, T_ID, ID, T_SIZE, ALIGN > &r)stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inline + operator>>stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >friend + operator>>stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >friend + operator>>stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >friend record(T &d)stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inline record(const T &d)stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >inline diff --git a/classstdex_1_1idrec_1_1record.html b/classstdex_1_1idrec_1_1record.html index 3bf957ba9..89bcb8ba2 100644 --- a/classstdex_1_1idrec_1_1record.html +++ b/classstdex_1_1idrec_1_1record.html @@ -78,6 +78,7 @@ $(function() { Public Member Functions | Static Public Member Functions | Public Attributes | +Friends | List of all members
stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN > Class Template Reference
@@ -131,9 +132,30 @@ Public Attributes T & data  Record data reference.
  + + + + + + + + + + + + + + + + + + + +

+Friends

std::ostream & operator<< (std::ostream &stream, const record< T, T_ID, ID, T_SIZE, ALIGN > r)
 Writes record to a stream.
 
stdex::stream::basic_fileoperator<< (stdex::stream::basic_file &stream, const record< T, T_ID, ID, T_SIZE, ALIGN > r)
 Writes record to a file.
 
stdex::stream::basicoperator<< (stdex::stream::basic &stream, const record< T, T_ID, ID, T_SIZE, ALIGN > r)
 Writes record to a stream.
 
std::istream & operator>> (std::istream &stream, record< T, T_ID, ID, T_SIZE, ALIGN > r)
 Reads record from a stream.
 
stdex::stream::basic_fileoperator>> (stdex::stream::basic_file &stream, record< T, T_ID, ID, T_SIZE, ALIGN > r)
 Reads record from a file.
 
stdex::stream::basicoperator>> (stdex::stream::basic &stream, record< T, T_ID, ID, T_SIZE, ALIGN > r)
 Reads record from a stream.
 

Detailed Description

-
template<class T, class T_ID, const T_ID ID, class T_SIZE, unsigned int ALIGN>
+
template<class T, class T_ID, const T_ID ID, class T_SIZE, T_SIZE ALIGN>
class stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >

Helper class for read/write of records to/from memory.

Constructor & Destructor Documentation

@@ -142,7 +164,7 @@ class stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >

Helper cl

-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -178,7 +200,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -215,7 +237,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -263,7 +285,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -311,7 +333,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -363,7 +385,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -415,7 +437,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -452,7 +474,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -489,7 +511,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
-template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int ALIGN>
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
@@ -518,6 +540,295 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL
Returns
A const reference to this struct
+ + +

Friends And Related Symbol Documentation

+ +

◆ operator<< [1/3]

+ +
+
+
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream & operator<< (std::ostream & stream,
const record< T, T_ID, ID, T_SIZE, ALIGN > r 
)
+
+friend
+
+ +

Writes record to a stream.

+
Parameters
+ + + +
[in]streamOutput stream
[in]rRecord
+
+
+
Returns
The stream stream
+ +
+
+ +

◆ operator<< [2/3]

+ +
+
+
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
stdex::stream::basic & operator<< (stdex::stream::basicstream,
const record< T, T_ID, ID, T_SIZE, ALIGN > r 
)
+
+friend
+
+ +

Writes record to a stream.

+
Parameters
+ + + +
[in]streamOutput stream
[in]rRecord
+
+
+
Returns
The stream stream
+ +
+
+ +

◆ operator<< [3/3]

+ +
+
+
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
stdex::stream::basic_file & operator<< (stdex::stream::basic_filestream,
const record< T, T_ID, ID, T_SIZE, ALIGN > r 
)
+
+friend
+
+ +

Writes record to a file.

+
Parameters
+ + + +
[in]streamOutput file
[in]rRecord
+
+
+
Returns
The stream stream
+ +
+
+ +

◆ operator>> [1/3]

+ +
+
+
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::istream & operator>> (std::istream & stream,
record< T, T_ID, ID, T_SIZE, ALIGN > r 
)
+
+friend
+
+ +

Reads record from a stream.

+
Parameters
+ + + +
[in]streamInput stream
[out]rRecord
+
+
+
Returns
The stream stream
+ +
+
+ +

◆ operator>> [2/3]

+ +
+
+
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
stdex::stream::basic & operator>> (stdex::stream::basicstream,
record< T, T_ID, ID, T_SIZE, ALIGN > r 
)
+
+friend
+
+ +

Reads record from a stream.

+
Parameters
+ + + +
[in]streamInput stream
[out]rRecord
+
+
+
Returns
The stream stream
+ +
+
+ +

◆ operator>> [3/3]

+ +
+
+
+template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
stdex::stream::basic_file & operator>> (stdex::stream::basic_filestream,
record< T, T_ID, ID, T_SIZE, ALIGN > r 
)
+
+friend
+
+ +

Reads record from a file.

+
Parameters
+ + + +
[in]streamInput file
[out]rRecord
+
+
+
Returns
The stream stream
+

The documentation for this class was generated from the following file:
    @@ -526,7 +837,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , unsigned int AL diff --git a/classstdex_1_1lazy__progress-members.html b/classstdex_1_1lazy__progress-members.html index cfbc8f5cc..e7c017245 100644 --- a/classstdex_1_1lazy__progress-members.html +++ b/classstdex_1_1lazy__progress-members.html @@ -95,7 +95,7 @@ $(function() {
diff --git a/classstdex_1_1lazy__progress.html b/classstdex_1_1lazy__progress.html index ee42a91aa..53bfd5bb2 100644 --- a/classstdex_1_1lazy__progress.html +++ b/classstdex_1_1lazy__progress.html @@ -279,7 +279,7 @@ template<class T > diff --git a/classstdex_1_1md5__hash-members.html b/classstdex_1_1md5__hash-members.html index 78e26b4f4..ea6a7773e 100644 --- a/classstdex_1_1md5__hash-members.html +++ b/classstdex_1_1md5__hash-members.html @@ -93,7 +93,7 @@ $(function() {
diff --git a/classstdex_1_1md5__hash.html b/classstdex_1_1md5__hash.html index 6cc67e110..6ad823806 100644 --- a/classstdex_1_1md5__hash.html +++ b/classstdex_1_1md5__hash.html @@ -259,7 +259,7 @@ uint32_t 
m_temp [16] diff --git a/classstdex_1_1parser_1_1basic__angle-members.html b/classstdex_1_1parser_1_1basic__angle-members.html index e0e40964b..c7226f914 100644 --- a/classstdex_1_1parser_1_1basic__angle-members.html +++ b/classstdex_1_1parser_1_1basic__angle-members.html @@ -99,7 +99,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__angle.html b/classstdex_1_1parser_1_1basic__angle.html index 27a6a042b..58e3ab777 100644 --- a/classstdex_1_1parser_1_1basic__angle.html +++ b/classstdex_1_1parser_1_1basic__angle.html @@ -244,7 +244,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__any__cu-members.html b/classstdex_1_1parser_1_1basic__any__cu-members.html index a951d1384..ad78ecc36 100644 --- a/classstdex_1_1parser_1_1basic__any__cu-members.html +++ b/classstdex_1_1parser_1_1basic__any__cu-members.html @@ -92,7 +92,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__any__cu.html b/classstdex_1_1parser_1_1basic__any__cu.html index e18b2283f..baa562f49 100644 --- a/classstdex_1_1parser_1_1basic__any__cu.html +++ b/classstdex_1_1parser_1_1basic__any__cu.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__bol-members.html b/classstdex_1_1parser_1_1basic__bol-members.html index 2bc836b4d..2c280cd71 100644 --- a/classstdex_1_1parser_1_1basic__bol-members.html +++ b/classstdex_1_1parser_1_1basic__bol-members.html @@ -93,7 +93,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__bol.html b/classstdex_1_1parser_1_1basic__bol.html index a58af7c94..00ec7eb7e 100644 --- a/classstdex_1_1parser_1_1basic__bol.html +++ b/classstdex_1_1parser_1_1basic__bol.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__branch-members.html b/classstdex_1_1parser_1_1basic__branch-members.html index ad2b1669c..a1634b859 100644 --- a/classstdex_1_1parser_1_1basic__branch-members.html +++ b/classstdex_1_1parser_1_1basic__branch-members.html @@ -99,7 +99,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__branch.html b/classstdex_1_1parser_1_1basic__branch.html index 5f9b11f25..f15acc07e 100644 --- a/classstdex_1_1parser_1_1basic__branch.html +++ b/classstdex_1_1parser_1_1basic__branch.html @@ -253,7 +253,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__chemical__formula-members.html b/classstdex_1_1parser_1_1basic__chemical__formula-members.html index e4c7f0c0b..f4cc09e49 100644 --- a/classstdex_1_1parser_1_1basic__chemical__formula-members.html +++ b/classstdex_1_1parser_1_1basic__chemical__formula-members.html @@ -97,7 +97,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__chemical__formula.html b/classstdex_1_1parser_1_1basic__chemical__formula.html index 39844d824..5c42ea280 100644 --- a/classstdex_1_1parser_1_1basic__chemical__formula.html +++ b/classstdex_1_1parser_1_1basic__chemical__formula.html @@ -239,7 +239,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__creditor__reference-members.html b/classstdex_1_1parser_1_1basic__creditor__reference-members.html index 63c4647d1..458d57677 100644 --- a/classstdex_1_1parser_1_1basic__creditor__reference-members.html +++ b/classstdex_1_1parser_1_1basic__creditor__reference-members.html @@ -96,7 +96,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__creditor__reference.html b/classstdex_1_1parser_1_1basic__creditor__reference.html index 7d8b259e6..341dcaae6 100644 --- a/classstdex_1_1parser_1_1basic__creditor__reference.html +++ b/classstdex_1_1parser_1_1basic__creditor__reference.html @@ -240,7 +240,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__cu-members.html b/classstdex_1_1parser_1_1basic__cu-members.html index f932ef330..a6bbf07d3 100644 --- a/classstdex_1_1parser_1_1basic__cu-members.html +++ b/classstdex_1_1parser_1_1basic__cu-members.html @@ -94,7 +94,7 @@ $(function() {
diff --git a/classstdex_1_1parser_1_1basic__cu.html b/classstdex_1_1parser_1_1basic__cu.html index 3b84e8a52..9f23109cd 100644 --- a/classstdex_1_1parser_1_1basic__cu.html +++ b/classstdex_1_1parser_1_1basic__cu.html @@ -201,7 +201,7 @@ template<clas
diff --git a/classstdex_1_1parser_1_1basic__cu__set-members.html b/classstdex_1_1parser_1_1basic__cu__set-members.html index b8c34fd81..bd9162808 100644 --- a/classstdex_1_1parser_1_1basic__cu__set-members.html +++ b/classstdex_1_1parser_1_1basic__cu__set-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__cu__set.html b/classstdex_1_1parser_1_1basic__cu__set.html index 65c1153e5..79baad013 100644 --- a/classstdex_1_1parser_1_1basic__cu__set.html +++ b/classstdex_1_1parser_1_1basic__cu__set.html @@ -210,7 +210,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__date-members.html b/classstdex_1_1parser_1_1basic__date-members.html index 1475ce4da..33771f7e6 100644 --- a/classstdex_1_1parser_1_1basic__date-members.html +++ b/classstdex_1_1parser_1_1basic__date-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__date.html b/classstdex_1_1parser_1_1basic__date.html index 016662d8e..10266e2bb 100644 --- a/classstdex_1_1parser_1_1basic__date.html +++ b/classstdex_1_1parser_1_1basic__date.html @@ -252,7 +252,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__dns__domain__char-members.html b/classstdex_1_1parser_1_1basic__dns__domain__char-members.html index a72e4120e..16cebeacb 100644 --- a/classstdex_1_1parser_1_1basic__dns__domain__char-members.html +++ b/classstdex_1_1parser_1_1basic__dns__domain__char-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__dns__domain__char.html b/classstdex_1_1parser_1_1basic__dns__domain__char.html index d833c3d4d..f6edcb46e 100644 --- a/classstdex_1_1parser_1_1basic__dns__domain__char.html +++ b/classstdex_1_1parser_1_1basic__dns__domain__char.html @@ -203,7 +203,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__dns__name-members.html b/classstdex_1_1parser_1_1basic__dns__name-members.html index f08345d35..7761e4c50 100644 --- a/classstdex_1_1parser_1_1basic__dns__name-members.html +++ b/classstdex_1_1parser_1_1basic__dns__name-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__dns__name.html b/classstdex_1_1parser_1_1basic__dns__name.html index b5c829491..13973e3f0 100644 --- a/classstdex_1_1parser_1_1basic__dns__name.html +++ b/classstdex_1_1parser_1_1basic__dns__name.html @@ -205,7 +205,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__email__address-members.html b/classstdex_1_1parser_1_1basic__email__address-members.html index bae047c95..ab39dbb98 100644 --- a/classstdex_1_1parser_1_1basic__email__address-members.html +++ b/classstdex_1_1parser_1_1basic__email__address-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__email__address.html b/classstdex_1_1parser_1_1basic__email__address.html index 5395ec8f7..0c6ac7934 100644 --- a/classstdex_1_1parser_1_1basic__email__address.html +++ b/classstdex_1_1parser_1_1basic__email__address.html @@ -245,7 +245,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__emoticon-members.html b/classstdex_1_1parser_1_1basic__emoticon-members.html index c7a8cf4cc..093082fdf 100644 --- a/classstdex_1_1parser_1_1basic__emoticon-members.html +++ b/classstdex_1_1parser_1_1basic__emoticon-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__emoticon.html b/classstdex_1_1parser_1_1basic__emoticon.html index 474be0b1b..c72be38be 100644 --- a/classstdex_1_1parser_1_1basic__emoticon.html +++ b/classstdex_1_1parser_1_1basic__emoticon.html @@ -243,7 +243,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__eol-members.html b/classstdex_1_1parser_1_1basic__eol-members.html index 2ceeaccc4..02ad97ef1 100644 --- a/classstdex_1_1parser_1_1basic__eol-members.html +++ b/classstdex_1_1parser_1_1basic__eol-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__eol.html b/classstdex_1_1parser_1_1basic__eol.html index c06b2f7cb..8755270ad 100644 --- a/classstdex_1_1parser_1_1basic__eol.html +++ b/classstdex_1_1parser_1_1basic__eol.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__fraction-members.html b/classstdex_1_1parser_1_1basic__fraction-members.html index 9d5dcc01c..2f9788981 100644 --- a/classstdex_1_1parser_1_1basic__fraction-members.html +++ b/classstdex_1_1parser_1_1basic__fraction-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__fraction.html b/classstdex_1_1parser_1_1basic__fraction.html index 8bc3453f3..85e73cb31 100644 --- a/classstdex_1_1parser_1_1basic__fraction.html +++ b/classstdex_1_1parser_1_1basic__fraction.html @@ -232,7 +232,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__iban-members.html b/classstdex_1_1parser_1_1basic__iban-members.html index c411fc4a9..303df31e3 100644 --- a/classstdex_1_1parser_1_1basic__iban-members.html +++ b/classstdex_1_1parser_1_1basic__iban-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__iban.html b/classstdex_1_1parser_1_1basic__iban.html index 2e7a47be1..5f57f6b32 100644 --- a/classstdex_1_1parser_1_1basic__iban.html +++ b/classstdex_1_1parser_1_1basic__iban.html @@ -244,7 +244,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer-members.html b/classstdex_1_1parser_1_1basic__integer-members.html index fab9c6094..5d0f0b039 100644 --- a/classstdex_1_1parser_1_1basic__integer-members.html +++ b/classstdex_1_1parser_1_1basic__integer-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer.html b/classstdex_1_1parser_1_1basic__integer.html index 313af4883..aa9b2b1e7 100644 --- a/classstdex_1_1parser_1_1basic__integer.html +++ b/classstdex_1_1parser_1_1basic__integer.html @@ -180,7 +180,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer10-members.html b/classstdex_1_1parser_1_1basic__integer10-members.html index b5ff74a04..4789227c1 100644 --- a/classstdex_1_1parser_1_1basic__integer10-members.html +++ b/classstdex_1_1parser_1_1basic__integer10-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer10.html b/classstdex_1_1parser_1_1basic__integer10.html index a3dbe5822..2a88bfd25 100644 --- a/classstdex_1_1parser_1_1basic__integer10.html +++ b/classstdex_1_1parser_1_1basic__integer10.html @@ -234,7 +234,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer10ts-members.html b/classstdex_1_1parser_1_1basic__integer10ts-members.html index 0c4fa0f58..b45c1a6e4 100644 --- a/classstdex_1_1parser_1_1basic__integer10ts-members.html +++ b/classstdex_1_1parser_1_1basic__integer10ts-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer10ts.html b/classstdex_1_1parser_1_1basic__integer10ts.html index e3958787d..1ca7f0589 100644 --- a/classstdex_1_1parser_1_1basic__integer10ts.html +++ b/classstdex_1_1parser_1_1basic__integer10ts.html @@ -248,7 +248,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer16-members.html b/classstdex_1_1parser_1_1basic__integer16-members.html index dc26826e9..ad487b5ca 100644 --- a/classstdex_1_1parser_1_1basic__integer16-members.html +++ b/classstdex_1_1parser_1_1basic__integer16-members.html @@ -110,7 +110,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer16.html b/classstdex_1_1parser_1_1basic__integer16.html index 20745279b..fc1f8f739 100644 --- a/classstdex_1_1parser_1_1basic__integer16.html +++ b/classstdex_1_1parser_1_1basic__integer16.html @@ -252,7 +252,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__ipv4__address-members.html b/classstdex_1_1parser_1_1basic__ipv4__address-members.html index 77b00c529..84715a5de 100644 --- a/classstdex_1_1parser_1_1basic__ipv4__address-members.html +++ b/classstdex_1_1parser_1_1basic__ipv4__address-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__ipv4__address.html b/classstdex_1_1parser_1_1basic__ipv4__address.html index 8ecd2e21b..594d7b74f 100644 --- a/classstdex_1_1parser_1_1basic__ipv4__address.html +++ b/classstdex_1_1parser_1_1basic__ipv4__address.html @@ -265,7 +265,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__ipv6__address-members.html b/classstdex_1_1parser_1_1basic__ipv6__address-members.html index 71b90b4ed..ce7aa4878 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__address-members.html +++ b/classstdex_1_1parser_1_1basic__ipv6__address-members.html @@ -113,7 +113,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__ipv6__address.html b/classstdex_1_1parser_1_1basic__ipv6__address.html index b1007f699..ed26c7544 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__address.html +++ b/classstdex_1_1parser_1_1basic__ipv6__address.html @@ -290,7 +290,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html index f2dfc8b37..94c0321af 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html +++ b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html index 9896d52b5..27a054ec4 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html +++ b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__iterations-members.html b/classstdex_1_1parser_1_1basic__iterations-members.html index 4f18cc778..3fc953133 100644 --- a/classstdex_1_1parser_1_1basic__iterations-members.html +++ b/classstdex_1_1parser_1_1basic__iterations-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__iterations.html b/classstdex_1_1parser_1_1basic__iterations.html index 5b856f593..bbe5a4cae 100644 --- a/classstdex_1_1parser_1_1basic__iterations.html +++ b/classstdex_1_1parser_1_1basic__iterations.html @@ -211,7 +211,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__json__string-members.html b/classstdex_1_1parser_1_1basic__json__string-members.html index 8e47682b6..d9522009b 100644 --- a/classstdex_1_1parser_1_1basic__json__string-members.html +++ b/classstdex_1_1parser_1_1basic__json__string-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__json__string.html b/classstdex_1_1parser_1_1basic__json__string.html index 2a3ecddbb..dc19c6b5d 100644 --- a/classstdex_1_1parser_1_1basic__json__string.html +++ b/classstdex_1_1parser_1_1basic__json__string.html @@ -260,7 +260,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__mixed__numeral-members.html b/classstdex_1_1parser_1_1basic__mixed__numeral-members.html index 5e61efa0a..fd3d4ba4c 100644 --- a/classstdex_1_1parser_1_1basic__mixed__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__mixed__numeral-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__mixed__numeral.html b/classstdex_1_1parser_1_1basic__mixed__numeral.html index 30618a68e..931a6e1f9 100644 --- a/classstdex_1_1parser_1_1basic__mixed__numeral.html +++ b/classstdex_1_1parser_1_1basic__mixed__numeral.html @@ -247,7 +247,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__monetary__numeral-members.html b/classstdex_1_1parser_1_1basic__monetary__numeral-members.html index a665c64ca..788f3609a 100644 --- a/classstdex_1_1parser_1_1basic__monetary__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__monetary__numeral-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__monetary__numeral.html b/classstdex_1_1parser_1_1basic__monetary__numeral.html index c7cbbe5eb..f337e96f7 100644 --- a/classstdex_1_1parser_1_1basic__monetary__numeral.html +++ b/classstdex_1_1parser_1_1basic__monetary__numeral.html @@ -251,7 +251,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__noop-members.html b/classstdex_1_1parser_1_1basic__noop-members.html index a10cb15cc..fc6b44313 100644 --- a/classstdex_1_1parser_1_1basic__noop-members.html +++ b/classstdex_1_1parser_1_1basic__noop-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__noop.html b/classstdex_1_1parser_1_1basic__noop.html index 318347f8f..60fedf80f 100644 --- a/classstdex_1_1parser_1_1basic__noop.html +++ b/classstdex_1_1parser_1_1basic__noop.html @@ -188,7 +188,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__parser-members.html b/classstdex_1_1parser_1_1basic__parser-members.html index 10f709c29..60db58819 100644 --- a/classstdex_1_1parser_1_1basic__parser-members.html +++ b/classstdex_1_1parser_1_1basic__parser-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__parser.html b/classstdex_1_1parser_1_1basic__parser.html index 7a3332e9b..53708b374 100644 --- a/classstdex_1_1parser_1_1basic__parser.html +++ b/classstdex_1_1parser_1_1basic__parser.html @@ -188,7 +188,7 @@ class stdex::parser::basic_parser< T >

Base template for all parse

diff --git a/classstdex_1_1parser_1_1basic__permutation-members.html b/classstdex_1_1parser_1_1basic__permutation-members.html index 293b23d1a..30ecf286a 100644 --- a/classstdex_1_1parser_1_1basic__permutation-members.html +++ b/classstdex_1_1parser_1_1basic__permutation-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__permutation.html b/classstdex_1_1parser_1_1basic__permutation.html index af7844285..8e8007500 100644 --- a/classstdex_1_1parser_1_1basic__permutation.html +++ b/classstdex_1_1parser_1_1basic__permutation.html @@ -216,7 +216,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__phone__number-members.html b/classstdex_1_1parser_1_1basic__phone__number-members.html index 269bcb946..139cbd91f 100644 --- a/classstdex_1_1parser_1_1basic__phone__number-members.html +++ b/classstdex_1_1parser_1_1basic__phone__number-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__phone__number.html b/classstdex_1_1parser_1_1basic__phone__number.html index 0d3f9f057..74840d9b9 100644 --- a/classstdex_1_1parser_1_1basic__phone__number.html +++ b/classstdex_1_1parser_1_1basic__phone__number.html @@ -246,7 +246,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__punct__cu-members.html b/classstdex_1_1parser_1_1basic__punct__cu-members.html index cc0afbf0e..fb1228962 100644 --- a/classstdex_1_1parser_1_1basic__punct__cu-members.html +++ b/classstdex_1_1parser_1_1basic__punct__cu-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__punct__cu.html b/classstdex_1_1parser_1_1basic__punct__cu.html index 40204030f..bcbe6ba47 100644 --- a/classstdex_1_1parser_1_1basic__punct__cu.html +++ b/classstdex_1_1parser_1_1basic__punct__cu.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__roman__numeral-members.html b/classstdex_1_1parser_1_1basic__roman__numeral-members.html index c2ca21c6a..2276e871d 100644 --- a/classstdex_1_1parser_1_1basic__roman__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__roman__numeral-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__roman__numeral.html b/classstdex_1_1parser_1_1basic__roman__numeral.html index fc075fe87..5b428210f 100644 --- a/classstdex_1_1parser_1_1basic__roman__numeral.html +++ b/classstdex_1_1parser_1_1basic__roman__numeral.html @@ -231,7 +231,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__scientific__numeral-members.html b/classstdex_1_1parser_1_1basic__scientific__numeral-members.html index 656f7acf0..7357754c4 100644 --- a/classstdex_1_1parser_1_1basic__scientific__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__scientific__numeral-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__scientific__numeral.html b/classstdex_1_1parser_1_1basic__scientific__numeral.html index 2ace835e8..b6cb9abd3 100644 --- a/classstdex_1_1parser_1_1basic__scientific__numeral.html +++ b/classstdex_1_1parser_1_1basic__scientific__numeral.html @@ -267,7 +267,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__score-members.html b/classstdex_1_1parser_1_1basic__score-members.html index 9fd87acdc..f071a56b5 100644 --- a/classstdex_1_1parser_1_1basic__score-members.html +++ b/classstdex_1_1parser_1_1basic__score-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__score.html b/classstdex_1_1parser_1_1basic__score.html index e7623ea9c..4fac3d331 100644 --- a/classstdex_1_1parser_1_1basic__score.html +++ b/classstdex_1_1parser_1_1basic__score.html @@ -236,7 +236,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__sequence-members.html b/classstdex_1_1parser_1_1basic__sequence-members.html index 9192dc5f7..2db8d8b8d 100644 --- a/classstdex_1_1parser_1_1basic__sequence-members.html +++ b/classstdex_1_1parser_1_1basic__sequence-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__sequence.html b/classstdex_1_1parser_1_1basic__sequence.html index cbde002bd..3c9d46405 100644 --- a/classstdex_1_1parser_1_1basic__sequence.html +++ b/classstdex_1_1parser_1_1basic__sequence.html @@ -209,7 +209,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__set-members.html b/classstdex_1_1parser_1_1basic__set-members.html index 62e9c367a..dadbcb60e 100644 --- a/classstdex_1_1parser_1_1basic__set-members.html +++ b/classstdex_1_1parser_1_1basic__set-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__set.html b/classstdex_1_1parser_1_1basic__set.html index 9c2970fc5..cf5f2020d 100644 --- a/classstdex_1_1parser_1_1basic__set.html +++ b/classstdex_1_1parser_1_1basic__set.html @@ -223,7 +223,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__si__reference-members.html b/classstdex_1_1parser_1_1basic__si__reference-members.html index 27047ff6d..d4cdf0c97 100644 --- a/classstdex_1_1parser_1_1basic__si__reference-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference-members.html @@ -102,7 +102,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__si__reference.html b/classstdex_1_1parser_1_1basic__si__reference.html index 1833bb85c..24a8419d7 100644 --- a/classstdex_1_1parser_1_1basic__si__reference.html +++ b/classstdex_1_1parser_1_1basic__si__reference.html @@ -265,7 +265,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html b/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html index 6a1fd1225..1ee8d1610 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__si__reference__delimiter.html b/classstdex_1_1parser_1_1basic__si__reference__delimiter.html index 7d1c184df..f4e4992b6 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__delimiter.html +++ b/classstdex_1_1parser_1_1basic__si__reference__delimiter.html @@ -192,7 +192,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__si__reference__part-members.html b/classstdex_1_1parser_1_1basic__si__reference__part-members.html index 5644880f5..db1a5c670 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__part-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference__part-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__si__reference__part.html b/classstdex_1_1parser_1_1basic__si__reference__part.html index 7c795986e..4d03ab74b 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__part.html +++ b/classstdex_1_1parser_1_1basic__si__reference__part.html @@ -192,7 +192,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__signed__numeral-members.html b/classstdex_1_1parser_1_1basic__signed__numeral-members.html index f556318cf..6f6f1f6a3 100644 --- a/classstdex_1_1parser_1_1basic__signed__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__signed__numeral-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__signed__numeral.html b/classstdex_1_1parser_1_1basic__signed__numeral.html index 0419efe3f..1192a1c16 100644 --- a/classstdex_1_1parser_1_1basic__signed__numeral.html +++ b/classstdex_1_1parser_1_1basic__signed__numeral.html @@ -239,7 +239,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__space__cu-members.html b/classstdex_1_1parser_1_1basic__space__cu-members.html index f8970dc78..2afa13691 100644 --- a/classstdex_1_1parser_1_1basic__space__cu-members.html +++ b/classstdex_1_1parser_1_1basic__space__cu-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__space__cu.html b/classstdex_1_1parser_1_1basic__space__cu.html index 11bd456e2..5b18abb60 100644 --- a/classstdex_1_1parser_1_1basic__space__cu.html +++ b/classstdex_1_1parser_1_1basic__space__cu.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html b/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html index bb974f368..d7943ba00 100644 --- a/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html +++ b/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__space__or__punct__cu.html b/classstdex_1_1parser_1_1basic__space__or__punct__cu.html index c64ce0e3f..7f77350ad 100644 --- a/classstdex_1_1parser_1_1basic__space__or__punct__cu.html +++ b/classstdex_1_1parser_1_1basic__space__or__punct__cu.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__string-members.html b/classstdex_1_1parser_1_1basic__string-members.html index e24fcb511..9c32fbe59 100644 --- a/classstdex_1_1parser_1_1basic__string-members.html +++ b/classstdex_1_1parser_1_1basic__string-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__string.html b/classstdex_1_1parser_1_1basic__string.html index 601c2acf3..c2f83b54c 100644 --- a/classstdex_1_1parser_1_1basic__string.html +++ b/classstdex_1_1parser_1_1basic__string.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__string__branch-members.html b/classstdex_1_1parser_1_1basic__string__branch-members.html index 50a908c82..023305c43 100644 --- a/classstdex_1_1parser_1_1basic__string__branch-members.html +++ b/classstdex_1_1parser_1_1basic__string__branch-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__string__branch.html b/classstdex_1_1parser_1_1basic__string__branch.html index a73c1204f..99c78e8e2 100644 --- a/classstdex_1_1parser_1_1basic__string__branch.html +++ b/classstdex_1_1parser_1_1basic__string__branch.html @@ -185,7 +185,7 @@ class stdex::parser::basic_string_branch< T, T_parser >

Test for a

diff --git a/classstdex_1_1parser_1_1basic__time-members.html b/classstdex_1_1parser_1_1basic__time-members.html index d93dde202..8ee740fd6 100644 --- a/classstdex_1_1parser_1_1basic__time-members.html +++ b/classstdex_1_1parser_1_1basic__time-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__time.html b/classstdex_1_1parser_1_1basic__time.html index 7f2681c63..43c877174 100644 --- a/classstdex_1_1parser_1_1basic__time.html +++ b/classstdex_1_1parser_1_1basic__time.html @@ -242,7 +242,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url-members.html b/classstdex_1_1parser_1_1basic__url-members.html index c12d09623..2c6f2a6e1 100644 --- a/classstdex_1_1parser_1_1basic__url-members.html +++ b/classstdex_1_1parser_1_1basic__url-members.html @@ -108,7 +108,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url.html b/classstdex_1_1parser_1_1basic__url.html index d1c948bf9..3531d94b4 100644 --- a/classstdex_1_1parser_1_1basic__url.html +++ b/classstdex_1_1parser_1_1basic__url.html @@ -272,7 +272,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__password__char-members.html b/classstdex_1_1parser_1_1basic__url__password__char-members.html index 9ed2b718f..0332cca99 100644 --- a/classstdex_1_1parser_1_1basic__url__password__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__password__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__password__char.html b/classstdex_1_1parser_1_1basic__url__password__char.html index 24aa2c82e..8859fae78 100644 --- a/classstdex_1_1parser_1_1basic__url__password__char.html +++ b/classstdex_1_1parser_1_1basic__url__password__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__path-members.html b/classstdex_1_1parser_1_1basic__url__path-members.html index 460b6873b..0728d4d41 100644 --- a/classstdex_1_1parser_1_1basic__url__path-members.html +++ b/classstdex_1_1parser_1_1basic__url__path-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__path.html b/classstdex_1_1parser_1_1basic__url__path.html index 0d2636abe..6970d6165 100644 --- a/classstdex_1_1parser_1_1basic__url__path.html +++ b/classstdex_1_1parser_1_1basic__url__path.html @@ -242,7 +242,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__path__char-members.html b/classstdex_1_1parser_1_1basic__url__path__char-members.html index 783a67867..731a6b90a 100644 --- a/classstdex_1_1parser_1_1basic__url__path__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__path__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__path__char.html b/classstdex_1_1parser_1_1basic__url__path__char.html index ac05ec431..c1fc2b2ac 100644 --- a/classstdex_1_1parser_1_1basic__url__path__char.html +++ b/classstdex_1_1parser_1_1basic__url__path__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__username__char-members.html b/classstdex_1_1parser_1_1basic__url__username__char-members.html index 981efca36..d907cb2cc 100644 --- a/classstdex_1_1parser_1_1basic__url__username__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__username__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__username__char.html b/classstdex_1_1parser_1_1basic__url__username__char.html index 443060ae9..20ce44881 100644 --- a/classstdex_1_1parser_1_1basic__url__username__char.html +++ b/classstdex_1_1parser_1_1basic__url__username__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1http__agent-members.html b/classstdex_1_1parser_1_1http__agent-members.html index 58a0a6985..64a35fca9 100644 --- a/classstdex_1_1parser_1_1http__agent-members.html +++ b/classstdex_1_1parser_1_1http__agent-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__agent.html b/classstdex_1_1parser_1_1http__agent.html index a7353aa20..0da8e955b 100644 --- a/classstdex_1_1parser_1_1http__agent.html +++ b/classstdex_1_1parser_1_1http__agent.html @@ -220,7 +220,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__any__type-members.html b/classstdex_1_1parser_1_1http__any__type-members.html index e1a3fd6cb..7d2447cfd 100644 --- a/classstdex_1_1parser_1_1http__any__type-members.html +++ b/classstdex_1_1parser_1_1http__any__type-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__any__type.html b/classstdex_1_1parser_1_1http__any__type.html index b7bb1c28c..0c1c3eaf2 100644 --- a/classstdex_1_1parser_1_1http__any__type.html +++ b/classstdex_1_1parser_1_1http__any__type.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__asterisk-members.html b/classstdex_1_1parser_1_1http__asterisk-members.html index da57eb31b..dc55f93d3 100644 --- a/classstdex_1_1parser_1_1http__asterisk-members.html +++ b/classstdex_1_1parser_1_1http__asterisk-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__asterisk.html b/classstdex_1_1parser_1_1http__asterisk.html index 548ba4e34..f8489ff8a 100644 --- a/classstdex_1_1parser_1_1http__asterisk.html +++ b/classstdex_1_1parser_1_1http__asterisk.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__cookie-members.html b/classstdex_1_1parser_1_1http__cookie-members.html index 4d0ecf242..fa6acfd6d 100644 --- a/classstdex_1_1parser_1_1http__cookie-members.html +++ b/classstdex_1_1parser_1_1http__cookie-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__cookie.html b/classstdex_1_1parser_1_1http__cookie.html index 5a20cca1e..4d595709b 100644 --- a/classstdex_1_1parser_1_1http__cookie.html +++ b/classstdex_1_1parser_1_1http__cookie.html @@ -230,7 +230,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__cookie__parameter-members.html b/classstdex_1_1parser_1_1http__cookie__parameter-members.html index 93c446a23..1bcccac7e 100644 --- a/classstdex_1_1parser_1_1http__cookie__parameter-members.html +++ b/classstdex_1_1parser_1_1http__cookie__parameter-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__cookie__parameter.html b/classstdex_1_1parser_1_1http__cookie__parameter.html index 82a878533..25ecb9245 100644 --- a/classstdex_1_1parser_1_1http__cookie__parameter.html +++ b/classstdex_1_1parser_1_1http__cookie__parameter.html @@ -224,7 +224,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__header-members.html b/classstdex_1_1parser_1_1http__header-members.html index ef26fc66c..046345506 100644 --- a/classstdex_1_1parser_1_1http__header-members.html +++ b/classstdex_1_1parser_1_1http__header-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__header.html b/classstdex_1_1parser_1_1http__header.html index aca1582bb..8168fd589 100644 --- a/classstdex_1_1parser_1_1http__header.html +++ b/classstdex_1_1parser_1_1http__header.html @@ -224,7 +224,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__language-members.html b/classstdex_1_1parser_1_1http__language-members.html index 4b3e992df..cfdb46a47 100644 --- a/classstdex_1_1parser_1_1http__language-members.html +++ b/classstdex_1_1parser_1_1http__language-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__language.html b/classstdex_1_1parser_1_1http__language.html index b5dfdf89c..5916a8198 100644 --- a/classstdex_1_1parser_1_1http__language.html +++ b/classstdex_1_1parser_1_1http__language.html @@ -217,7 +217,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__line__break-members.html b/classstdex_1_1parser_1_1http__line__break-members.html index 44e8c95c9..afb10ff11 100644 --- a/classstdex_1_1parser_1_1http__line__break-members.html +++ b/classstdex_1_1parser_1_1http__line__break-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__line__break.html b/classstdex_1_1parser_1_1http__line__break.html index 94ada8bb5..0b41e5d78 100644 --- a/classstdex_1_1parser_1_1http__line__break.html +++ b/classstdex_1_1parser_1_1http__line__break.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__media__range-members.html b/classstdex_1_1parser_1_1http__media__range-members.html index 6ba28552c..2b41df6fc 100644 --- a/classstdex_1_1parser_1_1http__media__range-members.html +++ b/classstdex_1_1parser_1_1http__media__range-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__media__range.html b/classstdex_1_1parser_1_1http__media__range.html index d28c98c4c..19a9e42e6 100644 --- a/classstdex_1_1parser_1_1http__media__range.html +++ b/classstdex_1_1parser_1_1http__media__range.html @@ -225,7 +225,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__media__type-members.html b/classstdex_1_1parser_1_1http__media__type-members.html index 78bf9c888..661be29a6 100644 --- a/classstdex_1_1parser_1_1http__media__type-members.html +++ b/classstdex_1_1parser_1_1http__media__type-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__media__type.html b/classstdex_1_1parser_1_1http__media__type.html index 9d2e7b9ab..cd35f56c3 100644 --- a/classstdex_1_1parser_1_1http__media__type.html +++ b/classstdex_1_1parser_1_1http__media__type.html @@ -229,7 +229,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__parameter-members.html b/classstdex_1_1parser_1_1http__parameter-members.html index a8d03e074..2645935c4 100644 --- a/classstdex_1_1parser_1_1http__parameter-members.html +++ b/classstdex_1_1parser_1_1http__parameter-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__parameter.html b/classstdex_1_1parser_1_1http__parameter.html index 6e1be3b1b..498f20ee3 100644 --- a/classstdex_1_1parser_1_1http__parameter.html +++ b/classstdex_1_1parser_1_1http__parameter.html @@ -226,7 +226,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__protocol-members.html b/classstdex_1_1parser_1_1http__protocol-members.html index 366e8527f..542fd12d0 100644 --- a/classstdex_1_1parser_1_1http__protocol-members.html +++ b/classstdex_1_1parser_1_1http__protocol-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__protocol.html b/classstdex_1_1parser_1_1http__protocol.html index 3ab1b12f8..976810a96 100644 --- a/classstdex_1_1parser_1_1http__protocol.html +++ b/classstdex_1_1parser_1_1http__protocol.html @@ -230,7 +230,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__quoted__string-members.html b/classstdex_1_1parser_1_1http__quoted__string-members.html index 65fa46ea1..070e316d7 100644 --- a/classstdex_1_1parser_1_1http__quoted__string-members.html +++ b/classstdex_1_1parser_1_1http__quoted__string-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__quoted__string.html b/classstdex_1_1parser_1_1http__quoted__string.html index 5576864e5..705c79902 100644 --- a/classstdex_1_1parser_1_1http__quoted__string.html +++ b/classstdex_1_1parser_1_1http__quoted__string.html @@ -222,7 +222,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__request-members.html b/classstdex_1_1parser_1_1http__request-members.html index 83d82123a..b4da9ab13 100644 --- a/classstdex_1_1parser_1_1http__request-members.html +++ b/classstdex_1_1parser_1_1http__request-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__request.html b/classstdex_1_1parser_1_1http__request.html index 4b2e1ab08..dd08587c3 100644 --- a/classstdex_1_1parser_1_1http__request.html +++ b/classstdex_1_1parser_1_1http__request.html @@ -230,7 +230,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__space-members.html b/classstdex_1_1parser_1_1http__space-members.html index 3045d3e2a..4b99c2367 100644 --- a/classstdex_1_1parser_1_1http__space-members.html +++ b/classstdex_1_1parser_1_1http__space-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__space.html b/classstdex_1_1parser_1_1http__space.html index 0b67826af..f398b44fd 100644 --- a/classstdex_1_1parser_1_1http__space.html +++ b/classstdex_1_1parser_1_1http__space.html @@ -191,7 +191,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1http__text__char-members.html b/classstdex_1_1parser_1_1http__text__char-members.html index dc5c8584a..fe420187e 100644 --- a/classstdex_1_1parser_1_1http__text__char-members.html +++ b/classstdex_1_1parser_1_1http__text__char-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__text__char.html b/classstdex_1_1parser_1_1http__text__char.html index 917a074af..97a853c02 100644 --- a/classstdex_1_1parser_1_1http__text__char.html +++ b/classstdex_1_1parser_1_1http__text__char.html @@ -191,7 +191,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1http__token-members.html b/classstdex_1_1parser_1_1http__token-members.html index 6eab045a2..5572edd53 100644 --- a/classstdex_1_1parser_1_1http__token-members.html +++ b/classstdex_1_1parser_1_1http__token-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__token.html b/classstdex_1_1parser_1_1http__token.html index a6bdf6c18..9957ae16e 100644 --- a/classstdex_1_1parser_1_1http__token.html +++ b/classstdex_1_1parser_1_1http__token.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url-members.html b/classstdex_1_1parser_1_1http__url-members.html index 07b53d6fa..e9b7026ee 100644 --- a/classstdex_1_1parser_1_1http__url-members.html +++ b/classstdex_1_1parser_1_1http__url-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url.html b/classstdex_1_1parser_1_1http__url.html index b279f04d6..2804636bb 100644 --- a/classstdex_1_1parser_1_1http__url.html +++ b/classstdex_1_1parser_1_1http__url.html @@ -229,7 +229,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__parameter-members.html b/classstdex_1_1parser_1_1http__url__parameter-members.html index 9ca278216..6dfd882ba 100644 --- a/classstdex_1_1parser_1_1http__url__parameter-members.html +++ b/classstdex_1_1parser_1_1http__url__parameter-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__parameter.html b/classstdex_1_1parser_1_1http__url__parameter.html index a9309a785..eb66b51ed 100644 --- a/classstdex_1_1parser_1_1http__url__parameter.html +++ b/classstdex_1_1parser_1_1http__url__parameter.html @@ -220,7 +220,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__path-members.html b/classstdex_1_1parser_1_1http__url__path-members.html index 8e9e08fcd..c624c41bf 100644 --- a/classstdex_1_1parser_1_1http__url__path-members.html +++ b/classstdex_1_1parser_1_1http__url__path-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__path.html b/classstdex_1_1parser_1_1http__url__path.html index 506667b1e..e46e47b06 100644 --- a/classstdex_1_1parser_1_1http__url__path.html +++ b/classstdex_1_1parser_1_1http__url__path.html @@ -218,7 +218,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__path__segment-members.html b/classstdex_1_1parser_1_1http__url__path__segment-members.html index fe8029b54..dcb4f9cc8 100644 --- a/classstdex_1_1parser_1_1http__url__path__segment-members.html +++ b/classstdex_1_1parser_1_1http__url__path__segment-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__path__segment.html b/classstdex_1_1parser_1_1http__url__path__segment.html index 4da731ef5..f8db199de 100644 --- a/classstdex_1_1parser_1_1http__url__path__segment.html +++ b/classstdex_1_1parser_1_1http__url__path__segment.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__port-members.html b/classstdex_1_1parser_1_1http__url__port-members.html index 6ee7cca54..041fd0c0b 100644 --- a/classstdex_1_1parser_1_1http__url__port-members.html +++ b/classstdex_1_1parser_1_1http__url__port-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__port.html b/classstdex_1_1parser_1_1http__url__port.html index 9b6216bde..1a66ee96c 100644 --- a/classstdex_1_1parser_1_1http__url__port.html +++ b/classstdex_1_1parser_1_1http__url__port.html @@ -220,7 +220,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__server-members.html b/classstdex_1_1parser_1_1http__url__server-members.html index 4a0f8145e..208de6188 100644 --- a/classstdex_1_1parser_1_1http__url__server-members.html +++ b/classstdex_1_1parser_1_1http__url__server-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__server.html b/classstdex_1_1parser_1_1http__url__server.html index 8d86f8425..f63a424b8 100644 --- a/classstdex_1_1parser_1_1http__url__server.html +++ b/classstdex_1_1parser_1_1http__url__server.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__value-members.html b/classstdex_1_1parser_1_1http__value-members.html index 069ca69f4..48230027c 100644 --- a/classstdex_1_1parser_1_1http__value-members.html +++ b/classstdex_1_1parser_1_1http__value-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__value.html b/classstdex_1_1parser_1_1http__value.html index e91baf46f..6a4d6cfd7 100644 --- a/classstdex_1_1parser_1_1http__value.html +++ b/classstdex_1_1parser_1_1http__value.html @@ -222,7 +222,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__value__collection-members.html b/classstdex_1_1parser_1_1http__value__collection-members.html index 65a15ab1d..20b7717ff 100644 --- a/classstdex_1_1parser_1_1http__value__collection-members.html +++ b/classstdex_1_1parser_1_1http__value__collection-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__value__collection.html b/classstdex_1_1parser_1_1http__value__collection.html index 00a711807..aaab779fb 100644 --- a/classstdex_1_1parser_1_1http__value__collection.html +++ b/classstdex_1_1parser_1_1http__value__collection.html @@ -107,7 +107,7 @@ class stdex::parser::http_value_collection< _Key, T >

Collection o

diff --git a/classstdex_1_1parser_1_1http__weight-members.html b/classstdex_1_1parser_1_1http__weight-members.html index 0612088bc..4f5da6f30 100644 --- a/classstdex_1_1parser_1_1http__weight-members.html +++ b/classstdex_1_1parser_1_1http__weight-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__weight.html b/classstdex_1_1parser_1_1http__weight.html index 22b838e9b..d4ea5d7f6 100644 --- a/classstdex_1_1parser_1_1http__weight.html +++ b/classstdex_1_1parser_1_1http__weight.html @@ -221,7 +221,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__weighted__value-members.html b/classstdex_1_1parser_1_1http__weighted__value-members.html index a092fc99b..f6d4fc9b4 100644 --- a/classstdex_1_1parser_1_1http__weighted__value-members.html +++ b/classstdex_1_1parser_1_1http__weighted__value-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__weighted__value.html b/classstdex_1_1parser_1_1http__weighted__value.html index f6bf249cf..61f55aee4 100644 --- a/classstdex_1_1parser_1_1http__weighted__value.html +++ b/classstdex_1_1parser_1_1http__weighted__value.html @@ -231,7 +231,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1parser__collection-members.html b/classstdex_1_1parser_1_1parser__collection-members.html index 1c6712b0e..0a8530f7f 100644 --- a/classstdex_1_1parser_1_1parser__collection-members.html +++ b/classstdex_1_1parser_1_1parser__collection-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1parser__collection.html b/classstdex_1_1parser_1_1parser__collection.html index d09aedb73..48795e658 100644 --- a/classstdex_1_1parser_1_1parser__collection.html +++ b/classstdex_1_1parser_1_1parser__collection.html @@ -189,7 +189,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1sgml__any__cp-members.html b/classstdex_1_1parser_1_1sgml__any__cp-members.html index 5123c957a..e5849098c 100644 --- a/classstdex_1_1parser_1_1sgml__any__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__any__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__any__cp.html b/classstdex_1_1parser_1_1sgml__any__cp.html index 935839825..93a96d3a3 100644 --- a/classstdex_1_1parser_1_1sgml__any__cp.html +++ b/classstdex_1_1parser_1_1sgml__any__cp.html @@ -196,7 +196,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__cp-members.html b/classstdex_1_1parser_1_1sgml__cp-members.html index e38cae43b..cca715964 100644 --- a/classstdex_1_1parser_1_1sgml__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__cp-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__cp.html b/classstdex_1_1parser_1_1sgml__cp.html index 5ed414211..78e3f5668 100644 --- a/classstdex_1_1parser_1_1sgml__cp.html +++ b/classstdex_1_1parser_1_1sgml__cp.html @@ -197,7 +197,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1sgml__cp__set-members.html b/classstdex_1_1parser_1_1sgml__cp__set-members.html index b9d0319c7..50e1f81b1 100644 --- a/classstdex_1_1parser_1_1sgml__cp__set-members.html +++ b/classstdex_1_1parser_1_1sgml__cp__set-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__cp__set.html b/classstdex_1_1parser_1_1sgml__cp__set.html index bd8ed7d0b..49595f07d 100644 --- a/classstdex_1_1parser_1_1sgml__cp__set.html +++ b/classstdex_1_1parser_1_1sgml__cp__set.html @@ -210,7 +210,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html b/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html index 52ac85e35..72e444975 100644 --- a/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html +++ b/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__dns__domain__char.html b/classstdex_1_1parser_1_1sgml__dns__domain__char.html index 2cbea737c..584dbb795 100644 --- a/classstdex_1_1parser_1_1sgml__dns__domain__char.html +++ b/classstdex_1_1parser_1_1sgml__dns__domain__char.html @@ -205,7 +205,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html index 0ca60457c..86aa61943 100644 --- a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html +++ b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html index d07482fae..ea8d224b7 100644 --- a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html +++ b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html @@ -187,7 +187,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__punct__cp-members.html b/classstdex_1_1parser_1_1sgml__punct__cp-members.html index 0bc0d0879..31ef296c7 100644 --- a/classstdex_1_1parser_1_1sgml__punct__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__punct__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__punct__cp.html b/classstdex_1_1parser_1_1sgml__punct__cp.html index 7b1bbb66d..95dce45ea 100644 --- a/classstdex_1_1parser_1_1sgml__punct__cp.html +++ b/classstdex_1_1parser_1_1sgml__punct__cp.html @@ -200,7 +200,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__space__cp-members.html b/classstdex_1_1parser_1_1sgml__space__cp-members.html index 6e6ae49e6..349874cb0 100644 --- a/classstdex_1_1parser_1_1sgml__space__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__space__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__space__cp.html b/classstdex_1_1parser_1_1sgml__space__cp.html index e64db115a..6671f50ad 100644 --- a/classstdex_1_1parser_1_1sgml__space__cp.html +++ b/classstdex_1_1parser_1_1sgml__space__cp.html @@ -200,7 +200,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html b/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html index 479b69601..3234c31af 100644 --- a/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html b/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html index 9437e3dd7..173ecb789 100644 --- a/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html +++ b/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html @@ -200,7 +200,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__string-members.html b/classstdex_1_1parser_1_1sgml__string-members.html index 95291b9ef..cbbfd1988 100644 --- a/classstdex_1_1parser_1_1sgml__string-members.html +++ b/classstdex_1_1parser_1_1sgml__string-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__string.html b/classstdex_1_1parser_1_1sgml__string.html index b9d84373c..0f03d2042 100644 --- a/classstdex_1_1parser_1_1sgml__string.html +++ b/classstdex_1_1parser_1_1sgml__string.html @@ -194,7 +194,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1sgml__url__password__char-members.html b/classstdex_1_1parser_1_1sgml__url__password__char-members.html index 30e351547..7434654cb 100644 --- a/classstdex_1_1parser_1_1sgml__url__password__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__password__char-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__url__password__char.html b/classstdex_1_1parser_1_1sgml__url__password__char.html index 2811d27b0..51c2becc2 100644 --- a/classstdex_1_1parser_1_1sgml__url__password__char.html +++ b/classstdex_1_1parser_1_1sgml__url__password__char.html @@ -196,7 +196,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__url__path__char-members.html b/classstdex_1_1parser_1_1sgml__url__path__char-members.html index 034db139c..f4705f10e 100644 --- a/classstdex_1_1parser_1_1sgml__url__path__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__path__char-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__url__path__char.html b/classstdex_1_1parser_1_1sgml__url__path__char.html index fc5398840..c98ee17d0 100644 --- a/classstdex_1_1parser_1_1sgml__url__path__char.html +++ b/classstdex_1_1parser_1_1sgml__url__path__char.html @@ -196,7 +196,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__url__username__char-members.html b/classstdex_1_1parser_1_1sgml__url__username__char-members.html index d08744d88..c5dd79370 100644 --- a/classstdex_1_1parser_1_1sgml__url__username__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__username__char-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__url__username__char.html b/classstdex_1_1parser_1_1sgml__url__username__char.html index 9a0aeb5e0..4596b91a1 100644 --- a/classstdex_1_1parser_1_1sgml__url__username__char.html +++ b/classstdex_1_1parser_1_1sgml__url__username__char.html @@ -196,7 +196,7 @@ std::locale m_locale diff --git a/classstdex_1_1progress-members.html b/classstdex_1_1progress-members.html index 26fd2035a..fc795d3fa 100644 --- a/classstdex_1_1progress-members.html +++ b/classstdex_1_1progress-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1progress.html b/classstdex_1_1progress.html index 7ab61b45a..727b92039 100644 --- a/classstdex_1_1progress.html +++ b/classstdex_1_1progress.html @@ -319,7 +319,7 @@ template<class T > diff --git a/classstdex_1_1progress__switcher-members.html b/classstdex_1_1progress__switcher-members.html index ba4da9054..9e52d84c5 100644 --- a/classstdex_1_1progress__switcher-members.html +++ b/classstdex_1_1progress__switcher-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1progress__switcher.html b/classstdex_1_1progress__switcher.html index 6453f3c56..933a5bc3d 100644 --- a/classstdex_1_1progress__switcher.html +++ b/classstdex_1_1progress__switcher.html @@ -163,7 +163,7 @@ class stdex::progress_switcher< T >

Progress indicator switcher. <

diff --git a/classstdex_1_1ring-members.html b/classstdex_1_1ring-members.html index 527558c9e..cc7c55356 100644 --- a/classstdex_1_1ring-members.html +++ b/classstdex_1_1ring-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1ring.html b/classstdex_1_1ring.html index f344c4d91..984f36db4 100644 --- a/classstdex_1_1ring.html +++ b/classstdex_1_1ring.html @@ -296,7 +296,7 @@ template<class T , size_t CAPACITY> diff --git a/classstdex_1_1sha1__hash-members.html b/classstdex_1_1sha1__hash-members.html index 9578d842d..5afe8ff80 100644 --- a/classstdex_1_1sha1__hash-members.html +++ b/classstdex_1_1sha1__hash-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1sha1__hash.html b/classstdex_1_1sha1__hash.html index 3187f4d0c..a41bdf172 100644 --- a/classstdex_1_1sha1__hash.html +++ b/classstdex_1_1sha1__hash.html @@ -259,7 +259,7 @@ uint32_t m_temp [16] diff --git a/classstdex_1_1stream_1_1async__reader-members.html b/classstdex_1_1stream_1_1async__reader-members.html index 05020d0f1..960a153e7 100644 --- a/classstdex_1_1stream_1_1async__reader-members.html +++ b/classstdex_1_1stream_1_1async__reader-members.html @@ -83,41 +83,45 @@ $(function() { async_reader(basic &source) (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >inline basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline close()stdex::stream::converterinlinevirtual - converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected - converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline - done() (defined in stdex::stream::converter)stdex::stream::converterinlineprotected + converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline flush()stdex::stream::converterinlinevirtual - init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected - m_ring (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >protected - m_source (defined in stdex::stream::converter)stdex::stream::converterprotected - m_state (defined in stdex::stream::basic)stdex::stream::basicprotected - m_worker (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >protected - ok() conststdex::stream::basicinline - operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - process(async_reader &w) (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >inlineprotectedstatic + m_ring (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >protected + m_source (defined in stdex::stream::converter)stdex::stream::converterprotected + m_state (defined in stdex::stream::basic)stdex::stream::basicprotected + m_worker (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >protected + ok() conststdex::stream::basicinline + operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + process() (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >inlineprotected read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::async_reader< CAPACITY >inlinevirtual read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline read_byte()stdex::stream::basicinline @@ -142,15 +146,16 @@ $(function() { write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline write_str(const T *data)stdex::stream::basicinline - write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline - write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline - write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline - ~async_reader() (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >inlinevirtual - ~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline + write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline + write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline + ~async_reader() (defined in stdex::stream::async_reader< CAPACITY >)stdex::stream::async_reader< CAPACITY >inlinevirtual + ~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual diff --git a/classstdex_1_1stream_1_1async__reader.html b/classstdex_1_1stream_1_1async__reader.html index 06c518567..60fabd207 100644 --- a/classstdex_1_1stream_1_1async__reader.html +++ b/classstdex_1_1stream_1_1async__reader.html @@ -76,7 +76,7 @@ $(function() {
Public Member Functions | -Static Protected Member Functions | +Protected Member Functions | Protected Attributes | List of all members
stdex::stream::async_reader< CAPACITY > Class Template Reference
@@ -93,7 +93,7 @@ Inheritance diagram for stdex::stream::async_reader< CAPACITY >:
-stdex::stream::converter +stdex::stream::converter stdex::stream::basic
@@ -199,6 +199,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -292,12 +296,40 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  - - - + + +

-Static Protected Member Functions

-static void process (async_reader &w)
 

+Protected Member Functions

+void process ()
 
@@ -315,16 +347,6 @@ std::thread  -

Protected Attributes

m_worker state_t m_state
 
- - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 

Detailed Description

template<size_t CAPACITY = default_async_limit>
@@ -392,7 +414,7 @@ template<size_t CAPACITY = default_async_limit>
diff --git a/classstdex_1_1stream_1_1async__writer-members.html b/classstdex_1_1stream_1_1async__writer-members.html index 3eae3a033..8f102d4cf 100644 --- a/classstdex_1_1stream_1_1async__writer-members.html +++ b/classstdex_1_1stream_1_1async__writer-members.html @@ -83,41 +83,45 @@ $(function() { async_writer(basic &source) (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >inline basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline close()stdex::stream::converterinlinevirtual - converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected - converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline - done() (defined in stdex::stream::converter)stdex::stream::converterinlineprotected + converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline flush()stdex::stream::async_writer< CAPACITY >inlinevirtual - init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected - m_ring (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >protected - m_source (defined in stdex::stream::converter)stdex::stream::converterprotected - m_state (defined in stdex::stream::basic)stdex::stream::basicprotected - m_worker (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >protected - ok() conststdex::stream::basicinline - operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline - operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - process(async_writer &w) (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >inlineprotectedstatic + m_ring (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >protected + m_source (defined in stdex::stream::converter)stdex::stream::converterprotected + m_state (defined in stdex::stream::basic)stdex::stream::basicprotected + m_worker (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >protected + ok() conststdex::stream::basicinline + operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + process() (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >inlineprotected read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::converterinlinevirtual read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline read_byte()stdex::stream::basicinline @@ -142,15 +146,16 @@ $(function() { write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline write_str(const T *data)stdex::stream::basicinline - write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline - write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline - write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline - ~async_writer() (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >inlinevirtual - ~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline + write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline + write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline + ~async_writer() (defined in stdex::stream::async_writer< CAPACITY >)stdex::stream::async_writer< CAPACITY >inlinevirtual + ~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual diff --git a/classstdex_1_1stream_1_1async__writer.html b/classstdex_1_1stream_1_1async__writer.html index e9318adc5..f1e907697 100644 --- a/classstdex_1_1stream_1_1async__writer.html +++ b/classstdex_1_1stream_1_1async__writer.html @@ -76,7 +76,7 @@ $(function() {
Public Member Functions | -Static Protected Member Functions | +Protected Member Functions | Protected Attributes | List of all members
stdex::stream::async_writer< CAPACITY > Class Template Reference
@@ -93,7 +93,7 @@ Inheritance diagram for stdex::stream::async_writer< CAPACITY >:
-stdex::stream::converter +stdex::stream::converter stdex::stream::basic
@@ -199,6 +199,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -292,12 +296,40 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  - - - + + +

-Static Protected Member Functions

-static void process (async_writer &w)
 

+Protected Member Functions

+void process ()
 
@@ -315,16 +347,6 @@ std::thread  -

Protected Attributes

m_worker state_t m_state
 
- - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 

Detailed Description

template<size_t CAPACITY = default_async_limit>
@@ -423,7 +445,7 @@ template<size_t CAPACITY = default_async_limit>
diff --git a/classstdex_1_1stream_1_1basic-members.html b/classstdex_1_1stream_1_1basic-members.html index 8af38629b..d757d6412 100644 --- a/classstdex_1_1stream_1_1basic-members.html +++ b/classstdex_1_1stream_1_1basic-members.html @@ -97,6 +97,10 @@ $(function() { operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline @@ -109,30 +113,34 @@ $(function() { operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual - read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline - read_byte()stdex::stream::basicinline - read_data(T &data)stdex::stream::basicinline - read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual - read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline - readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline - readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline - readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline - readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - skip(fsize_t amount)stdex::stream::basicinlinevirtual - state() conststdex::stream::basicinline - write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basicinlinevirtual - write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline - write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline - write_charset(charset_id charset)stdex::stream::basicinline - write_data(const T data)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline - write_str(const T *data)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual + read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline + read_byte()stdex::stream::basicinline + read_data(T &data)stdex::stream::basicinline + read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual + read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline + readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline + readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline + readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + skip(fsize_t amount)stdex::stream::basicinlinevirtual + state() conststdex::stream::basicinline + write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basicinlinevirtual + write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline + write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline + write_charset(charset_id charset)stdex::stream::basicinline + write_data(const T data)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline + write_str(const T *data)stdex::stream::basicinline + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline @@ -140,7 +148,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1basic.html b/classstdex_1_1stream_1_1basic.html index 8890e48a5..1618a2dd3 100644 --- a/classstdex_1_1stream_1_1basic.html +++ b/classstdex_1_1stream_1_1basic.html @@ -97,20 +97,23 @@ Inheritance diagram for stdex::stream::basic: stdex::stream::basic_file stdex::stream::basic_sys -stdex::stream::converter +stdex::stream::converter stdex::stream::fifo stdex::stream::replicator +stdex::stream::socket stdex::stream::cache stdex::stream::diag_file stdex::stream::file stdex::stream::file_window stdex::stream::memory_file stdex::stream::file -stdex::stream::async_reader< CAPACITY > -stdex::stream::async_writer< CAPACITY > -stdex::stream::buffer -stdex::stream::limiter -stdex::stream_hasher< T > +stdex::base64_reader +stdex::base64_writer +stdex::stream::async_reader< CAPACITY > +stdex::stream::async_writer< CAPACITY > +stdex::stream::buffer +stdex::stream::limiter +stdex::stream_hasher< T > @@ -207,6 +210,10 @@ void  + + + + @@ -300,6 +307,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > + + + + + + + + + + + + + + + + + + + + +
write_byte (uint8
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
@@ -338,7 +373,7 @@ state_t Closes the stream.

-

Reimplemented in stdex::stream::converter, stdex::stream::replicator, stdex::stream::file_window, stdex::stream::cache, stdex::stream::basic_sys, stdex::stream::memory_file, stdex::stream::fifo, and stdex::stream::diag_file.

+

Reimplemented in stdex::stream::converter, stdex::stream::replicator, stdex::stream::file_window, stdex::stream::cache, stdex::stream::basic_sys, stdex::stream::socket, stdex::stream::memory_file, stdex::stream::fifo, and stdex::stream::diag_file.

@@ -415,7 +450,7 @@ state_t 
Returns
Number of bytes succesfully read. On EOF, 0 is returned and stream state is set to state_t::eof. On error, 0 is returned and stream state is set to state_t::fail. On null reads (length == 0), 0 is returned and stream state is set to state_t::ok.
-

Reimplemented in stdex::stream_hasher< T >, stdex::stream::converter, stdex::stream::async_reader< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, stdex::stream::window, stdex::stream::file_window, stdex::stream::cache, stdex::stream::basic_sys, stdex::stream::memory_file, stdex::stream::fifo, and stdex::stream::diag_file.

+

Reimplemented in stdex::base64_reader, stdex::stream_hasher< T >, stdex::stream::converter, stdex::stream::async_reader< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, stdex::stream::window, stdex::stream::file_window, stdex::stream::cache, stdex::stream::basic_sys, stdex::stream::socket, stdex::stream::memory_file, stdex::stream::fifo, and stdex::stream::diag_file.

@@ -826,7 +861,7 @@ template<class T_from , class T_to , class _Traits = std::char_traits<T_t
Returns
Number of bytes succesfully written. On error, stream state is set to state_t::fail.
-

Reimplemented in stdex::stream_hasher< T >, stdex::stream::converter, stdex::stream::replicator, stdex::stream::async_writer< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, stdex::stream::window, stdex::stream::file_window, stdex::stream::cache, stdex::stream::basic_sys, stdex::stream::memory_file, stdex::stream::fifo, and stdex::stream::diag_file.

+

Reimplemented in stdex::base64_writer, stdex::stream_hasher< T >, stdex::stream::converter, stdex::stream::replicator, stdex::stream::async_writer< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, stdex::stream::window, stdex::stream::file_window, stdex::stream::cache, stdex::stream::basic_sys, stdex::stream::socket, stdex::stream::memory_file, stdex::stream::fifo, and stdex::stream::diag_file.

@@ -1152,10 +1187,48 @@ template<class T >

Writes formatted string to the stream.

Returns
Number of characters written
+ + + +

◆ write_str() [1/2]

+ +
+
+
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
+

Protected Attributes

m_state m_state
+ + + + +
+ + + + + + + + +
basic & stdex::stream::basic::write_str (const std::basic_string< _Elem, _Traits, _Ax > & data)
+
+inline
+
+ +

Writes string to the stream length-prefixed.

+

This method is intended for chaining: e.g. stream.write_str(a).write_str(b).write_str(c)... Since it would make it impossible to detect if any of the write_str(a) or write_str(b) failed should write_str(c) succeed, the method skips writing if stream state is not ok.

+
Parameters
+ + +
[in]dataString to write
+
+
+
Returns
This stream
+
-

◆ write_str()

+

◆ write_str() [2/2]

@@ -1327,7 +1400,7 @@ template<class T >
diff --git a/classstdex_1_1stream_1_1basic.png b/classstdex_1_1stream_1_1basic.png index f0aa24ca0..6bfeb09d7 100644 Binary files a/classstdex_1_1stream_1_1basic.png and b/classstdex_1_1stream_1_1basic.png differ diff --git a/classstdex_1_1stream_1_1basic__file-members.html b/classstdex_1_1stream_1_1basic__file-members.html index ecd62e4c7..f5c64c4d5 100644 --- a/classstdex_1_1stream_1_1basic__file-members.html +++ b/classstdex_1_1stream_1_1basic__file-members.html @@ -101,6 +101,10 @@ $(function() { operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline @@ -113,42 +117,46 @@ $(function() { operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual - read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline - read_byte()stdex::stream::basicinline - read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline - read_data(T &data)stdex::stream::basicinline - read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual - read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline - readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline - readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline - readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline - readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - seek(foff_t offset, seek_t how=seek_t::beg)=0stdex::stream::basic_filepure virtual - seekbeg(fpos_t offset)stdex::stream::basic_fileinline - seekcur(foff_t offset)stdex::stream::basic_fileinline - seekend(foff_t offset)stdex::stream::basic_fileinline - set_atime(time_point date)stdex::stream::basic_fileinlinevirtual - set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual - set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual - size()=0stdex::stream::basic_filepure virtual - skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual - state() conststdex::stream::basicinline - tell() const =0stdex::stream::basic_filepure virtual - truncate()=0stdex::stream::basic_filepure virtual - unlock(fpos_t offset, fsize_t length)stdex::stream::basic_fileinlinevirtual - write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basicinlinevirtual - write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline - write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline - write_charset(charset_id charset)stdex::stream::basicinline - write_data(const T data)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline - write_str(const T *data)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual + read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline + read_byte()stdex::stream::basicinline + read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline + read_data(T &data)stdex::stream::basicinline + read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual + read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline + readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline + readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline + readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + seek(foff_t offset, seek_t how=seek_t::beg)=0stdex::stream::basic_filepure virtual + seekbeg(fpos_t offset)stdex::stream::basic_fileinline + seekcur(foff_t offset)stdex::stream::basic_fileinline + seekend(foff_t offset)stdex::stream::basic_fileinline + set_atime(time_point date)stdex::stream::basic_fileinlinevirtual + set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual + set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual + size()=0stdex::stream::basic_filepure virtual + skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual + state() conststdex::stream::basicinline + tell() const =0stdex::stream::basic_filepure virtual + truncate()=0stdex::stream::basic_filepure virtual + unlock(fpos_t offset, fsize_t length)stdex::stream::basic_fileinlinevirtual + write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basicinlinevirtual + write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline + write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline + write_charset(charset_id charset)stdex::stream::basicinline + write_data(const T data)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline + write_str(const T *data)stdex::stream::basicinline + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline @@ -156,7 +164,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1basic__file.html b/classstdex_1_1stream_1_1basic__file.html index 5850f7ab3..18886a971 100644 --- a/classstdex_1_1stream_1_1basic__file.html +++ b/classstdex_1_1stream_1_1basic__file.html @@ -243,6 +243,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -336,6 +340,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -929,7 +961,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1basic__sys-members.html b/classstdex_1_1stream_1_1basic__sys-members.html index e7d26c53f..cb9de88fe 100644 --- a/classstdex_1_1stream_1_1basic__sys-members.html +++ b/classstdex_1_1stream_1_1basic__sys-members.html @@ -103,6 +103,10 @@ $(function() { + + + + @@ -117,33 +121,37 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -152,7 +160,7 @@ $(function() {

Additional Inherited Members

m_state
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator=(const sys_object &other) (defined in stdex::sys_object)stdex::sys_objectinline
operator=(sys_object &&other) noexcept (defined in stdex::sys_object)stdex::sys_objectinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basic_sysinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
sys_object(sys_handle h=invalid_handle) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(const sys_object &other) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(sys_object &&other) noexcept (defined in stdex::sys_object)stdex::sys_objectinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basic_sysinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basic_sysinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
sys_object(sys_handle h=invalid_handle) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(const sys_object &other) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(sys_object &&other) noexcept (defined in stdex::sys_object)stdex::sys_objectinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basic_sysinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1basic__sys.html b/classstdex_1_1stream_1_1basic__sys.html index 56d9eb90d..0009af71f 100644 --- a/classstdex_1_1stream_1_1basic__sys.html +++ b/classstdex_1_1stream_1_1basic__sys.html @@ -194,6 +194,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -287,6 +291,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  - Public Member Functions inherited from stdex::sys_object  sys_object (sys_handle h=invalid_handle) @@ -495,7 +527,7 @@ sys_handle m_h diff --git a/classstdex_1_1stream_1_1buffer-members.html b/classstdex_1_1stream_1_1buffer-members.html index b0ba7ed95..08b9804f3 100644 --- a/classstdex_1_1stream_1_1buffer-members.html +++ b/classstdex_1_1stream_1_1buffer-members.html @@ -81,15 +81,11 @@ $(function() {

This is the complete list of members for stdex::stream::buffer, including all inherited members.

- - - - + + - - - - + + @@ -107,6 +103,10 @@ $(function() { + + + + @@ -119,30 +119,34 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -151,7 +155,7 @@ $(function() {
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
buffer(size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffer)stdex::stream::bufferinlineexplicitprotected
buffer(basic &source, size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffer)stdex::stream::bufferinline
close()stdex::stream::converterinlinevirtual
converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected
buffer(basic &source, size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffer)stdex::stream::bufferinline
close()stdex::stream::converterinlinevirtual
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
done() (defined in stdex::stream::buffer)stdex::stream::bufferinlineprotected
flush()stdex::stream::bufferinlinevirtual
flush_write() (defined in stdex::stream::buffer)stdex::stream::bufferinlineprotected
init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
flush()stdex::stream::bufferinlinevirtual
flush_write() (defined in stdex::stream::buffer)stdex::stream::bufferinlineprotected
m_read_buffer (defined in stdex::stream::buffer)stdex::stream::bufferprotected
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::bufferinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::bufferinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::bufferinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::bufferinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1buffer.html b/classstdex_1_1stream_1_1buffer.html index ca3679146..8d24b99f9 100644 --- a/classstdex_1_1stream_1_1buffer.html +++ b/classstdex_1_1stream_1_1buffer.html @@ -94,7 +94,7 @@ Inheritance diagram for stdex::stream::buffer:
-stdex::stream::converter +stdex::stream::converter stdex::stream::basic stdex::stream::buffered_sys @@ -206,6 +206,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -299,25 +303,40 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  - - - - - - - - -

Protected Member Functions

buffer (size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size)
 
-void done ()
 
void flush_write ()
 
- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 
@@ -470,7 +489,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1buffered__sys-members.html b/classstdex_1_1stream_1_1buffered__sys-members.html index 6527bf116..26894f466 100644 --- a/classstdex_1_1stream_1_1buffered__sys-members.html +++ b/classstdex_1_1stream_1_1buffered__sys-members.html @@ -81,16 +81,12 @@ $(function() {

This is the complete list of members for stdex::stream::buffered_sys, including all inherited members.

Protected Attributes

m_state
- - - - - + + + - - - - + + @@ -108,6 +104,10 @@ $(function() { + + + + @@ -120,30 +120,34 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -153,7 +157,7 @@ $(function() {
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
buffer(size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffer)stdex::stream::bufferinlineexplicitprotected
buffer(basic &source, size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffer)stdex::stream::bufferinline
buffered_sys(sys_handle h=invalid_handle, size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffered_sys)stdex::stream::buffered_sysinline
close()stdex::stream::converterinlinevirtual
converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected
buffer(basic &source, size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffer)stdex::stream::bufferinline
buffered_sys(sys_handle h=invalid_handle, size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size) (defined in stdex::stream::buffered_sys)stdex::stream::buffered_sysinline
close()stdex::stream::converterinlinevirtual
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
done() (defined in stdex::stream::buffer)stdex::stream::bufferinlineprotected
flush()stdex::stream::bufferinlinevirtual
flush_write() (defined in stdex::stream::buffer)stdex::stream::bufferinlineprotected
init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
flush()stdex::stream::bufferinlinevirtual
flush_write() (defined in stdex::stream::buffer)stdex::stream::bufferinlineprotected
m_read_buffer (defined in stdex::stream::buffer)stdex::stream::bufferprotected
m_source (defined in stdex::stream::buffered_sys)stdex::stream::buffered_sysprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::bufferinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::bufferinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::bufferinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::bufferinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1buffered__sys.html b/classstdex_1_1stream_1_1buffered__sys.html index 22ab8a9a7..4dcb40433 100644 --- a/classstdex_1_1stream_1_1buffered__sys.html +++ b/classstdex_1_1stream_1_1buffered__sys.html @@ -93,7 +93,7 @@ Inheritance diagram for stdex::stream::buffered_sys: stdex::stream::buffer -stdex::stream::converter +stdex::stream::converter stdex::stream::basic @@ -203,6 +203,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -296,6 +300,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -321,22 +353,9 @@ state_t  - - - - - - - - -

Protected Attributes

m_state

Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::buffer
buffer (size_t read_buffer_size=default_buffer_size, size_t write_buffer_size=default_buffer_size)
 
-void done ()
 
void flush_write ()
 
- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 

Detailed Description

Buffered OS data stream (file, pipe, socket...)

@@ -346,7 +365,7 @@ void done ()
diff --git a/classstdex_1_1stream_1_1cache-members.html b/classstdex_1_1stream_1_1cache-members.html index f4e6d86be..a0c5dbf2e 100644 --- a/classstdex_1_1stream_1_1cache-members.html +++ b/classstdex_1_1stream_1_1cache-members.html @@ -82,47 +82,45 @@ $(function() { - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -154,12 +152,12 @@ $(function() { - - - - - - + + + + + + @@ -168,7 +166,7 @@ $(function() {
atime() conststdex::stream::cacheinlinevirtual
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
cache(size_t cache_size=default_cache_size) (defined in stdex::stream::cache)stdex::stream::cacheinlineexplicitprotected
cache(basic_file &source, size_t cache_size=default_cache_size) (defined in stdex::stream::cache)stdex::stream::cacheinline
close()stdex::stream::cacheinlinevirtual
ctime() conststdex::stream::cacheinlinevirtual
done() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
cache(basic_file &source, size_t cache_size=default_cache_size) (defined in stdex::stream::cache)stdex::stream::cacheinline
close()stdex::stream::cacheinlinevirtual
ctime() conststdex::stream::cacheinlinevirtual
flush()stdex::stream::cacheinlinevirtual
flush_cache() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
init(basic_file &source) (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
invalidate_cache() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
load_cache(fpos_t start) (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
lock(fpos_t offset, fsize_t length)stdex::stream::cacheinlinevirtual
m_cache (defined in stdex::stream::cache)stdex::stream::cacheprotected
m_offsetstdex::stream::cacheprotected
m_source (defined in stdex::stream::cache)stdex::stream::cacheprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
mtime() conststdex::stream::cacheinlinevirtual
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
mtime() conststdex::stream::cacheinlinevirtual
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::cacheinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_cache() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1cache.html b/classstdex_1_1stream_1_1cache.html index 54a78bca5..487fe3df1 100644 --- a/classstdex_1_1stream_1_1cache.html +++ b/classstdex_1_1stream_1_1cache.html @@ -75,10 +75,7 @@ $(function() {
-Classes | Public Member Functions | -Protected Member Functions | -Protected Attributes | List of all members
stdex::stream::cache Class Reference
@@ -100,11 +97,6 @@ Inheritance diagram for stdex::stream::cache: - - - -

-Classes

struct  cache_t
 
+ + + + @@ -344,43 +340,37 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

@@ -251,6 +243,10 @@ void write_byte (uint8
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
- - - - - - - - - - - - - - - -

-Protected Member Functions

cache (size_t cache_size=default_cache_size)
 
-void init (basic_file &source)
 
-void done ()
 
-void flush_cache ()
 
-void invalidate_cache ()
 
-void load_cache (fpos_t start)
 
-void write_cache ()
 
- - - - - - - - + @@ -935,7 +925,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1cached__file-members.html b/classstdex_1_1stream_1_1cached__file-members.html index 4c79d82e8..e03b674dd 100644 --- a/classstdex_1_1stream_1_1cached__file-members.html +++ b/classstdex_1_1stream_1_1cached__file-members.html @@ -82,22 +82,14 @@ $(function() {

-Protected Attributes

-basic_filem_source
 
-struct stdex::stream::cache::cache_t m_cache
 
-fpos_t m_offset
 Logical absolute file position.
 

+Additional Inherited Members

- Protected Attributes inherited from stdex::stream::basic
state_t m_state
m_state
- - - - - - - - + + + + + + - - - - - - @@ -116,6 +108,10 @@ $(function() { + + + + @@ -128,53 +124,56 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + +
atime() conststdex::stream::cacheinlinevirtual
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
cache(size_t cache_size=default_cache_size) (defined in stdex::stream::cache)stdex::stream::cacheinlineexplicitprotected
cache(basic_file &source, size_t cache_size=default_cache_size) (defined in stdex::stream::cache)stdex::stream::cacheinline
cached_file(sys_handle h=invalid_handle, state_t state=state_t::ok, size_t cache_size=default_cache_size) (defined in stdex::stream::cached_file)stdex::stream::cached_fileinline
cached_file(const schar_t *filename, int mode, size_t cache_size=default_cache_size)stdex::stream::cached_fileinline
cached_file(const stdex::sstring &filename, int mode, size_t cache_size=default_cache_size)stdex::stream::cached_fileinline
close()stdex::stream::cacheinlinevirtual
ctime() conststdex::stream::cacheinlinevirtual
done() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
cache(basic_file &source, size_t cache_size=default_cache_size) (defined in stdex::stream::cache)stdex::stream::cacheinline
cached_file(sys_handle h=invalid_handle, state_t state=state_t::ok, size_t cache_size=default_cache_size) (defined in stdex::stream::cached_file)stdex::stream::cached_fileinline
cached_file(const schar_t *filename, int mode, size_t cache_size=default_cache_size)stdex::stream::cached_fileinline
cached_file(const stdex::sstring &filename, int mode, size_t cache_size=default_cache_size)stdex::stream::cached_fileinline
close()stdex::stream::cacheinlinevirtual
ctime() conststdex::stream::cacheinlinevirtual
flush()stdex::stream::cacheinlinevirtual
flush_cache() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
init(basic_file &source) (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
invalidate_cache() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
load_cache(fpos_t start) (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
lock(fpos_t offset, fsize_t length)stdex::stream::cacheinlinevirtual
m_cache (defined in stdex::stream::cache)stdex::stream::cacheprotected
m_offsetstdex::stream::cacheprotected
m_source (defined in stdex::stream::cached_file)stdex::stream::cached_fileprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
mtime() conststdex::stream::cacheinlinevirtual
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::cacheinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::cacheinlinevirtual
seekbeg(fpos_t offset)stdex::stream::basic_fileinline
seekcur(foff_t offset)stdex::stream::basic_fileinline
seekend(foff_t offset)stdex::stream::basic_fileinline
set_atime(time_point date)stdex::stream::cacheinlinevirtual
set_ctime(time_point date)stdex::stream::cacheinlinevirtual
set_mtime(time_point date)stdex::stream::cacheinlinevirtual
size()stdex::stream::cacheinlinevirtual
skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual
state() conststdex::stream::basicinline
tell() conststdex::stream::cacheinlinevirtual
truncate()stdex::stream::cacheinlinevirtual
unlock(fpos_t offset, fsize_t length)stdex::stream::cacheinlinevirtual
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::cacheinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_cache() (defined in stdex::stream::cache)stdex::stream::cacheinlineprotected
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::cacheinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::cacheinlinevirtual
seekbeg(fpos_t offset)stdex::stream::basic_fileinline
seekcur(foff_t offset)stdex::stream::basic_fileinline
seekend(foff_t offset)stdex::stream::basic_fileinline
set_atime(time_point date)stdex::stream::cacheinlinevirtual
set_ctime(time_point date)stdex::stream::cacheinlinevirtual
set_mtime(time_point date)stdex::stream::cacheinlinevirtual
size()stdex::stream::cacheinlinevirtual
skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual
state() conststdex::stream::basicinline
tell() conststdex::stream::cacheinlinevirtual
truncate()stdex::stream::cacheinlinevirtual
unlock(fpos_t offset, fsize_t length)stdex::stream::cacheinlinevirtual
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::cacheinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
~cache() noexcept(false) (defined in stdex::stream::cache)stdex::stream::cacheinlinevirtual
~cached_file() (defined in stdex::stream::cached_file)stdex::stream::cached_fileinlinevirtual
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
~cache() noexcept(false) (defined in stdex::stream::cache)stdex::stream::cacheinlinevirtual
~cached_file() (defined in stdex::stream::cached_file)stdex::stream::cached_fileinlinevirtual
diff --git a/classstdex_1_1stream_1_1cached__file.html b/classstdex_1_1stream_1_1cached__file.html index da723c3ac..8ed1878c7 100644 --- a/classstdex_1_1stream_1_1cached__file.html +++ b/classstdex_1_1stream_1_1cached__file.html @@ -260,6 +260,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -353,52 +357,44 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  - - - - - - - - -

Protected Attributes

file m_source
 
- Protected Attributes inherited from stdex::stream::cache
-basic_filem_source
 
-struct stdex::stream::cache::cache_t m_cache
 
-fpos_t m_offset
 Logical absolute file position.
 
- Protected Attributes inherited from stdex::stream::basic
state_t m_state
 
- - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::cache
cache (size_t cache_size=default_cache_size)
 
-void init (basic_file &source)
 
-void done ()
 
-void flush_cache ()
 
-void invalidate_cache ()
 
-void load_cache (fpos_t start)
 
-void write_cache ()
 

Detailed Description

Cached file-system file.

@@ -604,7 +600,7 @@ void write_cache () diff --git a/classstdex_1_1stream_1_1converter-members.html b/classstdex_1_1stream_1_1converter-members.html index b0ffc0d56..b331d77b4 100644 --- a/classstdex_1_1stream_1_1converter-members.html +++ b/classstdex_1_1stream_1_1converter-members.html @@ -82,38 +82,42 @@ $(function() { - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -138,14 +142,15 @@ $(function() { - - - - + + + + +
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
close()stdex::stream::converterinlinevirtual
converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
done() (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
flush()stdex::stream::converterinlinevirtual
init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::converterinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
diff --git a/classstdex_1_1stream_1_1converter.html b/classstdex_1_1stream_1_1converter.html index 38bfc7f04..680d112cf 100644 --- a/classstdex_1_1stream_1_1converter.html +++ b/classstdex_1_1stream_1_1converter.html @@ -76,14 +76,13 @@ $(function() {
Public Member Functions | -Protected Member Functions | Protected Attributes | List of all members
stdex::stream::converter Class Reference
-

Modifies data on the fly when reading from/writing to a source stream. +

Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify read/write boundaries like FIFO queues, async read/write, buffering etc. More...

#include <stdex/stream.hpp>

@@ -93,14 +92,16 @@ Inheritance diagram for stdex::stream::converter:
-stdex::stream::basic -stdex::stream::async_reader< CAPACITY > -stdex::stream::async_writer< CAPACITY > -stdex::stream::buffer -stdex::stream::limiter -stdex::stream_hasher< T > -stdex::stream::buffered_sys -stdex::stream::window +stdex::stream::basic +stdex::base64_reader +stdex::base64_writer +stdex::stream::async_reader< CAPACITY > +stdex::stream::async_writer< CAPACITY > +stdex::stream::buffer +stdex::stream::limiter +stdex::stream_hasher< T > +stdex::stream::buffered_sys +stdex::stream::window
@@ -201,6 +202,10 @@ void  + + + + @@ -294,15 +299,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > -
write_byte (uint8
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
basicoperator<< (const T *data)
 
- - - - - + + + + + + + + + + + + + + + + + + + + +

-Protected Member Functions

-void init (basic &source)
 
-void done ()
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
@@ -315,7 +339,7 @@ state_t 

Protected Attributes

m_state 

Detailed Description

-

Modifies data on the fly when reading from/writing to a source stream.

+

Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify read/write boundaries like FIFO queues, async read/write, buffering etc.

Member Function Documentation

◆ close()

@@ -423,7 +447,7 @@ state_t m_stateReimplemented from stdex::stream::basic.

-

Reimplemented in stdex::stream_hasher< T >, stdex::stream::async_reader< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, and stdex::stream::window.

+

Reimplemented in stdex::base64_reader, stdex::stream_hasher< T >, stdex::stream::async_reader< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, and stdex::stream::window.

@@ -473,7 +497,7 @@ state_t m_stateReimplemented from stdex::stream::basic.

-

Reimplemented in stdex::stream_hasher< T >, stdex::stream::async_writer< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, and stdex::stream::window.

+

Reimplemented in stdex::base64_writer, stdex::stream_hasher< T >, stdex::stream::async_writer< CAPACITY >, stdex::stream::buffer, stdex::stream::limiter, and stdex::stream::window.

@@ -483,7 +507,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1converter.png b/classstdex_1_1stream_1_1converter.png index d5ad3b51d..b6d46424d 100644 Binary files a/classstdex_1_1stream_1_1converter.png and b/classstdex_1_1stream_1_1converter.png differ diff --git a/classstdex_1_1stream_1_1diag__file-members.html b/classstdex_1_1stream_1_1diag__file-members.html index d0922dcc1..34e7ae8ee 100644 --- a/classstdex_1_1stream_1_1diag__file-members.html +++ b/classstdex_1_1stream_1_1diag__file-members.html @@ -104,6 +104,10 @@ $(function() { operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline @@ -116,42 +120,46 @@ $(function() { operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::diag_fileinlinevirtual - read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline - read_byte()stdex::stream::basicinline - read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline - read_data(T &data)stdex::stream::basicinline - read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual - read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline - readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline - readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline - readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline - readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::diag_fileinlinevirtual - seekbeg(fpos_t offset)stdex::stream::basic_fileinline - seekcur(foff_t offset)stdex::stream::basic_fileinline - seekend(foff_t offset)stdex::stream::basic_fileinline - set_atime(time_point date)stdex::stream::basic_fileinlinevirtual - set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual - set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual - size()stdex::stream::diag_fileinlinevirtual - skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual - state() conststdex::stream::basicinline - tell() conststdex::stream::diag_fileinlinevirtual - truncate()stdex::stream::diag_fileinlinevirtual - unlock(fpos_t offset, fsize_t length)stdex::stream::diag_fileinlinevirtual - write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::diag_fileinlinevirtual - write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline - write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline - write_charset(charset_id charset)stdex::stream::basicinline - write_data(const T data)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline - write_str(const T *data)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::diag_fileinlinevirtual + read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline + read_byte()stdex::stream::basicinline + read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline + read_data(T &data)stdex::stream::basicinline + read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual + read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline + readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline + readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline + readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::diag_fileinlinevirtual + seekbeg(fpos_t offset)stdex::stream::basic_fileinline + seekcur(foff_t offset)stdex::stream::basic_fileinline + seekend(foff_t offset)stdex::stream::basic_fileinline + set_atime(time_point date)stdex::stream::basic_fileinlinevirtual + set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual + set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual + size()stdex::stream::diag_fileinlinevirtual + skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual + state() conststdex::stream::basicinline + tell() conststdex::stream::diag_fileinlinevirtual + truncate()stdex::stream::diag_fileinlinevirtual + unlock(fpos_t offset, fsize_t length)stdex::stream::diag_fileinlinevirtual + write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::diag_fileinlinevirtual + write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline + write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline + write_charset(charset_id charset)stdex::stream::basicinline + write_data(const T data)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline + write_str(const T *data)stdex::stream::basicinline + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline @@ -159,7 +167,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1diag__file.html b/classstdex_1_1stream_1_1diag__file.html index 3b1c7f559..596f32e94 100644 --- a/classstdex_1_1stream_1_1diag__file.html +++ b/classstdex_1_1stream_1_1diag__file.html @@ -243,6 +243,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -336,6 +340,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -722,7 +754,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1fifo-members.html b/classstdex_1_1stream_1_1fifo-members.html index c4e6b33a5..d87f41323 100644 --- a/classstdex_1_1stream_1_1fifo-members.html +++ b/classstdex_1_1stream_1_1fifo-members.html @@ -102,6 +102,10 @@ $(function() { + + + + @@ -114,31 +118,35 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -147,7 +155,7 @@ $(function() {

Protected Attributes

m_state
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::fifoinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
size() conststdex::stream::fifoinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::fifoinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::fifoinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
size() conststdex::stream::fifoinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::fifoinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1fifo.html b/classstdex_1_1stream_1_1fifo.html index b585eec5f..131fcc2ef 100644 --- a/classstdex_1_1stream_1_1fifo.html +++ b/classstdex_1_1stream_1_1fifo.html @@ -200,6 +200,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -293,6 +297,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -447,7 +479,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1file-members.html b/classstdex_1_1stream_1_1file-members.html index 99f284761..800a89ca0 100644 --- a/classstdex_1_1stream_1_1file-members.html +++ b/classstdex_1_1stream_1_1file-members.html @@ -116,6 +116,10 @@ $(function() { + + + + @@ -130,49 +134,53 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -181,7 +189,7 @@ $(function() {

Protected Attributes

m_state
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator=(const sys_object &other) (defined in stdex::sys_object)stdex::sys_objectinline
operator=(sys_object &&other) noexcept (defined in stdex::sys_object)stdex::sys_objectinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
stdex::read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual
stdex::stream::basic_sys::read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basic_sysinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readonly(const stdex::schar_t *filename)stdex::stream::fileinlinestatic
readonly(const stdex::sstring &filename)stdex::stream::fileinlinestatic
seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::fileinlinevirtual
seekbeg(fpos_t offset)stdex::stream::basic_fileinline
seekcur(foff_t offset)stdex::stream::basic_fileinline
seekend(foff_t offset)stdex::stream::basic_fileinline
set_atime(time_point date)stdex::stream::fileinlinevirtual
set_ctime(time_point date)stdex::stream::fileinlinevirtual
set_mtime(time_point date)stdex::stream::fileinlinevirtual
size()stdex::stream::fileinlinevirtual
skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual
state() conststdex::stream::basicinline
sys_object(sys_handle h=invalid_handle) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(const sys_object &other) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(sys_object &&other) noexcept (defined in stdex::sys_object)stdex::sys_objectinline
tell() conststdex::stream::fileinlinevirtual
truncate()stdex::stream::fileinlinevirtual
unlock(fpos_t offset, fsize_t length)stdex::stream::fileinlinevirtual
stdex::write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basicinlinevirtual
stdex::stream::basic_sys::write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basic_sysinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
stdex::read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual
stdex::stream::basic_sys::read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basic_sysinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readonly(const stdex::schar_t *filename)stdex::stream::fileinlinestatic
readonly(const stdex::sstring &filename)stdex::stream::fileinlinestatic
seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::fileinlinevirtual
seekbeg(fpos_t offset)stdex::stream::basic_fileinline
seekcur(foff_t offset)stdex::stream::basic_fileinline
seekend(foff_t offset)stdex::stream::basic_fileinline
set_atime(time_point date)stdex::stream::fileinlinevirtual
set_ctime(time_point date)stdex::stream::fileinlinevirtual
set_mtime(time_point date)stdex::stream::fileinlinevirtual
size()stdex::stream::fileinlinevirtual
skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual
state() conststdex::stream::basicinline
sys_object(sys_handle h=invalid_handle) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(const sys_object &other) (defined in stdex::sys_object)stdex::sys_objectinline
sys_object(sys_object &&other) noexcept (defined in stdex::sys_object)stdex::sys_objectinline
tell() conststdex::stream::fileinlinevirtual
truncate()stdex::stream::fileinlinevirtual
unlock(fpos_t offset, fsize_t length)stdex::stream::fileinlinevirtual
stdex::write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basicinlinevirtual
stdex::stream::basic_sys::write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::basic_sysinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1file.html b/classstdex_1_1stream_1_1file.html index 13da066c0..cb66bb712 100644 --- a/classstdex_1_1stream_1_1file.html +++ b/classstdex_1_1stream_1_1file.html @@ -246,6 +246,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -339,6 +343,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  - Public Member Functions inherited from stdex::stream::basic_sys  basic_sys (sys_handle h=invalid_handle, state_t state=state_t::ok) @@ -1129,7 +1161,7 @@ sys_handle m_h diff --git a/classstdex_1_1stream_1_1file__window-members.html b/classstdex_1_1stream_1_1file__window-members.html index ea89cc2b6..27ea982a6 100644 --- a/classstdex_1_1stream_1_1file__window-members.html +++ b/classstdex_1_1stream_1_1file__window-members.html @@ -105,6 +105,10 @@ $(function() { operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline @@ -117,42 +121,46 @@ $(function() { operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::file_windowinlinevirtual - read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline - read_byte()stdex::stream::basicinline - read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline - read_data(T &data)stdex::stream::basicinline - read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual - read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline - readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline - readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline - readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline - readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::file_windowinlinevirtual - seekbeg(fpos_t offset)stdex::stream::basic_fileinline - seekcur(foff_t offset)stdex::stream::basic_fileinline - seekend(foff_t offset)stdex::stream::basic_fileinline - set_atime(time_point date)stdex::stream::basic_fileinlinevirtual - set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual - set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual - size()stdex::stream::file_windowinlinevirtual - skip(fsize_t amount)stdex::stream::file_windowinlinevirtual - state() conststdex::stream::basicinline - tell() conststdex::stream::file_windowinlinevirtual - truncate()stdex::stream::file_windowinlinevirtual - unlock(fpos_t offset, fsize_t length)stdex::stream::file_windowinlinevirtual - write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::file_windowinlinevirtual - write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline - write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline - write_charset(charset_id charset)stdex::stream::basicinline - write_data(const T data)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline - write_str(const T *data)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::file_windowinlinevirtual + read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline + read_byte()stdex::stream::basicinline + read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline + read_data(T &data)stdex::stream::basicinline + read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual + read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline + readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline + readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline + readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::file_windowinlinevirtual + seekbeg(fpos_t offset)stdex::stream::basic_fileinline + seekcur(foff_t offset)stdex::stream::basic_fileinline + seekend(foff_t offset)stdex::stream::basic_fileinline + set_atime(time_point date)stdex::stream::basic_fileinlinevirtual + set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual + set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual + size()stdex::stream::file_windowinlinevirtual + skip(fsize_t amount)stdex::stream::file_windowinlinevirtual + state() conststdex::stream::basicinline + tell() conststdex::stream::file_windowinlinevirtual + truncate()stdex::stream::file_windowinlinevirtual + unlock(fpos_t offset, fsize_t length)stdex::stream::file_windowinlinevirtual + write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::file_windowinlinevirtual + write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline + write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline + write_charset(charset_id charset)stdex::stream::basicinline + write_data(const T data)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline + write_str(const T *data)stdex::stream::basicinline + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline @@ -160,7 +168,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1file__window.html b/classstdex_1_1stream_1_1file__window.html index d68969068..9fb761c5f 100644 --- a/classstdex_1_1stream_1_1file__window.html +++ b/classstdex_1_1stream_1_1file__window.html @@ -243,6 +243,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -336,6 +340,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -755,7 +787,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1limiter-members.html b/classstdex_1_1stream_1_1limiter-members.html index 9db24bd72..aef46fad2 100644 --- a/classstdex_1_1stream_1_1limiter-members.html +++ b/classstdex_1_1stream_1_1limiter-members.html @@ -82,39 +82,43 @@ $(function() {

Protected Attributes

m_state
- - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -141,14 +145,15 @@ $(function() { - - - - + + + + +
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
close()stdex::stream::converterinlinevirtual
converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
done() (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
flush()stdex::stream::converterinlinevirtual
init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
limiter(basic &source, fsize_t _read_limit=0, fsize_t _write_limit=0) (defined in stdex::stream::limiter)stdex::stream::limiterinline
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
limiter(basic &source, fsize_t _read_limit=0, fsize_t _write_limit=0) (defined in stdex::stream::limiter)stdex::stream::limiterinline
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::limiterinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
diff --git a/classstdex_1_1stream_1_1limiter.html b/classstdex_1_1stream_1_1limiter.html index 28541a9d2..c088d2a32 100644 --- a/classstdex_1_1stream_1_1limiter.html +++ b/classstdex_1_1stream_1_1limiter.html @@ -92,7 +92,7 @@ Inheritance diagram for stdex::stream::limiter:
-stdex::stream::converter +stdex::stream::converter stdex::stream::basic stdex::stream::window @@ -199,6 +199,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -292,6 +296,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -306,13 +338,6 @@ fsize_t  + + + + @@ -313,14 +317,18 @@ void  - - - + + + + + + @@ -441,6 +449,10 @@ void  + + + + @@ -534,16 +546,44 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > + + + + + + + + + + + + + + + + + + + + +

Public Attributes

write_limit - - - - - @@ -431,7 +456,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1memory__file-members.html b/classstdex_1_1stream_1_1memory__file-members.html index 68c6f60aa..6368cb744 100644 --- a/classstdex_1_1stream_1_1memory__file-members.html +++ b/classstdex_1_1stream_1_1memory__file-members.html @@ -127,6 +127,10 @@ $(function() { + + + + @@ -139,58 +143,62 @@ $(function() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -200,7 +208,7 @@ $(function() {

Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 
- Protected Attributes inherited from stdex::stream::converter
basicm_source
m_state
operator<<(const double data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator<<(const char data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator<<(const T *data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator>>(int16_t &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator>>(int32_t &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator>>(double &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator>>(char &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::memory_fileinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline
read_data(T &data)stdex::stream::memory_fileinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::memory_fileinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
reserve(size_t required, bool tight=false) noexceptstdex::stream::memory_fileinline
save(const schar_t *filename, int mode)stdex::stream::memory_fileinline
save(const stdex::sstring &filename, int mode)stdex::stream::memory_fileinline
seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::memory_fileinlinevirtual
seekbeg(fpos_t offset)stdex::stream::basic_fileinline
seekcur(foff_t offset)stdex::stream::basic_fileinline
seekend(foff_t offset)stdex::stream::basic_fileinline
set(fpos_t offset, const T data)stdex::stream::memory_fileinlineprotected
set(fpos_t offset, const int8_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const int16_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const int32_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const int64_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint8_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint16_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint32_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint64_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const float data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const double data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const char data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set_atime(time_point date)stdex::stream::basic_fileinlinevirtual
set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual
set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual
size()stdex::stream::memory_fileinlinevirtual
skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual
state() conststdex::stream::basicinline
tell() conststdex::stream::memory_fileinlinevirtual
truncate()stdex::stream::memory_fileinlinevirtual
unlock(fpos_t offset, fsize_t length)stdex::stream::basic_fileinlinevirtual
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::memory_fileinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, size_t amount=1)stdex::stream::memory_fileinline
stdex::stream::basic_file::write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::memory_fileinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::memory_fileinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::memory_fileinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_charset(charset_id default_charset=charset_id::system)stdex::stream::basic_fileinline
read_data(T &data)stdex::stream::memory_fileinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basic_fileinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::memory_fileinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
reserve(size_t required, bool tight=false) noexceptstdex::stream::memory_fileinline
save(const schar_t *filename, int mode)stdex::stream::memory_fileinline
save(const stdex::sstring &filename, int mode)stdex::stream::memory_fileinline
seek(foff_t offset, seek_t how=seek_t::beg)stdex::stream::memory_fileinlinevirtual
seekbeg(fpos_t offset)stdex::stream::basic_fileinline
seekcur(foff_t offset)stdex::stream::basic_fileinline
seekend(foff_t offset)stdex::stream::basic_fileinline
set(fpos_t offset, const T data)stdex::stream::memory_fileinlineprotected
set(fpos_t offset, const int8_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const int16_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const int32_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const int64_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint8_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint16_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint32_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const uint64_t data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const float data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const double data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set(fpos_t offset, const char data) (defined in stdex::stream::memory_file)stdex::stream::memory_fileinline
set_atime(time_point date)stdex::stream::basic_fileinlinevirtual
set_ctime(time_point date)stdex::stream::basic_fileinlinevirtual
set_mtime(time_point date)stdex::stream::basic_fileinlinevirtual
size()stdex::stream::memory_fileinlinevirtual
skip(fsize_t amount)stdex::stream::basic_fileinlinevirtual
state() conststdex::stream::basicinline
tell() conststdex::stream::memory_fileinlinevirtual
truncate()stdex::stream::memory_fileinlinevirtual
unlock(fpos_t offset, fsize_t length)stdex::stream::basic_fileinlinevirtual
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::memory_fileinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, size_t amount=1)stdex::stream::memory_fileinline
stdex::stream::basic_file::write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::memory_fileinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::memory_fileinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::memory_fileinline
write_stream(basic &stream, size_t amount=SIZE_MAX)stdex::stream::memory_fileinline
stdex::stream::basic_file::write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
diff --git a/classstdex_1_1stream_1_1memory__file.html b/classstdex_1_1stream_1_1memory__file.html index 9ca3f39a4..167309af6 100644 --- a/classstdex_1_1stream_1_1memory__file.html +++ b/classstdex_1_1stream_1_1memory__file.html @@ -163,6 +163,10 @@ void 
write_byte (uint8
memory_filewrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
memory_filewrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
size_t write_stream (basic &stream, size_t amount=SIZE_MAX)
 Writes content of another stream.
 
get (fpos_t offse
memory_fileoperator>> (char &data)
 
-template<class T >
memory_fileoperator<< (const T *data)
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
memory_fileoperator>> (std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class T >
memory_fileoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
memory_fileoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
- Public Member Functions inherited from stdex::stream::basic_file
virtual std::vector< uint8_t > read_remainder (size_t max_length=SIZE_MAX)
 Reads and returns remainder of the stream.
write_byte (uint8
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
- + - +

Protected Member Functions

template<class T >
void set (fpos_t offset, const T data)
 Writes data to specified file location This does not move file pointer nor update file size. It checks for reserved space assert-only (in Debug builds). Use with caution!
 Writes data to specified file location This does not move file pointer nor update file size. It checks for reserved space Assume-only (in Debug builds). Use with caution!
 
template<class T >
void get (fpos_t offset, T &data)
 Reads data from specified file location This does not move file pointer. It checks for data size assert-only (in Debug builds). Use with caution!
 Reads data from specified file location This does not move file pointer. It checks for data size Assume-only (in Debug builds). Use with caution!
 

@@ -902,7 +942,7 @@ template<class T >

-

Reads data from specified file location This does not move file pointer. It checks for data size assert-only (in Debug builds). Use with caution!

+

Reads data from specified file location This does not move file pointer. It checks for data size Assume-only (in Debug builds). Use with caution!

Parameters
@@ -1341,7 +1381,7 @@ template<class T >
[in]offsetOffset in file where to write data
-

Writes data to specified file location This does not move file pointer nor update file size. It checks for reserved space assert-only (in Debug builds). Use with caution!

+

Writes data to specified file location This does not move file pointer nor update file size. It checks for reserved space Assume-only (in Debug builds). Use with caution!

Parameters
@@ -1525,10 +1565,49 @@ template<class T >
Returns
This stream
+ + + +

◆ write_str() [1/2]

+ +
+
+
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
+
[in]offsetOffset in file where to write data
+ + + + +
+ + + + + + + + +
memory_file & stdex::stream::memory_file::write_str (const std::basic_string< _Elem, _Traits, _Ax > & data)
+
+inline
+
+ +

Writes string to the stream length-prefixed.

+

This method is intended for chaining: e.g. stream.write_str(a).write_str(b).write_str(c)... Since it would make it impossible to detect if any of the write_str(a) or write_str(b) failed should write_str(c) succeed, the method skips writing if stream state is not ok.

+

As memory write rarely fails, a #define CHECK_STREAM_STATE 0 turns this checking off when performance is paramount.

+
Parameters
+ + +
[in]dataString to write
+
+
+
Returns
This stream
+
-

◆ write_str()

+

◆ write_str() [2/2]

@@ -1611,7 +1690,7 @@ template<class T >
diff --git a/classstdex_1_1stream_1_1replicator-members.html b/classstdex_1_1stream_1_1replicator-members.html index 32ebf3560..795556d03 100644 --- a/classstdex_1_1stream_1_1replicator-members.html +++ b/classstdex_1_1stream_1_1replicator-members.html @@ -99,6 +99,10 @@ $(function() { operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline @@ -111,32 +115,36 @@ $(function() { operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline - push_back(basic *source)stdex::stream::replicatorinline - read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual - read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline - read_byte()stdex::stream::basicinline - read_data(T &data)stdex::stream::basicinline - read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual - read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline - readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline - readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline - readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline - readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - remove(basic *source)stdex::stream::replicatorinline - skip(fsize_t amount)stdex::stream::basicinlinevirtual - state() conststdex::stream::basicinline - write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::replicatorinlinevirtual - write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline - write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline - write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline - write_charset(charset_id charset)stdex::stream::basicinline - write_data(const T data)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline - write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline - write_str(const T *data)stdex::stream::basicinline + operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline + push_back(basic *source)stdex::stream::replicatorinline + read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::basicinlinevirtual + read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline + read_byte()stdex::stream::basicinline + read_data(T &data)stdex::stream::basicinline + read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual + read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline + readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline + readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline + readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline + readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + remove(basic *source)stdex::stream::replicatorinline + skip(fsize_t amount)stdex::stream::basicinlinevirtual + state() conststdex::stream::basicinline + write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::replicatorinlinevirtual + write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline + write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline + write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline + write_charset(charset_id charset)stdex::stream::basicinline + write_data(const T data)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline + write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline + write_str(const T *data)stdex::stream::basicinline + write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline @@ -145,7 +153,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1replicator.html b/classstdex_1_1stream_1_1replicator.html index abffd8baf..2e26a232c 100644 --- a/classstdex_1_1stream_1_1replicator.html +++ b/classstdex_1_1stream_1_1replicator.html @@ -205,6 +205,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -298,6 +302,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -430,7 +462,7 @@ state_t  diff --git a/classstdex_1_1stream_1_1replicator_1_1worker-members.html b/classstdex_1_1stream_1_1replicator_1_1worker-members.html index e7169a782..5fac0d47f 100644 --- a/classstdex_1_1stream_1_1replicator_1_1worker-members.html +++ b/classstdex_1_1stream_1_1replicator_1_1worker-members.html @@ -87,14 +87,13 @@ $(function() { - + - - +

Protected Member Functions

m_state
num_writtenstdex::stream::replicator::worker
opstdex::stream::replicator::worker
op_t enum name (defined in stdex::stream::replicator::worker)stdex::stream::replicator::worker
process_op(worker &w) (defined in stdex::stream::replicator::worker)stdex::stream::replicator::workerinlineprotectedstatic
process_op() (defined in stdex::stream::replicator::worker)stdex::stream::replicator::workerinlineprotected
source (defined in stdex::stream::replicator::worker)stdex::stream::replicator::worker
thread (defined in stdex::stream::replicator::worker)stdex::stream::replicator::worker
worker(basic *_source) (defined in stdex::stream::replicator::worker)stdex::stream::replicator::workerinline
worker(basic *_source) (defined in stdex::stream::replicator::worker)stdex::stream::replicator::workerinline
diff --git a/classstdex_1_1stream_1_1replicator_1_1worker.html b/classstdex_1_1stream_1_1replicator_1_1worker.html index a9abb2cd6..e9f498222 100644 --- a/classstdex_1_1stream_1_1replicator_1_1worker.html +++ b/classstdex_1_1stream_1_1replicator_1_1worker.html @@ -78,11 +78,17 @@ $(function() { Public Types | Public Member Functions | Public Attributes | -Static Protected Member Functions | +Protected Member Functions | List of all members
stdex::stream::replicator::worker Class Reference
+
+Inheritance diagram for stdex::stream::replicator::worker:
+
+
+ +
@@ -130,15 +136,12 @@ std::mutex < - -

Public Types

mutex
std::condition_variable cv
 
-std::thread thread
 
- - - + + +

-Static Protected Member Functions

-static void process_op (worker &w)
 

+Protected Member Functions

+void process_op ()
 

The documentation for this class was generated from the following file:
diff --git a/classstdex_1_1stream_1_1replicator_1_1worker.png b/classstdex_1_1stream_1_1replicator_1_1worker.png new file mode 100644 index 000000000..2a4345d69 Binary files /dev/null and b/classstdex_1_1stream_1_1replicator_1_1worker.png differ diff --git a/classstdex_1_1stream_1_1socket-members.html b/classstdex_1_1stream_1_1socket-members.html new file mode 100644 index 000000000..a444f5910 --- /dev/null +++ b/classstdex_1_1stream_1_1socket-members.html @@ -0,0 +1,162 @@ + + + + + + + +stdex: Member List + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
stdex::stream::socket Member List
+
+
+ +

This is the complete list of members for stdex::stream::socket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
close()stdex::stream::socketinlinevirtual
flush()stdex::stream::basicinlinevirtual
get() const noexceptstdex::stream::socketinline
m_h (defined in stdex::stream::socket)stdex::stream::socketprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator bool() const noexceptstdex::stream::socketinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator=(socket &&other) noexcept (defined in stdex::stream::socket)stdex::stream::socketinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::socketinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
read_data(T &data)stdex::stream::basicinline
read_remainder(size_t max_length=SIZE_MAX)stdex::stream::basicinlinevirtual
read_str(std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
readln(std::basic_string< char, _Traits, _Ax > &str)stdex::stream::basicinline
readln(std::basic_string< wchar_t, _Traits, _Ax > &wstr)stdex::stream::basicinline
readln(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
readln_and_attach(std::basic_string< _Elem, _Traits, _Ax > &str)stdex::stream::basicinline
readln_and_attach(std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
skip(fsize_t amount)stdex::stream::basicinlinevirtual
socket(SOCKET h=INVALID_SOCKET, state_t state=state_t::ok) (defined in stdex::stream::socket)stdex::stream::socketinline
socket(socket &&other) noexcept (defined in stdex::stream::socket)stdex::stream::socketinline
socket(int af, int type, int protocol)stdex::stream::socketinline
state() conststdex::stream::basicinline
write(_In_reads_bytes_opt_(length) const void *data, size_t length)stdex::stream::socketinlinevirtual
write_array(_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)stdex::stream::basicinline
write_array(const T_from *wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_array(const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)stdex::stream::basicinline
write_byte(uint8_t byte, fsize_t amount=1)stdex::stream::basicinline
write_charset(charset_id charset)stdex::stream::basicinline
write_data(const T data)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
~socket() (defined in stdex::stream::socket)stdex::stream::socketinlinevirtual
+ + + + diff --git a/classstdex_1_1stream_1_1socket.html b/classstdex_1_1stream_1_1socket.html new file mode 100644 index 000000000..c6fe66276 --- /dev/null +++ b/classstdex_1_1stream_1_1socket.html @@ -0,0 +1,539 @@ + + + + + + + +stdex: stdex::stream::socket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
stdex::stream::socket Class Reference
+
+
+ +

Socket stream. + More...

+ +

#include <stdex/stream.hpp>

+
+Inheritance diagram for stdex::stream::socket:
+
+
+ + +stdex::stream::basic + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

socket (SOCKET h=INVALID_SOCKET, state_t state=state_t::ok)
 
socket (socket &&other) noexcept
 
+socketoperator= (socket &&other) noexcept
 
 socket (int af, int type, int protocol)
 Creates a socket.
 
operator bool () const noexcept
 Returns true if socket handle is valid.
 
+SOCKET get () const noexcept
 Returns socket handle.
 
virtual size_t read (_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
 Reads block of data from the stream.
 
virtual size_t write (_In_reads_bytes_opt_(length) const void *data, size_t length)
 Writes block of data to the stream.
 
virtual void close ()
 Closes the stream.
 
- Public Member Functions inherited from stdex::stream::basic
basic (state_t state=state_t::ok)
 
virtual void flush ()
 Persists volatile element data.
 
virtual void skip (fsize_t amount)
 Skips given amount of bytes of data on the stream.
 
+state_t state () const
 Returns stream state after last operation.
 
+bool ok () const
 Returns true if the stream state is clean i.e. previous operation was succesful.
 
virtual std::vector< uint8_t > read_remainder (size_t max_length=SIZE_MAX)
 Reads and returns remainder of the stream.
 
+uint8_t read_byte ()
 Reads one byte of data.
 
+void write_byte (uint8_t byte, fsize_t amount=1)
 Writes a byte of data.
 
template<class T >
basicread_data (T &data)
 Reads one primitive data type.
 
template<class T >
basicwrite_data (const T data)
 Writes one primitive data type.
 
template<class _Traits = std::char_traits<char>, class _Ax = std::allocator<char>>
size_t readln (std::basic_string< char, _Traits, _Ax > &str)
 Reads stream to the end-of-line or end-of-file.
 
template<class _Traits = std::char_traits<wchar_t>, class _Ax = std::allocator<wchar_t>>
size_t readln (std::basic_string< wchar_t, _Traits, _Ax > &wstr)
 Reads stream to the end-of-line or end-of-file.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_to>, class _Ax = std::allocator<T_to>>
size_t readln (std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Reads stream to the end-of-line or end-of-file.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
size_t readln_and_attach (std::basic_string< _Elem, _Traits, _Ax > &str)
 Reads stream to the end-of-line or end-of-file and append to str.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_to>, class _Ax = std::allocator<T_to>>
size_t readln_and_attach (std::basic_string< T_to, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Reads stream to the end-of-line or end-of-file and append to str.
 
size_t read_array (_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)
 Reads an array of data from the stream.
 
size_t write_array (_In_reads_bytes_opt_(size *count) const void *array, size_t size, size_t count)
 Writes an array of data to the stream.
 
template<class T_from , class T_to >
size_t write_array (const T_from *wstr, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class T_from , class T_to >
size_t write_array (_In_reads_or_z_opt_(num_chars) const T_from *wstr, size_t num_chars, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class T_from , class T_to , class _Traits = std::char_traits<T_from>, class _Ax = std::allocator<T_from>>
size_t write_array (const std::basic_string< T_from, _Traits, _Ax > &wstr, charset_encoder< T_from, T_to > &encoder)
 Writes array of characters to the stream.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicread_str (std::basic_string< _Elem, _Traits, _Ax > &data)
 Reads length-prefixed string from the stream.
 
template<class T >
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
+void write_charset (charset_id charset)
 Writes UTF8, UTF-16 or UTF-32 byte-order-mark.
 
size_t write_sprintf (_Printf_format_string_params_(2) const char *format, locale_t locale,...)
 Writes formatted string to the stream.
 
size_t write_sprintf (_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)
 Writes formatted string to the stream.
 
size_t write_vsprintf (_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)
 Writes formatted string to the stream.
 
size_t write_vsprintf (_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)
 Writes formatted string to the stream.
 
+basicoperator>> (int8_t &data)
 
+basicoperator<< (const int8_t data)
 
+basicoperator>> (int16_t &data)
 
+basicoperator<< (const int16_t data)
 
+basicoperator>> (int32_t &data)
 
+basicoperator<< (const int32_t data)
 
+basicoperator>> (int64_t &data)
 
+basicoperator<< (const int64_t data)
 
+basicoperator>> (uint8_t &data)
 
+basicoperator<< (const uint8_t data)
 
+basicoperator>> (uint16_t &data)
 
+basicoperator<< (const uint16_t data)
 
+basicoperator>> (uint32_t &data)
 
+basicoperator<< (const uint32_t data)
 
+basicoperator>> (uint64_t &data)
 
+basicoperator<< (const uint64_t data)
 
+basicoperator>> (float &data)
 
+basicoperator<< (const float data)
 
+basicoperator>> (double &data)
 
+basicoperator<< (const double data)
 
+basicoperator>> (char &data)
 
+basicoperator<< (const char data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator>> (std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class T >
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
+ + + + + + +

+Protected Attributes

+SOCKET m_h
 
- Protected Attributes inherited from stdex::stream::basic
+state_t m_state
 
+

Detailed Description

+

Socket stream.

+

Constructor & Destructor Documentation

+ +

◆ socket()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
stdex::stream::socket::socket (int af,
int type,
int protocol 
)
+
+inline
+
+ +

Creates a socket.

+
Parameters
+ + + + +
[in]afAddress family
[in]typeSocket type
[in]protocolSocket protocol
+
+
+ +
+
+

Member Function Documentation

+ +

◆ close()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void stdex::stream::socket::close ()
+
+inlinevirtual
+
+ +

Closes the stream.

+ +

Reimplemented from stdex::stream::basic.

+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual size_t stdex::stream::socket::read (_Out_writes_bytes_to_opt_(length, return) void * data,
size_t length 
)
+
+inlinevirtual
+
+ +

Reads block of data from the stream.

+
Parameters
+ + + +
[out]dataBuffer to store read data
[in]lengthByte limit of data to read
+
+
+
Returns
Number of bytes succesfully read. On EOF, 0 is returned and stream state is set to state_t::eof. On error, 0 is returned and stream state is set to state_t::fail. On null reads (length == 0), 0 is returned and stream state is set to state_t::ok.
+ +

Reimplemented from stdex::stream::basic.

+ +
+
+ +

◆ write()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual size_t stdex::stream::socket::write (_In_reads_bytes_opt_(length) const void * data,
size_t length 
)
+
+inlinevirtual
+
+ +

Writes block of data to the stream.

+
Parameters
+ + + +
[in]dataBuffer to write data from
[in]lengthNumber of bytes to write
+
+
+
Returns
Number of bytes succesfully written. On error, stream state is set to state_t::fail.
+ +

Reimplemented from stdex::stream::basic.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classstdex_1_1stream_1_1socket.png b/classstdex_1_1stream_1_1socket.png new file mode 100644 index 000000000..723c28f6e Binary files /dev/null and b/classstdex_1_1stream_1_1socket.png differ diff --git a/classstdex_1_1stream_1_1window-members.html b/classstdex_1_1stream_1_1window-members.html index b5fed788e..993ddafd0 100644 --- a/classstdex_1_1stream_1_1window-members.html +++ b/classstdex_1_1stream_1_1window-members.html @@ -82,39 +82,43 @@ $(function() { - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -144,14 +148,15 @@ $(function() { - - - - + + + + +
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
close()stdex::stream::converterinlinevirtual
converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
done() (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
flush()stdex::stream::converterinlinevirtual
init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
limiter(basic &source, fsize_t _read_limit=0, fsize_t _write_limit=0) (defined in stdex::stream::limiter)stdex::stream::limiterinline
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
limiter(basic &source, fsize_t _read_limit=0, fsize_t _write_limit=0) (defined in stdex::stream::limiter)stdex::stream::limiterinline
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream::windowinlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
diff --git a/classstdex_1_1stream_1_1window.html b/classstdex_1_1stream_1_1window.html index 764066462..3cb616bad 100644 --- a/classstdex_1_1stream_1_1window.html +++ b/classstdex_1_1stream_1_1window.html @@ -93,7 +93,7 @@ Inheritance diagram for stdex::stream::window: stdex::stream::limiter -stdex::stream::converter +stdex::stream::converter stdex::stream::basic @@ -203,6 +203,10 @@ void write_byte (uint8 basicwrite_str (const T *data)  Writes string to the stream length-prefixed.
  +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data) + Writes string to the stream length-prefixed.
+  fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)  Writes content of another stream.
  @@ -296,6 +300,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > basicoperator<< (const T *data)   + +template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>> +basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator<< (const std::vector< _Ty, _Alloc > &data) +  + +template<class _Ty , class _Alloc = std::allocator<_Ty>> +basicoperator>> (std::vector< _Ty, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data) +  + +template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>> +basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data) +  @@ -319,13 +351,6 @@ fsize_t  + + + + @@ -291,6 +295,34 @@ template<class _Elem , class _Traits = std::char_traits<_Elem>, class template<class T > + + + + + + + + + + + + + + + + + + + + +

Public Attributes

write_limit - - - - - @@ -440,7 +465,7 @@ state_t  diff --git a/classstdex_1_1stream__hasher-members.html b/classstdex_1_1stream__hasher-members.html index 23781df7e..3b39761d5 100644 --- a/classstdex_1_1stream__hasher-members.html +++ b/classstdex_1_1stream__hasher-members.html @@ -82,39 +82,43 @@ $(function() {

Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 
- Protected Attributes inherited from stdex::stream::converter
basicm_source
m_state
- - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -140,14 +144,15 @@ $(function() { - - - - + + + + +
basic(state_t state=state_t::ok) (defined in stdex::stream::basic)stdex::stream::basicinline
close()stdex::stream::converterinlinevirtual
converter() (defined in stdex::stream::converter)stdex::stream::converterinlineexplicitprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
done() (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
converter(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinline
flush()stdex::stream::converterinlinevirtual
init(basic &source) (defined in stdex::stream::converter)stdex::stream::converterinlineprotected
m_hash (defined in stdex::stream_hasher< T >)stdex::stream_hasher< T >protected
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
m_hash (defined in stdex::stream_hasher< T >)stdex::stream_hasher< T >protected
m_source (defined in stdex::stream::converter)stdex::stream::converterprotected
m_state (defined in stdex::stream::basic)stdex::stream::basicprotected
ok() conststdex::stream::basicinline
operator<<(const int8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const int64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint8_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint16_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint32_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const uint64_t data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const float data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const double data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const char data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const T *data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator<<(const std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(int64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint8_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint16_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint32_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(uint64_t &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(float &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(double &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(char &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::basic_string< _Elem, _Traits, _Ax > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::vector< _Ty, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::set< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
operator>>(std::multiset< _Kty, _Pr, _Alloc > &data) (defined in stdex::stream::basic)stdex::stream::basicinline
read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)stdex::stream_hasher< T >inlinevirtual
read_array(_Out_writes_bytes_(size *count) void *array, size_t size, size_t count)stdex::stream::basicinline
read_byte()stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const char *format, locale_t locale,...)stdex::stream::basicinline
write_sprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale,...)stdex::stream::basicinline
write_str(const T *data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)stdex::stream::basicinline
write_stream(basic &stream, fsize_t amount=fsize_max)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const char *format, locale_t locale, va_list params)stdex::stream::basicinline
write_vsprintf(_Printf_format_string_params_(2) const wchar_t *format, locale_t locale, va_list params)stdex::stream::basicinline
~basic() noexcept(false) (defined in stdex::stream::basic)stdex::stream::basicinlinevirtual
diff --git a/classstdex_1_1stream__hasher.html b/classstdex_1_1stream__hasher.html index 1812a47a4..21ad1e522 100644 --- a/classstdex_1_1stream__hasher.html +++ b/classstdex_1_1stream__hasher.html @@ -92,7 +92,7 @@ Inheritance diagram for stdex::stream_hasher< T >:
-stdex::stream::converter +stdex::stream::converter stdex::stream::basic
@@ -198,6 +198,10 @@ void 
write_byte (uint8
basicwrite_str (const T *data)
 Writes string to the stream length-prefixed.
 
template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicwrite_str (const std::basic_string< _Elem, _Traits, _Ax > &data)
 Writes string to the stream length-prefixed.
 
fsize_t write_stream (basic &stream, fsize_t amount=fsize_max)
 Writes content of another stream.
 
basicoperator<< (const T *data)
 
+template<class _Elem , class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
basicoperator<< (const std::basic_string< _Elem, _Traits, _Ax > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator<< (const std::vector< _Ty, _Alloc > &data)
 
+template<class _Ty , class _Alloc = std::allocator<_Ty>>
basicoperator>> (std::vector< _Ty, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::set< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator<< (const std::multiset< _Kty, _Pr, _Alloc > &data)
 
+template<class _Kty , class _Pr = std::less<_Kty>, class _Alloc = std::allocator<_Kty>>
basicoperator>> (std::multiset< _Kty, _Pr, _Alloc > &data)
 
@@ -305,16 +337,6 @@ Protected Attributes -

Protected Attributes

state_t m_state
 
- - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from stdex::stream::converter
-void init (basic &source)
 
-void done ()
 

Detailed Description

template<class T>
@@ -426,7 +448,7 @@ template<class T >
diff --git a/classstdex_1_1sys__object-members.html b/classstdex_1_1sys__object-members.html index 2fe3c4dad..4364d0491 100644 --- a/classstdex_1_1sys__object-members.html +++ b/classstdex_1_1sys__object-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1sys__object.html b/classstdex_1_1sys__object.html index a468f07c8..a47291aa8 100644 --- a/classstdex_1_1sys__object.html +++ b/classstdex_1_1sys__object.html @@ -182,7 +182,7 @@ sys_handle m_h diff --git a/classstdex_1_1user__cancelled-members.html b/classstdex_1_1user__cancelled-members.html index 556362855..bba572f38 100644 --- a/classstdex_1_1user__cancelled-members.html +++ b/classstdex_1_1user__cancelled-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/classstdex_1_1user__cancelled.html b/classstdex_1_1user__cancelled.html index f42cfe8a9..8d307ab3f 100644 --- a/classstdex_1_1user__cancelled.html +++ b/classstdex_1_1user__cancelled.html @@ -141,7 +141,7 @@ Public Member Functions diff --git a/classstdex_1_1vector__queue-members.html b/classstdex_1_1vector__queue-members.html index 6df9821b9..e9c2b3fa2 100644 --- a/classstdex_1_1vector__queue-members.html +++ b/classstdex_1_1vector__queue-members.html @@ -122,7 +122,7 @@ $(function() { diff --git a/classstdex_1_1vector__queue.html b/classstdex_1_1vector__queue.html index 61403107b..abbcc81ac 100644 --- a/classstdex_1_1vector__queue.html +++ b/classstdex_1_1vector__queue.html @@ -795,7 +795,7 @@ template<class T > diff --git a/classstdex_1_1watchdog-members.html b/classstdex_1_1watchdog-members.html new file mode 100644 index 000000000..fd03bb7ae --- /dev/null +++ b/classstdex_1_1watchdog-members.html @@ -0,0 +1,100 @@ + + + + + + + +stdex: Member List + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
stdex::watchdog< _Clock, _Duration > Member List
+
+
+ +

This is the complete list of members for stdex::watchdog< _Clock, _Duration >, including all inherited members.

+ + + + + + + + + + + + +
m_callbackstdex::watchdog< _Clock, _Duration >protected
m_cv (defined in stdex::watchdog< _Clock, _Duration >)stdex::watchdog< _Clock, _Duration >protected
m_mutex (defined in stdex::watchdog< _Clock, _Duration >)stdex::watchdog< _Clock, _Duration >protected
m_phasestdex::watchdog< _Clock, _Duration >protected
m_quitstdex::watchdog< _Clock, _Duration >protected
m_thread (defined in stdex::watchdog< _Clock, _Duration >)stdex::watchdog< _Clock, _Duration >protected
m_timeoutstdex::watchdog< _Clock, _Duration >protected
reset()stdex::watchdog< _Clock, _Duration >inline
run() (defined in stdex::watchdog< _Clock, _Duration >)stdex::watchdog< _Clock, _Duration >inlineprotected
watchdog(_Duration timeout, std::function< void()> callback)stdex::watchdog< _Clock, _Duration >inline
~watchdog()stdex::watchdog< _Clock, _Duration >inline
+ + + + diff --git a/classstdex_1_1watchdog.html b/classstdex_1_1watchdog.html new file mode 100644 index 000000000..3948fdb26 --- /dev/null +++ b/classstdex_1_1watchdog.html @@ -0,0 +1,229 @@ + + + + + + + +stdex: stdex::watchdog< _Clock, _Duration > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
stdex +
+
Additional custom or not Standard C++ covered algorithms
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
stdex::watchdog< _Clock, _Duration > Class Template Reference
+
+
+ +

Triggers callback if not reset frequently enough. + More...

+ +

#include <stdex/watchdog.hpp>

+ + + + + + + + + + + +

+Public Member Functions

 watchdog (_Duration timeout, std::function< void()> callback)
 Starts the watchdog.
 
~watchdog ()
 Stops the watchdog.
 
void reset ()
 Resets the watchdog.
 
+ + + +

+Protected Member Functions

+void run ()
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Attributes

+size_t m_phase
 A counter we are incrementing to keep the watchdog happy.
 
+bool m_quit
 Quit the watchdog.
 
+_Duration m_timeout
 How long the watchdog is waiting for a reset.
 
+std::function< void()> m_callback
 The function watchdog calls on timeout.
 
+std::mutex m_mutex
 
+std::condition_variable m_cv
 
+std::thread m_thread
 
+

Detailed Description

+
template<class _Clock, class _Duration = typename _Clock::duration>
+class stdex::watchdog< _Clock, _Duration >

Triggers callback if not reset frequently enough.

+

Constructor & Destructor Documentation

+ +

◆ watchdog()

+ +
+
+
+template<class _Clock , class _Duration = typename _Clock::duration>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
stdex::watchdog< _Clock, _Duration >::watchdog (_Duration timeout,
std::function< void()> callback 
)
+
+inline
+
+ +

Starts the watchdog.

+
Parameters
+ + + +
[in]timeoutHow long the watchdog is waiting for a reset
[in]callbackThe function watchdog calls on timeout
+
+
+ +
+
+

Member Function Documentation

+ +

◆ reset()

+ +
+
+
+template<class _Clock , class _Duration = typename _Clock::duration>
+ + + + + +
+ + + + + + + +
void stdex::watchdog< _Clock, _Duration >::reset ()
+
+inline
+
+ +

Resets the watchdog.

+

Must be called frequently enough not to timeout the watchdog

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html index 019932797..2ca8cb12e 100644 --- a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html +++ b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html @@ -98,11 +98,13 @@ Files    unicode.cpp   + watchdog.cpp diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index 3a7e6e69d..651271263 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -86,7 +86,7 @@ Directories diff --git a/dir_fca3c47b2ea228727bd6729832f89576.html b/dir_fca3c47b2ea228727bd6729832f89576.html index 4fe7df7f8..c30119c08 100644 --- a/dir_fca3c47b2ea228727bd6729832f89576.html +++ b/dir_fca3c47b2ea228727bd6729832f89576.html @@ -88,8 +88,6 @@ Files    endian.hpp   - errno.hpp exception.hpp    hash.hpp @@ -126,11 +124,13 @@ Files    vector_queue.hpp   + watchdog.hpp diff --git a/endian_8hpp_source.html b/endian_8hpp_source.html index e583239da..6ed1146bc 100644 --- a/endian_8hpp_source.html +++ b/endian_8hpp_source.html @@ -91,142 +91,141 @@ $(document).ready(function() { init_codefold(0); });
7
8#include "compat.hpp"
9#include "system.hpp"
-
10#include <assert.h>
-
11#include <stdint.h>
-
12
-
13#ifndef LITTLE_ENDIAN
-
14#define LITTLE_ENDIAN 1234
-
15#endif
-
16#ifndef BIG_ENDIAN
-
17#define BIG_ENDIAN 4321
-
18#endif
-
19#ifndef BYTE_ORDER
-
20#if defined(_WIN32)
-
21#if REG_DWORD == REG_DWORD_LITTLE_ENDIAN
-
22#define BYTE_ORDER LITTLE_ENDIAN
-
23#elif REG_DWORD == REG_DWORD_BIG_ENDIAN
-
24#define BYTE_ORDER BIG_ENDIAN
-
25#endif
-
26#elif defined(__APPLE__)
-
27#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-
28#define BYTE_ORDER LITTLE_ENDIAN
-
29#elif __BYTE_ORDER == __ORDER_BIG_ENDIAN__
-
30#define BYTE_ORDER BIG_ENDIAN
-
31#endif
-
32#else
-
33#include <endian.h>
-
34#if __BYTE_ORDER == __LITTLE_ENDIAN
-
35#define BYTE_ORDER LITTLE_ENDIAN
-
36#elif __BYTE_ORDER == __BIG_ENDIAN
-
37#define BYTE_ORDER BIG_ENDIAN
+
10#include <stdint.h>
+
11
+
12#ifndef LITTLE_ENDIAN
+
13#define LITTLE_ENDIAN 1234
+
14#endif
+
15#ifndef BIG_ENDIAN
+
16#define BIG_ENDIAN 4321
+
17#endif
+
18#ifndef BYTE_ORDER
+
19#if defined(_WIN32)
+
20#if REG_DWORD == REG_DWORD_LITTLE_ENDIAN
+
21#define BYTE_ORDER LITTLE_ENDIAN
+
22#elif REG_DWORD == REG_DWORD_BIG_ENDIAN
+
23#define BYTE_ORDER BIG_ENDIAN
+
24#endif
+
25#elif defined(__APPLE__)
+
26#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+
27#define BYTE_ORDER LITTLE_ENDIAN
+
28#elif __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+
29#define BYTE_ORDER BIG_ENDIAN
+
30#endif
+
31#else
+
32#include <endian.h>
+
33#if __BYTE_ORDER == __LITTLE_ENDIAN
+
34#define BYTE_ORDER LITTLE_ENDIAN
+
35#elif __BYTE_ORDER == __BIG_ENDIAN
+
36#define BYTE_ORDER BIG_ENDIAN
+
37#endif
38#endif
-
39#endif
-
40#ifndef BYTE_ORDER
-
41#error Unknown endian
+
39#ifndef BYTE_ORDER
+
40#error Unknown endian
+
41#endif
42#endif
-
43#endif
-
44
-
45namespace stdex
-
46{
-
47 inline uint8_t byteswap(_In_ const uint8_t value)
-
48 {
-
49 return value;
-
50 }
-
51
-
52 inline uint16_t byteswap(_In_ const uint16_t value)
-
53 {
-
54#if _MSC_VER >= 1300
-
55 return _byteswap_ushort(value);
-
56#elif defined(_MSC_VER)
-
57 uint16_t t = (value & 0x00ff) << 8;
-
58 t |= (value) >> 8;
-
59 return t;
-
60#else
-
61 return __builtin_bswap16(value);
-
62#endif
-
63 }
-
64
-
65 inline uint32_t byteswap(_In_ const uint32_t value)
-
66 {
-
67#if _MSC_VER >= 1300
-
68 return _byteswap_ulong(value);
-
69#elif defined(_MSC_VER)
-
70 uint32_t t = (value & 0x000000ff) << 24;
-
71 t |= (value & 0x0000ff00) << 8;
-
72 t |= (value & 0x00ff0000) >> 8;
-
73 t |= (value) >> 24;
-
74 return t;
-
75#else
-
76 return __builtin_bswap32(value);
-
77#endif
-
78 }
-
79
-
80 inline uint64_t byteswap(_In_ const uint64_t value)
-
81 {
-
82#if _MSC_VER >= 1300
-
83 return _byteswap_uint64(value);
-
84#elif defined(_MSC_VER)
-
85 uint64_t t = (value & 0x00000000000000ff) << 56;
-
86 t |= (value & 0x000000000000ff00) << 40;
-
87 t |= (value & 0x0000000000ff0000) << 24;
-
88 t |= (value & 0x00000000ff000000) << 8;
-
89 t |= (value & 0x000000ff00000000) >> 8;
-
90 t |= (value & 0x0000ff0000000000) >> 24;
-
91 t |= (value & 0x00ff000000000000) >> 40;
-
92 t |= (value) >> 56;
-
93 return t;
-
94#else
-
95 return __builtin_bswap64(value);
-
96#endif
-
97 }
-
98
-
99 inline int8_t byteswap(_In_ const char value) { return byteswap(static_cast<uint8_t>(value)); }
-
100 inline int8_t byteswap(_In_ const int8_t value) { return byteswap(static_cast<uint8_t>(value)); }
-
101 inline int16_t byteswap(_In_ const int16_t value) { return byteswap(static_cast<uint16_t>(value)); }
-
102 inline int32_t byteswap(_In_ const int32_t value) { return byteswap(static_cast<uint32_t>(value)); }
-
103 inline int64_t byteswap(_In_ const int64_t value) { return byteswap(static_cast<uint64_t>(value)); }
-
104
-
105 inline float byteswap(_In_ const float value)
-
106 {
-
107 uint32_t r = byteswap(*reinterpret_cast<const uint32_t*>(&value));
-
108 return *reinterpret_cast<float*>(&r);
-
109 }
-
110
-
111 inline double byteswap(_In_ const double value)
-
112 {
-
113 uint64_t r = byteswap(*reinterpret_cast<const uint64_t*>(&value));
-
114 return *reinterpret_cast<double*>(&r);
-
115 }
-
116
-
117 inline void byteswap(_Inout_ uint8_t* value) { assert(value); *value = byteswap(*value); }
-
118 inline void byteswap(_Inout_ uint16_t* value) { assert(value); *value = byteswap(*value); }
-
119 inline void byteswap(_Inout_ uint32_t* value) { assert(value); *value = byteswap(*value); }
-
120 inline void byteswap(_Inout_ uint64_t* value) { assert(value); *value = byteswap(*value); }
-
121
-
122 inline void byteswap(_Inout_ char* value) { byteswap(reinterpret_cast<uint8_t*>(value)); }
-
123 inline void byteswap(_Inout_ int8_t* value) { byteswap(reinterpret_cast<uint8_t*>(value)); }
-
124 inline void byteswap(_Inout_ int16_t* value) { byteswap(reinterpret_cast<uint16_t*>(value)); }
-
125 inline void byteswap(_Inout_ int32_t* value) { byteswap(reinterpret_cast<uint32_t*>(value)); }
-
126 inline void byteswap(_Inout_ int64_t* value) { byteswap(reinterpret_cast<uint64_t*>(value)); }
-
127 inline void byteswap(_Inout_ float* value) { byteswap(reinterpret_cast<uint32_t*>(value)); }
-
128 inline void byteswap(_Inout_ double* value) { byteswap(reinterpret_cast<uint64_t*>(value)); }
-
129}
-
130
-
131#if BYTE_ORDER == BIG_ENDIAN
-
132#define LE2HE(x) stdex::byteswap(x)
-
133#define BE2HE(x) (x)
-
134#define HE2LE(x) stdex::byteswap(x)
-
135#define HE2BE(x) (x)
-
136#else
-
137#define LE2HE(x) (x)
-
138#define BE2HE(x) stdex::byteswap(x)
-
139#define HE2LE(x) (x)
-
140#define HE2BE(x) stdex::byteswap(x)
-
141#endif
+
43
+
44namespace stdex
+
45{
+
46 inline uint8_t byteswap(_In_ const uint8_t value)
+
47 {
+
48 return value;
+
49 }
+
50
+
51 inline uint16_t byteswap(_In_ const uint16_t value)
+
52 {
+
53#if _MSC_VER >= 1300
+
54 return _byteswap_ushort(value);
+
55#elif defined(_MSC_VER)
+
56 uint16_t t = (value & 0x00ff) << 8;
+
57 t |= (value) >> 8;
+
58 return t;
+
59#else
+
60 return __builtin_bswap16(value);
+
61#endif
+
62 }
+
63
+
64 inline uint32_t byteswap(_In_ const uint32_t value)
+
65 {
+
66#if _MSC_VER >= 1300
+
67 return _byteswap_ulong(value);
+
68#elif defined(_MSC_VER)
+
69 uint32_t t = (value & 0x000000ff) << 24;
+
70 t |= (value & 0x0000ff00) << 8;
+
71 t |= (value & 0x00ff0000) >> 8;
+
72 t |= (value) >> 24;
+
73 return t;
+
74#else
+
75 return __builtin_bswap32(value);
+
76#endif
+
77 }
+
78
+
79 inline uint64_t byteswap(_In_ const uint64_t value)
+
80 {
+
81#if _MSC_VER >= 1300
+
82 return _byteswap_uint64(value);
+
83#elif defined(_MSC_VER)
+
84 uint64_t t = (value & 0x00000000000000ff) << 56;
+
85 t |= (value & 0x000000000000ff00) << 40;
+
86 t |= (value & 0x0000000000ff0000) << 24;
+
87 t |= (value & 0x00000000ff000000) << 8;
+
88 t |= (value & 0x000000ff00000000) >> 8;
+
89 t |= (value & 0x0000ff0000000000) >> 24;
+
90 t |= (value & 0x00ff000000000000) >> 40;
+
91 t |= (value) >> 56;
+
92 return t;
+
93#else
+
94 return __builtin_bswap64(value);
+
95#endif
+
96 }
+
97
+
98 inline int8_t byteswap(_In_ const char value) { return byteswap(static_cast<uint8_t>(value)); }
+
99 inline int8_t byteswap(_In_ const int8_t value) { return byteswap(static_cast<uint8_t>(value)); }
+
100 inline int16_t byteswap(_In_ const int16_t value) { return byteswap(static_cast<uint16_t>(value)); }
+
101 inline int32_t byteswap(_In_ const int32_t value) { return byteswap(static_cast<uint32_t>(value)); }
+
102 inline int64_t byteswap(_In_ const int64_t value) { return byteswap(static_cast<uint64_t>(value)); }
+
103
+
104 inline float byteswap(_In_ const float value)
+
105 {
+
106 uint32_t r = byteswap(*reinterpret_cast<const uint32_t*>(&value));
+
107 return *reinterpret_cast<float*>(&r);
+
108 }
+
109
+
110 inline double byteswap(_In_ const double value)
+
111 {
+
112 uint64_t r = byteswap(*reinterpret_cast<const uint64_t*>(&value));
+
113 return *reinterpret_cast<double*>(&r);
+
114 }
+
115
+
116 inline void byteswap(_Inout_ uint8_t* value) { _Assume_(value); *value = byteswap(*value); }
+
117 inline void byteswap(_Inout_ uint16_t* value) { _Assume_(value); *value = byteswap(*value); }
+
118 inline void byteswap(_Inout_ uint32_t* value) { _Assume_(value); *value = byteswap(*value); }
+
119 inline void byteswap(_Inout_ uint64_t* value) { _Assume_(value); *value = byteswap(*value); }
+
120
+
121 inline void byteswap(_Inout_ char* value) { byteswap(reinterpret_cast<uint8_t*>(value)); }
+
122 inline void byteswap(_Inout_ int8_t* value) { byteswap(reinterpret_cast<uint8_t*>(value)); }
+
123 inline void byteswap(_Inout_ int16_t* value) { byteswap(reinterpret_cast<uint16_t*>(value)); }
+
124 inline void byteswap(_Inout_ int32_t* value) { byteswap(reinterpret_cast<uint32_t*>(value)); }
+
125 inline void byteswap(_Inout_ int64_t* value) { byteswap(reinterpret_cast<uint64_t*>(value)); }
+
126 inline void byteswap(_Inout_ float* value) { byteswap(reinterpret_cast<uint32_t*>(value)); }
+
127 inline void byteswap(_Inout_ double* value) { byteswap(reinterpret_cast<uint64_t*>(value)); }
+
128}
+
129
+
130#if BYTE_ORDER == BIG_ENDIAN
+
131#define LE2HE(x) stdex::byteswap(x)
+
132#define BE2HE(x) (x)
+
133#define HE2LE(x) stdex::byteswap(x)
+
134#define HE2BE(x) (x)
+
135#else
+
136#define LE2HE(x) (x)
+
137#define BE2HE(x) stdex::byteswap(x)
+
138#define HE2LE(x) (x)
+
139#define HE2BE(x) stdex::byteswap(x)
+
140#endif
diff --git a/errno_8hpp_source.html b/errno_8hpp_source.html deleted file mode 100644 index 1f27cea57..000000000 --- a/errno_8hpp_source.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -stdex: include/stdex/errno.hpp Source File - - - - - - - - - -
-
- - - - - - -
-
stdex -
-
Additional custom or not Standard C++ covered algorithms
-
-
- - - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
errno.hpp
-
-
-
1/*
-
2 SPDX-License-Identifier: MIT
-
3 Copyright © 2023 Amebis
-
4*/
-
5
-
6#pragma once
-
7
-
8#include "compat.hpp"
-
9#include <stdexcept>
-
10#include <cstring>
-
11
-
12namespace stdex
-
13{
-
-
17 class errno_error : public std::runtime_error
-
18 {
-
19 public:
-
-
26 errno_error(_In_ errno_t num, _In_ const std::string& msg) :
-
27 m_num(num),
-
28 runtime_error(msg)
-
29 {
-
30 }
-
-
31
-
-
38 errno_error(_In_ errno_t num, _In_opt_z_ const char *msg = nullptr) :
-
39 m_num(num),
-
40 runtime_error(msg)
-
41 {
-
42 }
-
-
43
-
-
49 errno_error(_In_ const std::string& msg) :
-
50 m_num(errno),
-
51 runtime_error(msg)
-
52 {
-
53 }
-
-
54
-
-
60 errno_error(_In_opt_z_ const char *msg = nullptr) :
-
61 m_num(errno),
-
62 runtime_error(msg)
-
63 {
-
64 }
-
-
65
-
-
69 errno_t number() const
-
70 {
-
71 return m_num;
-
72 }
-
-
73
-
74 protected:
-
75 errno_t m_num;
-
76 };
-
-
77}
-
Standard C runtime library error.
Definition errno.hpp:18
-
errno_t m_num
Numeric error code.
Definition errno.hpp:75
-
errno_error(errno_t num, const std::string &msg)
Constructs an exception.
Definition errno.hpp:26
-
errno_t number() const
Returns the error number.
Definition errno.hpp:69
-
errno_error(const std::string &msg)
Constructs an exception using GetLastError()
Definition errno.hpp:49
-
errno_error(const char *msg=nullptr)
Constructs an exception using GetLastError()
Definition errno.hpp:60
-
errno_error(errno_t num, const char *msg=nullptr)
Constructs an exception.
Definition errno.hpp:38
-
- - - - diff --git a/exception_8hpp_source.html b/exception_8hpp_source.html index a00c0d161..29a1342f2 100644 --- a/exception_8hpp_source.html +++ b/exception_8hpp_source.html @@ -98,19 +98,16 @@ $(document).ready(function() { init_codefold(0); });
16 class user_cancelled : public std::runtime_error
17 {
18 public:
-
-
24 user_cancelled(_In_opt_z_ const char* msg = "operation cancelled") : runtime_error(msg)
-
25 {}
+
24 user_cancelled(_In_opt_z_ const char* msg = "operation cancelled") : runtime_error(msg) {}
+
25 };
-
26 };
- -
27}
+
26}
stdex::user_cancelled
User cancelled exception.
Definition exception.hpp:17
stdex::user_cancelled::user_cancelled
user_cancelled(const char *msg="operation cancelled")
Constructs an exception.
Definition exception.hpp:24
diff --git a/files.html b/files.html index 461c54b2d..56230ae14 100644 --- a/files.html +++ b/files.html @@ -81,25 +81,25 @@ $(function() {  chrono.hpp  compat.hpp  endian.hpp - errno.hpp - exception.hpp - hash.hpp - hex.hpp - idrec.hpp - interval.hpp - mapping.hpp - math.hpp - memory.hpp - parser.hpp - progress.hpp - ring.hpp - sgml.hpp - sgml_unicode.hpp - stream.hpp - string.hpp - system.hpp - unicode.hpp - vector_queue.hpp + exception.hpp + hash.hpp + hex.hpp + idrec.hpp + interval.hpp + mapping.hpp + math.hpp + memory.hpp + parser.hpp + progress.hpp + ring.hpp + sgml.hpp + sgml_unicode.hpp + stream.hpp + string.hpp + system.hpp + unicode.hpp + vector_queue.hpp + watchdog.hpp   UnitTests  compat.hpp  hash.cpp @@ -110,12 +110,13 @@ $(function() {  sgml.cpp  stream.cpp  unicode.cpp + watchdog.cpp diff --git a/functions.html b/functions.html index bcd4e4ed1..c6be8f2f4 100644 --- a/functions.html +++ b/functions.html @@ -74,6 +74,7 @@ $(function() {

- a -

diff --git a/functions_c.html b/functions_c.html index e6ad35510..2cf15fe25 100644 --- a/functions_c.html +++ b/functions_c.html @@ -78,7 +78,7 @@ $(function() {
  • capacity() : stdex::vector_queue< T >
  • check_digits : stdex::parser::basic_creditor_reference< T >, stdex::parser::basic_iban< T >
  • clear() : stdex::base64_dec, stdex::base64_enc, stdex::basic_hash< T >, stdex::block_hash< T >, stdex::crc32_hash, stdex::hex_dec, stdex::md5_hash, stdex::sha1_hash, stdex::vector_queue< T >
  • -
  • close() : stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >, stdex::stream::basic, stdex::stream::basic_sys, stdex::stream::cache, stdex::stream::converter, stdex::stream::diag_file, stdex::stream::fifo, stdex::stream::file_window, stdex::stream::memory_file, stdex::stream::replicator, stdex::sys_object
  • +
  • close() : stdex::idrec::record< T, T_ID, ID, T_SIZE, ALIGN >, stdex::stream::basic, stdex::stream::basic_sys, stdex::stream::cache, stdex::stream::converter, stdex::stream::diag_file, stdex::stream::fifo, stdex::stream::file_window, stdex::stream::memory_file, stdex::stream::replicator, stdex::stream::socket, stdex::sys_object
  • components : stdex::parser::basic_ipv4_address< T >, stdex::parser::basic_ipv6_address< T >
  • const_pointer : stdex::vector_queue< T >
  • const_reference : stdex::vector_queue< T >
  • @@ -92,7 +92,7 @@ $(function() { diff --git a/functions_d.html b/functions_d.html index 69658ea99..471373a74 100644 --- a/functions_d.html +++ b/functions_d.html @@ -78,7 +78,7 @@ $(function() {
  • dec_size() : stdex::base64_dec, stdex::hex_dec
  • decimal : stdex::parser::basic_monetary_numeral< T >, stdex::parser::basic_scientific_numeral< T >
  • decimal_separator : stdex::parser::basic_monetary_numeral< T >, stdex::parser::basic_scientific_numeral< T >
  • -
  • decode() : stdex::base64_dec, stdex::hex_dec
  • +
  • decode() : stdex::base64_dec, stdex::base64_reader, stdex::hex_dec
  • detach() : stdex::global_progress< T >
  • digit_count : stdex::parser::basic_integer10ts< T >
  • do_set() : stdex::lazy_progress< T >
  • @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_e.html b/functions_e.html index cb4dcde7c..d0c7b2038 100644 --- a/functions_e.html +++ b/functions_e.html @@ -73,12 +73,12 @@ $(function() {
    Here is a list of all documented class members with links to the class documentation for each member:

    - e -

    @@ -213,7 +225,7 @@ $(function() { diff --git a/functions_w.html b/functions_w.html index e12def329..0da5a703e 100644 --- a/functions_w.html +++ b/functions_w.html @@ -73,8 +73,9 @@ $(function() {
    Here is a list of all documented class members with links to the class documentation for each member:

    - w -

    -
    stdex::errno_error Member List
    +
    stdex::sys_info_t Member List
    -

    This is the complete list of members for stdex::errno_error, including all inherited members.

    +

    This is the complete list of members for stdex::sys_info_t, including all inherited members.

    - - - - - - + + + + + +
    errno_error(errno_t num, const std::string &msg)stdex::errno_errorinline
    errno_error(errno_t num, const char *msg=nullptr)stdex::errno_errorinline
    errno_error(const std::string &msg)stdex::errno_errorinline
    errno_error(const char *msg=nullptr)stdex::errno_errorinline
    m_numstdex::errno_errorprotected
    number() conststdex::errno_errorinline
    adminstdex::sys_info_t
    elevatedstdex::sys_info_t
    interactive_processstdex::sys_info_t
    m_utsn (defined in stdex::sys_info_t)stdex::sys_info_tprotected
    os_platformstdex::sys_info_t
    sys_info_t() (defined in stdex::sys_info_t)stdex::sys_info_tinline
    diff --git a/structstdex_1_1sys__info__t.html b/structstdex_1_1sys__info__t.html new file mode 100644 index 000000000..e6813bb8d --- /dev/null +++ b/structstdex_1_1sys__info__t.html @@ -0,0 +1,143 @@ + + + + + + + +stdex: stdex::sys_info_t Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    stdex +
    +
    Additional custom or not Standard C++ covered algorithms
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    stdex::sys_info_t Struct Reference
    +
    +
    + +

    System information. + More...

    + +

    #include <stdex/system.hpp>

    + + + + + + + + + + + + + + +

    +Public Attributes

    platform_id os_platform
     The platform this process was compiled for.
     
    +bool interactive_process
     Is interactive process?
     
    +bool admin
     Is member of local group Administrators (Windows) or member of group wheel/sudoers (others)?
     
    +bool elevated
     Is elevated process (Windows) or running as root (others)?
     
    + + + +

    +Protected Attributes

    +struct utsname m_utsn
     
    +

    Detailed Description

    +

    System information.

    +

    Member Data Documentation

    + +

    ◆ os_platform

    + +
    +
    + + + + +
    platform_id stdex::sys_info_t::os_platform
    +
    + +

    The platform this process was compiled for.

    +

    The operating system platform

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/system_8hpp_source.html b/system_8hpp_source.html index 25fb071a8..6d8d38105 100644 --- a/system_8hpp_source.html +++ b/system_8hpp_source.html @@ -100,194 +100,385 @@ $(document).ready(function() { init_codefold(0); });
    16#include <tchar.h>
    17#else
    18#define _LARGEFILE64_SOURCE
    -
    19#include <sys/types.h>
    -
    20#include <unistd.h>
    -
    21#endif
    -
    22#include "compat.hpp"
    -
    23#include <assert.h>
    -
    24#include <stdexcept>
    -
    25#include <string>
    -
    26
    -
    27// In case somebody #included <windows.h> before us and didn't #define NOMINMAX
    -
    28#ifdef _WIN32
    -
    29#ifdef min
    -
    30#undef min
    -
    31#endif
    -
    32#ifdef max
    -
    33#undef max
    +
    19#include <grp.h>
    +
    20#include <pwd.h>
    +
    21#include <string.h>
    +
    22#include <sys/types.h>
    +
    23#include <unistd.h>
    +
    24#endif
    +
    25#include "compat.hpp"
    +
    26#include <regex>
    +
    27#include <stdexcept>
    +
    28#include <string>
    +
    29
    +
    30// In case somebody #included <windows.h> before us and didn't #define NOMINMAX
    +
    31#ifdef _WIN32
    +
    32#ifdef min
    +
    33#undef min
    34#endif
    -
    35#endif
    -
    36
    -
    37#if defined(_WIN32)
    -
    38#define PATH_SEPARATOR '\\'
    -
    39#define PATH_SEPARATOR_STR "\\"
    -
    40#else
    -
    41#define PATH_SEPARATOR '/'
    -
    42#define PATH_SEPARATOR_STR "/"
    -
    43#endif
    -
    44
    -
    45namespace stdex
    -
    46{
    -
    50#if defined(_WIN32)
    -
    51 using sys_handle = HANDLE;
    -
    52 const sys_handle invalid_handle = INVALID_HANDLE_VALUE;
    -
    53#else
    -
    54 using sys_handle = int;
    -
    55 const sys_handle invalid_handle = (sys_handle)-1;
    -
    56#endif
    -
    57
    -
    61#if defined(_WIN32)
    -
    62 using schar_t = TCHAR;
    -
    63#else
    -
    64 using schar_t = char;
    -
    65#define _T(x) x
    -
    66#endif
    -
    67
    -
    72 using sys_char = schar_t;
    -
    73
    -
    77 using sstring = std::basic_string<stdex::schar_t>;
    -
    78
    -
    83 using sys_string = sstring;
    -
    84
    -
    - -
    89 {
    -
    90 public:
    -
    91 sys_object(_In_opt_ sys_handle h = invalid_handle) : m_h(h) {}
    -
    92
    -
    93 sys_object(_In_ const sys_object& other) : m_h(other.m_h != invalid_handle ? duplicate(other.m_h, false) : invalid_handle) {}
    -
    94
    -
    95 sys_object& operator =(_In_ const sys_object& other)
    -
    96 {
    -
    97 if (this != std::addressof(other)) {
    -
    98 if (m_h != invalid_handle)
    -
    99 close(m_h);
    -
    100 m_h = other.m_h != invalid_handle ? duplicate(other.m_h, false) : invalid_handle;
    -
    101 }
    -
    102 return *this;
    -
    103 }
    -
    104
    -
    105 sys_object(_Inout_ sys_object&& other) noexcept : m_h(other.m_h)
    -
    106 {
    -
    107 other.m_h = invalid_handle;
    -
    108 }
    +
    35#ifdef max
    +
    36#undef max
    +
    37#endif
    +
    38#endif
    +
    39
    +
    40#if defined(_WIN32)
    +
    41#define PATH_SEPARATOR '\\'
    +
    42#define PATH_SEPARATOR_STR "\\"
    +
    43#else
    +
    44#define PATH_SEPARATOR '/'
    +
    45#define PATH_SEPARATOR_STR "/"
    +
    46#endif
    +
    47
    +
    48namespace stdex
    +
    49{
    +
    53#if defined(_WIN32)
    +
    54 using sys_handle = HANDLE;
    +
    55 const sys_handle invalid_handle = INVALID_HANDLE_VALUE;
    +
    56#else
    +
    57 using sys_handle = int;
    +
    58 const sys_handle invalid_handle = (sys_handle)-1;
    +
    59#endif
    +
    60
    +
    64#if defined(_WIN32)
    +
    65 inline DWORD sys_error() { return GetLastError(); }
    +
    66#else
    +
    67 inline int sys_error() { return errno; }
    +
    68#endif
    +
    69
    +
    73#if defined(_WIN32)
    +
    74 using schar_t = TCHAR;
    +
    75#else
    +
    76 using schar_t = char;
    +
    77#define _T(x) x
    +
    78#endif
    +
    79
    +
    84 using sys_char = schar_t;
    +
    85
    +
    89 using sstring = std::basic_string<stdex::schar_t>;
    +
    90
    +
    95 using sys_string = sstring;
    +
    96
    +
    100 using sregex = std::basic_regex<stdex::schar_t>;
    +
    101
    +
    + +
    106 {
    +
    107 public:
    +
    108 sys_object(_In_opt_ sys_handle h = invalid_handle) : m_h(h) {}
    109
    -
    110 sys_object& operator =(_Inout_ sys_object&& other) noexcept
    -
    111 {
    -
    112 if (this != std::addressof(other)) {
    -
    113 if (m_h != invalid_handle)
    -
    114 close(m_h);
    -
    115 m_h = other.m_h;
    -
    116 other.m_h = invalid_handle;
    -
    117 }
    -
    118 return *this;
    -
    119 }
    -
    120
    -
    121 virtual ~sys_object() noexcept(false)
    -
    122 {
    -
    123 if (m_h != invalid_handle)
    -
    124 close(m_h);
    +
    110 sys_object(_In_ const sys_object& other) : m_h(other.m_h != invalid_handle ? duplicate(other.m_h, false) : invalid_handle) {}
    +
    111
    +
    112 sys_object& operator =(_In_ const sys_object& other)
    +
    113 {
    +
    114 if (this != std::addressof(other)) {
    +
    115 if (m_h != invalid_handle)
    +
    116 close(m_h);
    +
    117 m_h = other.m_h != invalid_handle ? duplicate(other.m_h, false) : invalid_handle;
    +
    118 }
    +
    119 return *this;
    +
    120 }
    +
    121
    +
    122 sys_object(_Inout_ sys_object&& other) noexcept : m_h(other.m_h)
    +
    123 {
    +
    124 other.m_h = invalid_handle;
    125 }
    126
    -
    -
    130 virtual void close()
    -
    131 {
    -
    132 if (m_h != invalid_handle) {
    -
    133 close(m_h);
    -
    134 m_h = invalid_handle;
    -
    135 }
    +
    127 sys_object& operator =(_Inout_ sys_object&& other) noexcept
    +
    128 {
    +
    129 if (this != std::addressof(other)) {
    +
    130 if (m_h != invalid_handle)
    +
    131 close(m_h);
    +
    132 m_h = other.m_h;
    +
    133 other.m_h = invalid_handle;
    +
    134 }
    +
    135 return *this;
    136 }
    -
    137
    -
    141 inline operator bool() const noexcept { return m_h != invalid_handle; }
    -
    142
    -
    146 inline sys_handle get() const noexcept { return m_h; }
    -
    147
    -
    148 protected:
    -
    -
    152 static void close(_In_ sys_handle h)
    -
    153 {
    -
    154#ifdef _WIN32
    -
    155 if (CloseHandle(h) || GetLastError() == ERROR_INVALID_HANDLE)
    -
    156#else
    -
    157 if (::close(h) >= 0 || errno == EBADF)
    -
    158#endif
    -
    159 return;
    -
    160 throw std::runtime_error("failed to close handle");
    -
    161 }
    +
    138 virtual ~sys_object() noexcept(false)
    +
    139 {
    +
    140 if (m_h != invalid_handle)
    +
    141 close(m_h);
    +
    142 }
    +
    143
    +
    +
    147 virtual void close()
    +
    148 {
    +
    149 if (m_h != invalid_handle) {
    +
    150 close(m_h);
    +
    151 m_h = invalid_handle;
    +
    152 }
    +
    153 }
    -
    162
    -
    -
    166 static sys_handle duplicate(_In_ sys_handle h, _In_ bool inherit)
    -
    167 {
    -
    168 sys_handle h_new;
    -
    169#ifdef _WIN32
    -
    170 HANDLE process = GetCurrentProcess();
    -
    171 if (DuplicateHandle(process, h, process, &h_new, 0, inherit, DUPLICATE_SAME_ACCESS))
    -
    172#else
    -
    173 _Unreferenced_(inherit);
    -
    174 if ((h_new = dup(h)) >= 0)
    -
    175#endif
    -
    176 return h_new;
    -
    177 throw std::runtime_error("failed to duplicate handle");
    -
    178 }
    +
    154
    +
    158 inline operator bool() const noexcept { return m_h != invalid_handle; }
    +
    159
    +
    163 inline sys_handle get() const noexcept { return m_h; }
    +
    164
    +
    165 protected:
    +
    +
    169 static void close(_In_ sys_handle h)
    +
    170 {
    +
    171#ifdef _WIN32
    +
    172 if (CloseHandle(h) || GetLastError() == ERROR_INVALID_HANDLE)
    +
    173 return;
    +
    174 throw std::system_error(GetLastError(), std::system_category(), "CloseHandle failed");
    +
    175#else
    +
    176 if (::close(h) >= 0 || errno == EBADF)
    +
    177 return;
    +
    178 throw std::system_error(errno, std::system_category(), "close failed");
    +
    179#endif
    +
    180 }
    -
    179
    -
    180 protected:
    -
    181 sys_handle m_h;
    -
    182 };
    -
    -
    183
    -
    184#ifdef _WIN32
    -
    185 template <class T>
    -
    186 class safearray_accessor
    -
    187 {
    -
    188 public:
    -
    189 safearray_accessor(_In_ LPSAFEARRAY sa) : m_sa(sa)
    -
    190 {
    -
    191 HRESULT hr = SafeArrayAccessData(sa, reinterpret_cast<void HUGEP**>(&m_data));
    -
    192 if (FAILED(hr))
    -
    193 throw std::invalid_argument("SafeArrayAccessData failed");
    -
    194 }
    -
    195
    -
    196 ~safearray_accessor()
    -
    197 {
    -
    198 SafeArrayUnaccessData(m_sa);
    +
    181
    +
    +
    185 static sys_handle duplicate(_In_ sys_handle h, _In_ bool inherit)
    +
    186 {
    +
    187 sys_handle h_new;
    +
    188#ifdef _WIN32
    +
    189 HANDLE process = GetCurrentProcess();
    +
    190 if (DuplicateHandle(process, h, process, &h_new, 0, inherit, DUPLICATE_SAME_ACCESS))
    +
    191 return h_new;
    +
    192 throw std::system_error(GetLastError(), std::system_category(), "DuplicateHandle failed");
    +
    193#else
    +
    194 _Unreferenced_(inherit);
    +
    195 if ((h_new = dup(h)) >= 0)
    +
    196 return h_new;
    +
    197 throw std::system_error(errno, std::system_category(), "dup failed");
    +
    198#endif
    199 }
    +
    200
    -
    201 T* data() const { return m_data; }
    -
    202
    -
    203 protected:
    -
    204 LPSAFEARRAY m_sa;
    -
    205 T* m_data;
    -
    206 };
    -
    207
    -
    211 struct SafeArrayDestroy_delete
    -
    212 {
    -
    216 void operator()(_In_ LPSAFEARRAY sa) const
    -
    217 {
    -
    218 SafeArrayDestroy(sa);
    -
    219 }
    -
    220 };
    +
    201 protected:
    +
    202 sys_handle m_h;
    +
    203 };
    +
    +
    204
    +
    205#ifdef _WIN32
    +
    206 template <class T>
    +
    207 class safearray_accessor
    +
    208 {
    +
    209 public:
    +
    210 safearray_accessor(_In_ LPSAFEARRAY sa) : m_sa(sa)
    +
    211 {
    +
    212 HRESULT hr = SafeArrayAccessData(sa, reinterpret_cast<void HUGEP**>(&m_data));
    +
    213 if (FAILED(hr))
    +
    214 throw std::system_error(hr, std::system_category(), "SafeArrayAccessData failed");
    +
    215 }
    +
    216
    +
    217 ~safearray_accessor()
    +
    218 {
    +
    219 SafeArrayUnaccessData(m_sa);
    +
    220 }
    221
    -
    225 struct SysFreeString_delete
    -
    226 {
    -
    230 void operator()(_In_ BSTR sa) const
    -
    231 {
    -
    232 SysFreeString(sa);
    -
    233 }
    -
    234 };
    -
    235#endif
    -
    236}
    -
    Operating system object (file, pipe, anything with an OS handle etc.)
    Definition system.hpp:89
    -
    sys_handle get() const noexcept
    Returns object handle.
    Definition system.hpp:146
    -
    virtual void close()
    Closes object.
    Definition system.hpp:130
    -
    static sys_handle duplicate(sys_handle h, bool inherit)
    Duplicates given object.
    Definition system.hpp:166
    -
    static void close(sys_handle h)
    Closes object.
    Definition system.hpp:152
    +
    222 T* data() const { return m_data; }
    +
    223
    +
    224 protected:
    +
    225 LPSAFEARRAY m_sa;
    +
    226 T* m_data;
    +
    227 };
    +
    228
    +
    232 struct SafeArrayDestroy_delete
    +
    233 {
    +
    237 void operator()(_In_ LPSAFEARRAY sa) const
    +
    238 {
    +
    239 SafeArrayDestroy(sa);
    +
    240 }
    +
    241 };
    +
    242
    +
    246 struct SysFreeString_delete
    +
    247 {
    +
    251 void operator()(_In_ BSTR sa) const
    +
    252 {
    +
    253 SysFreeString(sa);
    +
    254 }
    +
    255 };
    +
    256#endif
    +
    257
    +
    261#ifdef _WIN32
    +
    262 typedef uint16_t platform_id;
    +
    263#else
    +
    264 typedef const char* platform_id;
    +
    265
    +
    266 inline bool operator ==(_In_ const platform_id a, _In_ const platform_id b) { return a == b; }
    +
    267 inline bool operator !=(_In_ const platform_id a, _In_ const platform_id b) { return a != b; }
    +
    268 inline bool operator <(_In_ const platform_id a, _In_ const platform_id b) { return a == IMAGE_FILE_MACHINE_UNKNOWN && b != IMAGE_FILE_MACHINE_UNKNOWN || a != IMAGE_FILE_MACHINE_UNKNOWN && b != IMAGE_FILE_MACHINE_UNKNOWN && strcmp(a, b) < 0; }
    +
    269 inline bool operator <=(_In_ const platform_id a, _In_ const platform_id b) { return a == IMAGE_FILE_MACHINE_UNKNOWN || a != IMAGE_FILE_MACHINE_UNKNOWN && b != IMAGE_FILE_MACHINE_UNKNOWN && strcmp(a, b) <= 0; }
    +
    270 inline bool operator >(_In_ const platform_id a, _In_ const platform_id b) { return a != IMAGE_FILE_MACHINE_UNKNOWN && b == IMAGE_FILE_MACHINE_UNKNOWN || a != IMAGE_FILE_MACHINE_UNKNOWN && b != IMAGE_FILE_MACHINE_UNKNOWN && strcmp(a, b) > 0; }
    +
    271 inline bool operator >=(_In_ const platform_id a, _In_ const platform_id b) { return b == IMAGE_FILE_MACHINE_UNKNOWN || a != IMAGE_FILE_MACHINE_UNKNOWN && b != IMAGE_FILE_MACHINE_UNKNOWN && strcmp(a, b) >= 0; }
    +
    272#endif
    +
    273}
    +
    274
    +
    275#ifndef _WIN32
    +
    276constexpr stdex::platform_id IMAGE_FILE_MACHINE_UNKNOWN = nullptr;
    +
    277constexpr stdex::platform_id IMAGE_FILE_MACHINE_I386 = "i386";
    +
    278constexpr stdex::platform_id IMAGE_FILE_MACHINE_AMD64 = "x86_64";
    +
    279constexpr stdex::platform_id IMAGE_FILE_MACHINE_ARMNT = "arm";
    +
    280constexpr stdex::platform_id IMAGE_FILE_MACHINE_ARM64 = "aarch64";
    +
    281#endif
    +
    282
    +
    283namespace stdex
    +
    284{
    +
    +
    288 const struct sys_info_t
    +
    289 {
    +
    293#if _M_IX86
    +
    294 static constexpr platform_id process_platform = IMAGE_FILE_MACHINE_I386;
    +
    295#elif _M_X64 // _M_ARM64EC is introducing as x64
    +
    296 static constexpr platform_id process_platform = IMAGE_FILE_MACHINE_AMD64;
    +
    297#elif _M_ARM
    +
    298 static constexpr platform_id process_platform = IMAGE_FILE_MACHINE_ARMNT;
    +
    299#elif _M_ARM64
    +
    300 static constexpr platform_id process_platform = IMAGE_FILE_MACHINE_ARM64;
    +
    301#elif __i386__
    +
    302 static constexpr platform_id process_platform = "i386";
    +
    303#elif __x86_64__
    +
    304 static constexpr platform_id process_platform = "x86_64";
    +
    305#elif __aarch64__
    +
    306 static constexpr platform_id process_platform = "aarch64";
    +
    307#else
    +
    308 #error Unknown platform
    +
    309#endif
    +
    310
    +
    314 platform_id os_platform;
    +
    315
    +
    316#ifdef _WIN32
    +
    320 bool wow64;
    +
    321#endif
    +
    322
    + +
    327
    +
    331 bool admin;
    +
    332
    + +
    337
    +
    338 sys_info_t() :
    +
    339 os_platform(IMAGE_FILE_MACHINE_UNKNOWN),
    +
    340 wow64(false),
    + +
    342 admin(false),
    +
    343 elevated(false)
    +
    344 {
    +
    345#ifdef _WIN32
    +
    346 HMODULE kernel32_handle;
    +
    347 kernel32_handle = LoadLibrary(_T("kernel32.dll"));
    +
    348 _Assume_(kernel32_handle);
    +
    349 BOOL(WINAPI * IsWow64Process2)(HANDLE hProcess, USHORT * pProcessMachine, USHORT * pNativeMachine);
    +
    350 *reinterpret_cast<FARPROC*>(&IsWow64Process2) = GetProcAddress(kernel32_handle, "IsWow64Process2");
    +
    351 HANDLE process = GetCurrentProcess();
    +
    352 USHORT process_machine;
    +
    353#ifndef _WIN64
    +
    354 BOOL Wow64Process;
    +
    355#endif
    +
    356 if (IsWow64Process2 && IsWow64Process2(process, &process_machine, &os_platform)) {
    +
    357 wow64 = process_machine != IMAGE_FILE_MACHINE_UNKNOWN;
    +
    358 }
    +
    359#ifdef _WIN64
    +
    360 else {
    +
    361 os_platform = process_platform;
    +
    362 wow64 = false;
    +
    363 }
    +
    364#else
    +
    365 else if (IsWow64Process(process, &Wow64Process)) {
    +
    366 if (Wow64Process) {
    +
    367 os_platform = IMAGE_FILE_MACHINE_AMD64;
    +
    368 wow64 = true;
    +
    369 }
    +
    370 else {
    +
    371 os_platform = process_platform;
    +
    372 wow64 = false;
    +
    373 }
    +
    374 }
    +
    375#endif
    +
    376 FreeLibrary(kernel32_handle);
    +
    377#else
    +
    378 memset(&m_utsn, 0, sizeof(m_utsn));
    +
    379 if (uname(&m_utsn) != -1)
    +
    380 os_platform = reinterpret_cast<platform_id>(m_utsn.machine);
    +
    381#endif
    +
    382
    +
    383#ifdef _WIN32
    +
    384 HWINSTA hWinSta = GetProcessWindowStation();
    +
    385 if (hWinSta) {
    +
    386 TCHAR sName[MAX_PATH];
    +
    387 if (GetUserObjectInformation(hWinSta, UOI_NAME, sName, sizeof(sName), NULL)) {
    +
    388 sName[_countof(sName) - 1] = 0;
    +
    389 // Only "WinSta0" is interactive (Source: KB171890)
    +
    390 interactive_process = _tcsicmp(sName, _T("WinSta0")) == 0;
    +
    391 }
    +
    392 }
    +
    393#else
    +
    394 // TODO: Research interactive process vs service/agent/daemon on this platform.
    +
    395#endif
    +
    396
    +
    397#if defined(_WIN32)
    +
    398 {
    +
    399 HANDLE token_h;
    +
    400 if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token_h)) {
    +
    401 sys_object token(token_h);
    +
    402
    +
    403 TOKEN_ELEVATION elevation;
    +
    404 DWORD size = sizeof(TOKEN_ELEVATION);
    +
    405 if (GetTokenInformation(token_h, TokenElevation, &elevation, sizeof(elevation), &size))
    +
    406 elevated = elevation.TokenIsElevated;
    +
    407
    +
    408 GetTokenInformation(token.get(), TokenGroups, NULL, 0, &size);
    +
    409 std::unique_ptr<TOKEN_GROUPS> groups((TOKEN_GROUPS*)new uint8_t[size]);
    +
    410 if (GetTokenInformation(token.get(), TokenGroups, (LPVOID)groups.get(), size, &size)) {
    +
    411 SID_IDENTIFIER_AUTHORITY authority = SECURITY_NT_AUTHORITY;
    +
    412 PSID sid_admins_h = NULL;
    +
    413 if (AllocateAndInitializeSid(&authority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &sid_admins_h)) {
    +
    414 struct SID_delete { void operator()(_In_ PSID p) const { FreeSid(p); } };
    +
    415 std::unique_ptr<void, SID_delete> sid_admins(sid_admins_h);
    +
    416 for (DWORD i = 0; i < groups->GroupCount; ++i)
    +
    417 if (EqualSid(sid_admins.get(), groups->Groups[i].Sid)) {
    +
    418 admin = true;
    +
    419 break;
    +
    420 }
    +
    421 }
    +
    422 }
    +
    423 }
    +
    424 }
    +
    425#elif defined(__APPLE__)
    +
    426 {
    +
    427 gid_t gids[NGROUPS + 1]; // A user cannot be member in more than NGROUPS groups, not counting the default group (hence the + 1)
    +
    428 for (int i = 0, n = getgroups(_countof(gids), gids); i < n; ++i) {
    +
    429 struct group* group = getgrgid(gids[i]);
    +
    430 if (!group) continue;
    +
    431 if (strcmp(group->gr_name, "admin") == 0) {
    +
    432 admin = true;
    +
    433 break;
    +
    434 }
    +
    435 }
    +
    436 }
    +
    437
    +
    438 elevated = geteuid() == 0;
    +
    439#else
    +
    440 // TODO: Set admin.
    +
    441 elevated = geteuid() == 0;
    +
    442#endif
    +
    443 }
    +
    444
    +
    445 protected:
    +
    446#ifndef _WIN32
    +
    447 struct utsname m_utsn;
    +
    448#endif
    +
    449 } sys_info;
    +
    +
    450}
    +
    Operating system object (file, pipe, anything with an OS handle etc.)
    Definition system.hpp:106
    +
    sys_handle get() const noexcept
    Returns object handle.
    Definition system.hpp:163
    +
    virtual void close()
    Closes object.
    Definition system.hpp:147
    +
    static sys_handle duplicate(sys_handle h, bool inherit)
    Duplicates given object.
    Definition system.hpp:185
    +
    static void close(sys_handle h)
    Closes object.
    Definition system.hpp:169
    +
    System information.
    Definition system.hpp:289
    +
    bool admin
    Is member of local group Administrators (Windows) or member of group wheel/sudoers (others)?
    Definition system.hpp:331
    +
    bool elevated
    Is elevated process (Windows) or running as root (others)?
    Definition system.hpp:336
    +
    platform_id os_platform
    The platform this process was compiled for.
    Definition system.hpp:314
    +
    bool interactive_process
    Is interactive process?
    Definition system.hpp:326
    diff --git a/unicode_8cpp_source.html b/unicode_8cpp_source.html index b85694385..52a872fd4 100644 --- a/unicode_8cpp_source.html +++ b/unicode_8cpp_source.html @@ -177,11 +177,11 @@ $(document).ready(function() { init_codefold(0); });
    93#ifndef _WIN32
    94#pragma GCC diagnostic pop
    95#endif
    -
    Encoding converter context.
    Definition unicode.hpp:57
    +
    Encoding converter context.
    Definition unicode.hpp:65
    diff --git a/unicode_8hpp_source.html b/unicode_8hpp_source.html index edb04b314..4e95f8c6f 100644 --- a/unicode_8hpp_source.html +++ b/unicode_8hpp_source.html @@ -93,12 +93,12 @@ $(document).ready(function() { init_codefold(0); });
    9#include "endian.hpp"
    10#include "math.hpp"
    11#include "system.hpp"
    -
    12#include <assert.h>
    -
    13#include <stdint.h>
    -
    14#ifndef _WIN32
    -
    15#include <iconv.h>
    -
    16#include <langinfo.h>
    -
    17#endif
    +
    12#include <stdint.h>
    +
    13#ifndef _WIN32
    +
    14#include <iconv.h>
    +
    15#include <langinfo.h>
    +
    16#endif
    +
    17#include <map>
    18#include <memory>
    19#include <string>
    20
    @@ -108,557 +108,589 @@ $(document).ready(function() { init_codefold(0); });
    24#ifdef _WIN32
    25 system = CP_ACP,
    26 oem = CP_OEMCP,
    -
    27 utf8 = CP_UTF8,
    -
    28 utf16 = 1200 /*CP_WINUNICODE*/,
    -
    29 utf32 = 12000,
    -
    30 windows1250 = 1250,
    -
    31 windows1251 = 1251,
    -
    32 windows1252 = 1252,
    -
    33#else
    -
    34 system = 0,
    -
    35 utf8,
    -
    36 utf16,
    -
    37 utf32,
    -
    38 windows1250,
    -
    39 windows1251,
    -
    40 windows1252,
    -
    41
    -
    42 _max
    -
    43#endif
    -
    44 };
    -
    45
    -
    46#ifdef _WIN32
    -
    47 constexpr charset_id wchar_t_charset = charset_id::utf16;
    -
    48#else
    -
    49 constexpr charset_id wchar_t_charset = charset_id::utf32;
    -
    50#endif
    -
    51
    -
    55 template <typename T_from, typename T_to>
    -
    - -
    57 {
    -
    58 protected:
    -
    59 charset_id m_from, m_to;
    -
    60
    -
    61 public:
    -
    62 charset_encoder(_In_ charset_id from, _In_ charset_id to) :
    -
    63 m_from(from),
    -
    64 m_to(to)
    -
    65 {
    -
    66#ifdef _WIN32
    -
    67 m_from_wincp = to_encoding(from);
    -
    68 m_to_wincp = to_encoding(to);
    -
    69#else
    -
    70 m_handle = iconv_open(to_encoding(to), to_encoding(from));
    -
    71 if (m_handle == (iconv_t)-1)
    -
    72 throw std::runtime_error("iconv_open failed");
    -
    73#endif
    -
    74 }
    -
    75
    -
    76#ifndef _WIN32
    - -
    78 {
    -
    79 iconv_close(m_handle);
    -
    80 }
    +
    27 utf7 = CP_UTF7,
    +
    28 utf8 = CP_UTF8,
    +
    29 utf16 = 1200 /*CP_WINUNICODE*/,
    +
    30 utf32 = 12000,
    +
    31 windows1250 = 1250,
    +
    32 windows1251 = 1251,
    +
    33 windows1252 = 1252,
    +
    34#else
    +
    35 system = 0,
    +
    36 utf7,
    +
    37 utf8,
    +
    38 utf16,
    +
    39 utf32,
    +
    40 windows1250,
    +
    41 windows1251,
    +
    42 windows1252,
    +
    43
    +
    44 _max
    +
    45#endif
    +
    46 };
    +
    47
    +
    48#ifdef _WIN32
    +
    49 constexpr charset_id wchar_t_charset = charset_id::utf16;
    +
    50#ifdef _UNICODE
    +
    51 constexpr charset_id system_charset = charset_id::utf16;
    +
    52#else
    +
    53 constexpr charset_id system_charset = charset_id::system;
    +
    54#endif
    +
    55#else
    +
    56 constexpr charset_id wchar_t_charset = charset_id::utf32;
    +
    57 constexpr charset_id system_charset = charset_id::system;
    +
    58#endif
    +
    59
    +
    63 template <typename T_from, typename T_to>
    +
    + +
    65 {
    +
    66 protected:
    +
    67 charset_id m_from, m_to;
    +
    68
    +
    69 public:
    +
    70 charset_encoder(_In_ charset_id from, _In_ charset_id to) :
    +
    71 m_from(from),
    +
    72 m_to(to)
    +
    73 {
    +
    74#ifdef _WIN32
    +
    75 m_from_wincp = to_encoding(from);
    +
    76 m_to_wincp = to_encoding(to);
    +
    77#else
    +
    78 m_handle = iconv_open(to_encoding(to), to_encoding(from));
    +
    79 if (m_handle == (iconv_t)-1)
    +
    80 throw std::system_error(errno, std::system_category(), "iconv_open failed");
    81#endif
    -
    82
    -
    83 inline charset_id from_encoding() const { return m_from; }
    -
    84 inline charset_id to_encoding() const { return m_to; }
    -
    85
    -
    93 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    -
    94 void strcat(
    -
    95 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to> &dst,
    -
    96 _In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
    -
    97 {
    -
    98 assert(src || !count_src);
    -
    99 count_src = stdex::strnlen(src, count_src);
    -
    100 if (!count_src) _Unlikely_
    -
    101 return;
    -
    102
    -
    103#ifdef _WIN32
    -
    104 constexpr DWORD dwFlagsMBWC = MB_PRECOMPOSED;
    -
    105 constexpr DWORD dwFlagsWCMB = 0;
    -
    106 constexpr LPCCH lpDefaultChar = NULL;
    -
    107
    -
    108 _Analysis_assume_(src);
    -
    109 if (m_from_wincp == m_to_wincp) _Unlikely_{
    -
    110 dst.append(reinterpret_cast<const T_to*>(src), count_src);
    -
    111 return;
    -
    112 }
    -
    113
    -
    114 if _Constexpr_ (sizeof(T_from) == sizeof(char) && sizeof(T_to) == sizeof(wchar_t)) {
    -
    115 assert(count_src < INT_MAX || count_src == SIZE_MAX);
    -
    116
    -
    117 // Try to convert to stack buffer first.
    -
    118 WCHAR szStackBuffer[1024 / sizeof(WCHAR)];
    -
    119#pragma warning(suppress: 6387) // Testing indicates src may be NULL when count_src is also 0. Is SAL of the lpMultiByteStr parameter wrong?
    -
    120 int cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szStackBuffer, _countof(szStackBuffer));
    -
    121 if (cch) {
    -
    122 // Append from stack.
    -
    123 dst.append(reinterpret_cast<const T_to*>(szStackBuffer), count_src != SIZE_MAX ? wcsnlen(szStackBuffer, cch) : static_cast<size_t>(cch) - 1);
    -
    124 return;
    -
    125 }
    -
    126 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    -
    127 // Query the required output size. Allocate buffer. Then convert again.
    -
    128 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), NULL, 0);
    -
    129 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
    -
    130 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szBuffer.get(), cch);
    -
    131 dst.append(reinterpret_cast<const T_to*>(szBuffer.get()), count_src != SIZE_MAX ? wcsnlen(szBuffer.get(), cch) : static_cast<size_t>(cch) - 1);
    -
    132 return;
    -
    133 }
    -
    134 throw std::runtime_error("MultiByteToWideChar failed");
    -
    135 }
    -
    136
    -
    137 if _Constexpr_ (sizeof(T_from) == sizeof(wchar_t) && sizeof(T_to) == sizeof(char)) {
    -
    138 assert(count_src < INT_MAX || count_src == SIZE_MAX);
    -
    139
    -
    140 // Try to convert to stack buffer first.
    -
    141 CHAR szStackBuffer[1024 / sizeof(CHAR)];
    -
    142#pragma warning(suppress: 6387) // Testing indicates src may be NULL when count_src is also 0. Is SAL of the lpWideCharStr parameter wrong?
    -
    143 int cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, reinterpret_cast<LPCWCH>(src), static_cast<int>(count_src), szStackBuffer, _countof(szStackBuffer), lpDefaultChar, NULL);
    -
    144 if (cch) {
    -
    145 // Copy from stack. Be careful not to include zero terminator.
    -
    146 dst.append(reinterpret_cast<const T_to*>(szStackBuffer), count_src != SIZE_MAX ? strnlen(szStackBuffer, cch) : static_cast<size_t>(cch) - 1);
    -
    147 return;
    -
    148 }
    -
    149 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    -
    150 // Query the required output size. Allocate buffer. Then convert again.
    -
    151 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, reinterpret_cast<LPCWCH>(src), static_cast<int>(count_src), NULL, 0, lpDefaultChar, NULL);
    -
    152 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
    -
    153 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, reinterpret_cast<LPCWCH>(src), static_cast<int>(count_src), szBuffer.get(), cch, lpDefaultChar, NULL);
    -
    154 dst.append(reinterpret_cast<const T_to*>(szBuffer.get()), count_src != SIZE_MAX ? strnlen(szBuffer.get(), cch) : static_cast<size_t>(cch) - 1);
    -
    155 return;
    -
    156 }
    -
    157 throw std::runtime_error("WideCharToMultiByte failed");
    -
    158 }
    -
    159
    -
    160 if _Constexpr_ (sizeof(T_from) == sizeof(char) && sizeof(T_to) == sizeof(char)) {
    -
    161 assert(count_src < INT_MAX || count_src == SIZE_MAX);
    -
    162
    -
    163 // Try to convert to stack buffer first.
    -
    164 WCHAR szStackBufferMBWC[512 / sizeof(WCHAR)];
    -
    165#pragma warning(suppress: 6387) // Testing indicates src may be NULL when count_src is also 0. Is SAL of the lpMultiByteStr parameter wrong?
    -
    166 int cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szStackBufferMBWC, _countof(szStackBufferMBWC));
    -
    167 if (cch) {
    -
    168 // Append from stack.
    -
    169 size_t count_inter = count_src != SIZE_MAX ? wcsnlen(szStackBufferMBWC, cch) : static_cast<size_t>(cch) - 1;
    -
    170 assert(count_inter < INT_MAX);
    -
    171
    -
    172 // Try to convert to stack buffer first.
    -
    173 CHAR szStackBufferWCMB[512 / sizeof(CHAR)];
    -
    174#pragma warning(suppress: 6387) // Testing indicates szStackBufferMBWC may be NULL when count_inter is also 0. Is SAL of the lpWideCharStr parameter wrong?
    -
    175 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szStackBufferMBWC, static_cast<int>(count_inter), szStackBufferWCMB, _countof(szStackBufferWCMB), lpDefaultChar, NULL);
    -
    176 if (cch) {
    -
    177 // Copy from stack. Be careful not to include zero terminator.
    -
    178 dst.append(reinterpret_cast<const T_to*>(szStackBufferWCMB), strnlen(szStackBufferWCMB, cch));
    -
    179 return;
    -
    180 }
    -
    181 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    -
    182 // Query the required output size. Allocate buffer. Then convert again.
    -
    183 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szStackBufferMBWC, static_cast<int>(count_inter), NULL, 0, lpDefaultChar, NULL);
    -
    184 std::unique_ptr<CHAR[]> szBufferWCMB(new CHAR[cch]);
    -
    185 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szStackBufferMBWC, static_cast<int>(count_inter), szBufferWCMB.get(), cch, lpDefaultChar, NULL);
    -
    186 dst.append(reinterpret_cast<const T_to*>(szBufferWCMB.get()), strnlen(szBufferWCMB.get(), cch));
    -
    187 return;
    -
    188 }
    -
    189 throw std::runtime_error("WideCharToMultiByte failed");
    -
    190 }
    -
    191 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    -
    192 // Query the required output size. Allocate buffer. Then convert again.
    -
    193 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), NULL, 0);
    -
    194 std::unique_ptr<WCHAR[]> szBufferMBWC(new WCHAR[cch]);
    -
    195 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szBufferMBWC.get(), cch);
    -
    196 size_t count_inter = count_src != SIZE_MAX ? wcsnlen(szBufferMBWC.get(), cch) : static_cast<size_t>(cch) - 1;
    -
    197
    -
    198 // Query the required output size. Allocate buffer. Then convert again.
    -
    199 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szBufferMBWC.get(), static_cast<int>(count_inter), NULL, 0, lpDefaultChar, NULL);
    -
    200 std::unique_ptr<CHAR[]> szBufferWCMB(new CHAR[cch]);
    -
    201 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szBufferMBWC.get(), static_cast<int>(count_inter), szBufferWCMB.get(), cch, lpDefaultChar, NULL);
    -
    202 dst.append(reinterpret_cast<const T_to*>(szBufferWCMB.get()), strnlen(szBufferWCMB.get(), cch));
    -
    203 return;
    -
    204 }
    -
    205 throw std::runtime_error("MultiByteToWideChar failed");
    -
    206 }
    -
    207#else
    -
    208 dst.reserve(dst.size() + count_src);
    -
    209 T_to buf[1024 / sizeof(T_to)];
    -
    210 size_t src_size = stdex::mul(sizeof(T_from), count_src);
    -
    211 for (;;) {
    -
    212 T_to* output = &buf[0];
    -
    213 size_t output_size = sizeof(buf);
    -
    214 errno = 0;
    -
    215 iconv(m_handle, const_cast<char**>(reinterpret_cast<const char**>(&src)), &src_size, reinterpret_cast<char**>(&output), &output_size);
    -
    216 dst.append(buf, reinterpret_cast<T_to*>(reinterpret_cast<char*>(buf) + sizeof(buf) - output_size));
    -
    217 if (!errno)
    -
    218 break;
    -
    219 if (errno == E2BIG)
    -
    220 continue;
    -
    221 throw std::runtime_error("iconv failed");
    -
    222 }
    -
    223#endif
    -
    224 }
    +
    82 }
    +
    83
    +
    84#ifndef _WIN32
    + +
    86 {
    +
    87 iconv_close(m_handle);
    +
    88 }
    +
    89#endif
    +
    90
    +
    91 inline charset_id from_encoding() const { return m_from; }
    +
    92 inline charset_id to_encoding() const { return m_to; }
    +
    93
    +
    101 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    +
    +
    102 void strcat(
    +
    103 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to> &dst,
    +
    104 _In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
    +
    105 {
    +
    106 _Assume_(src || !count_src);
    +
    107 count_src = stdex::strnlen(src, count_src);
    +
    108 if (!count_src) _Unlikely_
    +
    109 return;
    +
    110
    +
    111#ifdef _WIN32
    +
    112 constexpr DWORD dwFlagsMBWC = MB_PRECOMPOSED;
    +
    113 constexpr DWORD dwFlagsWCMB = 0;
    +
    114 constexpr LPCCH lpDefaultChar = NULL;
    +
    115
    +
    116 _Assume_(src);
    +
    117 if (m_from_wincp == m_to_wincp) _Unlikely_{
    +
    118 dst.append(reinterpret_cast<const T_to*>(src), count_src);
    +
    119 return;
    +
    120 }
    +
    121
    +
    122#pragma warning(suppress: 4127)
    +
    123 if _Constexpr_ (sizeof(T_from) == sizeof(char) && sizeof(T_to) == sizeof(wchar_t)) {
    +
    124 _Assume_(count_src < INT_MAX || count_src == SIZE_MAX);
    +
    125
    +
    126 // Try to convert to stack buffer first.
    +
    127 WCHAR szStackBuffer[1024 / sizeof(WCHAR)];
    +
    128#pragma warning(suppress: 6387) // Testing indicates src may be NULL when count_src is also 0. Is SAL of the lpMultiByteStr parameter wrong?
    +
    129 int cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szStackBuffer, _countof(szStackBuffer));
    +
    130 if (cch) {
    +
    131 // Append from stack.
    +
    132 dst.append(reinterpret_cast<const T_to*>(szStackBuffer), count_src != SIZE_MAX ? wcsnlen(szStackBuffer, cch) : static_cast<size_t>(cch) - 1);
    +
    133 return;
    +
    134 }
    +
    135 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    +
    136 // Query the required output size. Allocate buffer. Then convert again.
    +
    137 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), NULL, 0);
    +
    138 std::unique_ptr<WCHAR[]> szBuffer(new WCHAR[cch]);
    +
    139 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szBuffer.get(), cch);
    +
    140 dst.append(reinterpret_cast<const T_to*>(szBuffer.get()), count_src != SIZE_MAX ? wcsnlen(szBuffer.get(), cch) : static_cast<size_t>(cch) - 1);
    +
    141 return;
    +
    142 }
    +
    143 throw std::system_error(GetLastError(), std::system_category(), "MultiByteToWideChar failed");
    +
    144 }
    +
    145
    +
    146#pragma warning(suppress: 4127)
    +
    147 if _Constexpr_ (sizeof(T_from) == sizeof(wchar_t) && sizeof(T_to) == sizeof(char)) {
    +
    148 _Assume_(count_src < INT_MAX || count_src == SIZE_MAX);
    +
    149
    +
    150 // Try to convert to stack buffer first.
    +
    151 CHAR szStackBuffer[1024 / sizeof(CHAR)];
    +
    152#pragma warning(suppress: 6387) // Testing indicates src may be NULL when count_src is also 0. Is SAL of the lpWideCharStr parameter wrong?
    +
    153 int cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, reinterpret_cast<LPCWCH>(src), static_cast<int>(count_src), szStackBuffer, _countof(szStackBuffer), lpDefaultChar, NULL);
    +
    154 if (cch) {
    +
    155 // Copy from stack. Be careful not to include zero terminator.
    +
    156 dst.append(reinterpret_cast<const T_to*>(szStackBuffer), count_src != SIZE_MAX ? strnlen(szStackBuffer, cch) : static_cast<size_t>(cch) - 1);
    +
    157 return;
    +
    158 }
    +
    159 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    +
    160 // Query the required output size. Allocate buffer. Then convert again.
    +
    161 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, reinterpret_cast<LPCWCH>(src), static_cast<int>(count_src), NULL, 0, lpDefaultChar, NULL);
    +
    162 std::unique_ptr<CHAR[]> szBuffer(new CHAR[cch]);
    +
    163 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, reinterpret_cast<LPCWCH>(src), static_cast<int>(count_src), szBuffer.get(), cch, lpDefaultChar, NULL);
    +
    164 dst.append(reinterpret_cast<const T_to*>(szBuffer.get()), count_src != SIZE_MAX ? strnlen(szBuffer.get(), cch) : static_cast<size_t>(cch) - 1);
    +
    165 return;
    +
    166 }
    +
    167 throw std::system_error(GetLastError(), std::system_category(), "WideCharToMultiByte failed");
    +
    168 }
    +
    169
    +
    170#pragma warning(suppress: 4127)
    +
    171 if _Constexpr_ (sizeof(T_from) == sizeof(char) && sizeof(T_to) == sizeof(char)) {
    +
    172 _Assume_(count_src < INT_MAX || count_src == SIZE_MAX);
    +
    173
    +
    174 // Try to convert to stack buffer first.
    +
    175 WCHAR szStackBufferMBWC[512 / sizeof(WCHAR)];
    +
    176#pragma warning(suppress: 6387) // Testing indicates src may be NULL when count_src is also 0. Is SAL of the lpMultiByteStr parameter wrong?
    +
    177 int cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szStackBufferMBWC, _countof(szStackBufferMBWC));
    +
    178 if (cch) {
    +
    179 // Append from stack.
    +
    180 size_t count_inter = count_src != SIZE_MAX ? wcsnlen(szStackBufferMBWC, cch) : static_cast<size_t>(cch) - 1;
    +
    181 _Assume_(count_inter < INT_MAX);
    +
    182
    +
    183 // Try to convert to stack buffer first.
    +
    184 CHAR szStackBufferWCMB[512 / sizeof(CHAR)];
    +
    185#pragma warning(suppress: 6387) // Testing indicates szStackBufferMBWC may be NULL when count_inter is also 0. Is SAL of the lpWideCharStr parameter wrong?
    +
    186 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szStackBufferMBWC, static_cast<int>(count_inter), szStackBufferWCMB, _countof(szStackBufferWCMB), lpDefaultChar, NULL);
    +
    187 if (cch) {
    +
    188 // Copy from stack. Be careful not to include zero terminator.
    +
    189 dst.append(reinterpret_cast<const T_to*>(szStackBufferWCMB), strnlen(szStackBufferWCMB, cch));
    +
    190 return;
    +
    191 }
    +
    192 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    +
    193 // Query the required output size. Allocate buffer. Then convert again.
    +
    194 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szStackBufferMBWC, static_cast<int>(count_inter), NULL, 0, lpDefaultChar, NULL);
    +
    195 std::unique_ptr<CHAR[]> szBufferWCMB(new CHAR[cch]);
    +
    196 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szStackBufferMBWC, static_cast<int>(count_inter), szBufferWCMB.get(), cch, lpDefaultChar, NULL);
    +
    197 dst.append(reinterpret_cast<const T_to*>(szBufferWCMB.get()), strnlen(szBufferWCMB.get(), cch));
    +
    198 return;
    +
    199 }
    +
    200 throw std::system_error(GetLastError(), std::system_category(), "WideCharToMultiByte failed");
    +
    201 }
    +
    202 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
    +
    203 // Query the required output size. Allocate buffer. Then convert again.
    +
    204 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), NULL, 0);
    +
    205 std::unique_ptr<WCHAR[]> szBufferMBWC(new WCHAR[cch]);
    +
    206 cch = MultiByteToWideChar(static_cast<UINT>(m_from_wincp), dwFlagsMBWC, reinterpret_cast<LPCCH>(src), static_cast<int>(count_src), szBufferMBWC.get(), cch);
    +
    207 size_t count_inter = count_src != SIZE_MAX ? wcsnlen(szBufferMBWC.get(), cch) : static_cast<size_t>(cch) - 1;
    +
    208
    +
    209 // Query the required output size. Allocate buffer. Then convert again.
    +
    210 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szBufferMBWC.get(), static_cast<int>(count_inter), NULL, 0, lpDefaultChar, NULL);
    +
    211 std::unique_ptr<CHAR[]> szBufferWCMB(new CHAR[cch]);
    +
    212 cch = WideCharToMultiByte(static_cast<UINT>(m_to_wincp), dwFlagsWCMB, szBufferMBWC.get(), static_cast<int>(count_inter), szBufferWCMB.get(), cch, lpDefaultChar, NULL);
    +
    213 dst.append(reinterpret_cast<const T_to*>(szBufferWCMB.get()), strnlen(szBufferWCMB.get(), cch));
    +
    214 return;
    +
    215 }
    +
    216 throw std::system_error(GetLastError(), std::system_category(), "MultiByteToWideChar failed");
    +
    217 }
    +
    218#else
    +
    219 dst.reserve(dst.size() + count_src);
    +
    220 T_to buf[1024 / sizeof(T_to)];
    +
    221 size_t src_size = stdex::mul(sizeof(T_from), count_src);
    +
    222 for (;;) {
    +
    223 T_to* output = &buf[0];
    +
    224 size_t output_size = sizeof(buf);
    +
    225 errno = 0;
    +
    226 iconv(m_handle, const_cast<char**>(reinterpret_cast<const char**>(&src)), &src_size, reinterpret_cast<char**>(&output), &output_size);
    +
    227 dst.append(buf, reinterpret_cast<T_to*>(reinterpret_cast<char*>(buf) + sizeof(buf) - output_size));
    +
    228 if (!errno)
    +
    229 break;
    +
    230 if (errno == E2BIG)
    +
    231 continue;
    +
    232 throw std::system_error(errno, std::system_category(), "iconv failed");
    +
    233 }
    +
    234#endif
    +
    235 }
    -
    225
    -
    232 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    -
    233 inline void strcat(
    -
    234 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    -
    235 _In_z_ const T_from* src)
    -
    236 {
    -
    237 strcat(dst, src, SIZE_MAX);
    -
    238 }
    +
    236
    +
    243 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    +
    +
    244 inline void strcat(
    +
    245 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    +
    246 _In_z_ const T_from* src)
    +
    247 {
    +
    248 strcat(dst, src, SIZE_MAX);
    +
    249 }
    -
    239
    -
    246 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
    -
    -
    247 inline void strcat(
    -
    248 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    -
    249 _In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
    -
    250 {
    -
    251 strcat(dst, src.data(), src.size());
    -
    252 }
    +
    250
    +
    257 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
    +
    +
    258 inline void strcat(
    +
    259 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    +
    260 _In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
    +
    261 {
    +
    262 strcat(dst, src.data(), src.size());
    +
    263 }
    -
    253
    -
    261 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    -
    262 inline void strcpy(
    -
    263 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    -
    264 _In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
    -
    265 {
    -
    266 dst.clear();
    -
    267 strcat(dst, src, count_src);
    -
    268 }
    +
    264
    +
    272 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    +
    +
    273 inline void strcpy(
    +
    274 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    +
    275 _In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
    +
    276 {
    +
    277 dst.clear();
    +
    278 strcat(dst, src, count_src);
    +
    279 }
    -
    269
    -
    276 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    -
    277 inline void strcpy(
    -
    278 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    -
    279 _In_z_ const T_from* src)
    -
    280 {
    -
    281 strcpy(dst, src, SIZE_MAX);
    -
    282 }
    +
    280
    +
    287 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    +
    +
    288 inline void strcpy(
    +
    289 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    +
    290 _In_z_ const T_from* src)
    +
    291 {
    +
    292 strcpy(dst, src, SIZE_MAX);
    +
    293 }
    -
    283
    -
    290 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
    -
    -
    291 inline void strcpy(
    -
    292 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    -
    293 _In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
    -
    294 {
    -
    295 strcpy(dst, src.data(), src.size());
    -
    296 }
    +
    294
    +
    301 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
    +
    +
    302 inline void strcpy(
    +
    303 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
    +
    304 _In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
    +
    305 {
    +
    306 strcpy(dst, src.data(), src.size());
    +
    307 }
    -
    297
    -
    304 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    -
    305 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
    -
    306 {
    -
    307 std::basic_string<T_to, _Traits_to, _Alloc_to> dst;
    -
    308 strcat(dst, src, count_src);
    -
    309 return dst;
    -
    310 }
    -
    -
    311
    -
    317 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    -
    318 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_z_ const T_from* src)
    -
    319 {
    -
    320 return convert(src, SIZE_MAX);
    +
    308
    +
    315 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    +
    +
    316 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
    +
    317 {
    +
    318 std::basic_string<T_to, _Traits_to, _Alloc_to> dst;
    +
    319 strcat(dst, src, count_src);
    +
    320 return dst;
    321 }
    322
    -
    328 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
    +
    328 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
    -
    329 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
    +
    329 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_z_ const T_from* src)
    330 {
    -
    331 return convert(src.data(), src.size());
    +
    331 return convert(src, SIZE_MAX);
    332 }
    333
    -
    334 inline void clear()
    -
    335 {
    -
    336#ifndef _WIN32
    -
    337 iconv(m_handle, NULL, NULL, NULL, NULL);
    -
    338#endif
    -
    339 }
    -
    340
    -
    341 static charset_id system_charset()
    -
    342 {
    -
    343#ifdef _WIN32
    -
    344 return static_cast<charset_id>(GetACP());
    -
    345#else
    -
    346 const char* lctype = nl_langinfo(CODESET);
    -
    347 if (strcmp(lctype, "UTF-8") == 0) return charset_id::utf8;
    -
    348 if (strcmp(lctype, "UTF-16") == 0) return charset_id::utf16;
    -
    349#if BYTE_ORDER == BIG_ENDIAN
    -
    350 if (strcmp(lctype, "UTF-16BE") == 0) return charset_id::utf16;
    -
    351#else
    -
    352 if (strcmp(lctype, "UTF-16LE") == 0) return charset_id::utf16;
    -
    353#endif
    -
    354 if (strcmp(lctype, "UTF-32") == 0) return charset_id::utf32;
    -
    355#if BYTE_ORDER == BIG_ENDIAN
    -
    356 if (strcmp(lctype, "UTF-32BE") == 0) return charset_id::utf32;
    -
    357#else
    -
    358 if (strcmp(lctype, "UTF-32LE") == 0) return charset_id::utf32;
    -
    359#endif
    -
    360 if (strcmp(lctype, "CP1250") == 0) return charset_id::windows1250;
    -
    361 if (strcmp(lctype, "CP1251") == 0) return charset_id::windows1251;
    -
    362 if (strcmp(lctype, "CP1252") == 0) return charset_id::windows1252;
    -
    363 return charset_id::system;
    -
    364#endif
    -
    365 }
    -
    366
    -
    367#ifdef _WIN32
    -
    368 protected:
    -
    369 static UINT to_encoding(_In_ charset_id charset)
    -
    370 {
    -
    371 return
    -
    372 charset == charset_id::system ? GetACP() :
    -
    373 charset == charset_id::oem ? GetOEMCP() :
    -
    374 static_cast<UINT>(charset);
    -
    375 }
    -
    376
    -
    377 protected:
    -
    378 UINT m_from_wincp, m_to_wincp;
    -
    379#else
    -
    380 protected:
    -
    381 static const char* to_encoding(_In_ charset_id charset)
    -
    382 {
    -
    383 static const char* const encodings[static_cast<std::underlying_type_t<charset_id>>(charset_id::_max)] = {
    -
    384 "", // system
    -
    385 "UTF-8", // utf8
    -
    386#if BYTE_ORDER == BIG_ENDIAN
    -
    387 "UTF-16BE", // utf16
    -
    388 "UTF-32BE", // utf32
    -
    389#else
    -
    390 "UTF-16LE", // utf16
    -
    391 "UTF-32LE", // utf32
    -
    392#endif
    -
    393 "CP1250", // windows1250
    -
    394 "CP1251", // windows1251
    -
    395 "CP1252", // windows1252
    -
    396 };
    -
    397 return
    -
    398 charset == charset_id::system ? nl_langinfo(CODESET) :
    -
    399 encodings[static_cast<std::underlying_type_t<charset_id>>(charset)];
    -
    400 }
    -
    401
    -
    402 protected:
    -
    403 iconv_t m_handle;
    -
    404#endif
    -
    405 };
    +
    339 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
    +
    +
    340 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
    +
    341 {
    +
    342 return convert(src.data(), src.size());
    +
    343 }
    -
    406
    -
    417#ifndef _WIN32
    -
    418 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    419#endif
    -
    420 inline void strcat(
    -
    421 _Inout_ std::wstring& dst,
    -
    422 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    -
    423 _In_ charset_id charset = charset_id::system)
    -
    424 {
    -
    425 charset_encoder<char, wchar_t>(charset, wchar_t_charset).strcat(dst, src, count_src);
    -
    426 }
    -
    427
    -
    428 _Deprecated_("Use stdex::strcat")
    -
    429 inline void str2wstr(
    -
    430 _Inout_ std::wstring& dst,
    -
    431 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    -
    432 _In_ charset_id charset = charset_id::system)
    -
    433 {
    -
    434 strcat(dst, src, count_src, charset);
    -
    435 }
    -
    436
    -
    446#ifndef _WIN32
    -
    447 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    448#endif
    -
    449 inline void strcat(
    -
    450 _Inout_ std::wstring& dst,
    -
    451 _In_ const std::string& src,
    -
    452 _In_ charset_id charset = charset_id::system)
    -
    453 {
    -
    454 strcat(dst, src.data(), src.size(), charset);
    -
    455 }
    -
    456
    -
    457 _Deprecated_("Use stdex::strcat")
    -
    458 inline void str2wstr(
    -
    459 _Inout_ std::wstring& dst,
    -
    460 _In_ const std::string& src,
    -
    461 _In_ charset_id charset = charset_id::system)
    -
    462 {
    -
    463 strcat(dst, src, charset);
    -
    464 }
    -
    465
    -
    476#ifndef _WIN32
    -
    477 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    478#endif
    -
    479 inline void strcpy(
    -
    480 _Inout_ std::wstring& dst,
    -
    481 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    -
    482 _In_ charset_id charset = charset_id::system)
    -
    483 {
    -
    484 dst.clear();
    -
    485 strcat(dst, src, count_src, charset);
    -
    486 }
    -
    487
    -
    497#ifndef _WIN32
    -
    498 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    499#endif
    -
    500 inline void strcpy(
    -
    501 _Inout_ std::wstring& dst,
    -
    502 _In_ const std::string& src,
    -
    503 _In_ charset_id charset = charset_id::system)
    -
    504 {
    -
    505 strcpy(dst, src.data(), src.size(), charset);
    -
    506 }
    -
    507
    -
    518#ifndef _WIN32
    -
    519 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    520#endif
    -
    521 inline std::wstring str2wstr(
    -
    522 _In_z_ const char* src,
    -
    523 _In_ charset_id charset = charset_id::system)
    -
    524 {
    -
    525 std::wstring dst;
    -
    526 strcat(dst, src, SIZE_MAX, charset);
    -
    527 return dst;
    -
    528 }
    -
    529
    -
    541#ifndef _WIN32
    -
    542 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    543#endif
    -
    544 inline std::wstring str2wstr(
    -
    545 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    -
    546 _In_ charset_id charset = charset_id::system)
    -
    547 {
    -
    548 std::wstring dst;
    -
    549 strcat(dst, src, count_src, charset);
    -
    550 return dst;
    -
    551 }
    -
    552
    -
    563#ifndef _WIN32
    -
    564 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    565#endif
    -
    566 inline std::wstring str2wstr(
    -
    567 _In_ const std::string& src,
    -
    568 _In_ charset_id charset = charset_id::system)
    -
    569 {
    -
    570 return str2wstr(src.c_str(), src.size(), charset);
    -
    571 }
    -
    572
    -
    583#ifndef _WIN32
    -
    584 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    585#endif
    -
    586 inline void strcat(
    -
    587 _Inout_ std::string& dst,
    -
    588 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    -
    589 _In_ charset_id charset = charset_id::system)
    -
    590 {
    -
    591 charset_encoder<wchar_t, char>(wchar_t_charset, charset).strcat(dst, src, count_src);
    -
    592 }
    -
    593
    -
    594 _Deprecated_("Use stdex::strcat")
    -
    595 inline void wstr2str(
    -
    596 _Inout_ std::string& dst,
    -
    597 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    -
    598 _In_ charset_id charset = charset_id::system)
    -
    599 {
    -
    600 strcat(dst, src, count_src, charset);
    -
    601 }
    -
    602
    -
    612#ifndef _WIN32
    -
    613 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    614#endif
    -
    615 inline void strcat(
    -
    616 _Inout_ std::string& dst,
    -
    617 _In_ const std::wstring& src,
    -
    618 _In_ charset_id charset = charset_id::system)
    -
    619 {
    -
    620 strcat(dst, src.c_str(), src.size(), charset);
    -
    621 }
    -
    622
    -
    623 _Deprecated_("Use stdex::strcat")
    -
    624 inline void wstr2str(
    -
    625 _Inout_ std::string& dst,
    -
    626 _In_ const std::wstring& src,
    -
    627 _In_ charset_id charset = charset_id::system)
    -
    628 {
    -
    629 strcat(dst, src, charset);
    -
    630 }
    -
    631
    -
    642#ifndef _WIN32
    -
    643 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    644#endif
    -
    645 inline void strcpy(
    -
    646 _Inout_ std::string& dst,
    -
    647 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    -
    648 _In_ charset_id charset = charset_id::system)
    -
    649 {
    -
    650 dst.clear();
    -
    651 strcat(dst, src, count_src, charset);
    -
    652 }
    -
    653
    -
    663#ifndef _WIN32
    -
    664 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    665#endif
    -
    666 inline void strcpy(
    -
    667 _Inout_ std::string& dst,
    -
    668 _In_ const std::wstring& src,
    -
    669 _In_ charset_id charset = charset_id::system)
    -
    670 {
    -
    671 strcpy(dst, src.data(), src.size(), charset);
    -
    672 }
    -
    673
    -
    684#ifndef _WIN32
    -
    685 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    686#endif
    -
    687 inline std::string wstr2str(
    -
    688 _In_z_ const wchar_t* src,
    -
    689 _In_ charset_id charset = charset_id::system)
    -
    690 {
    -
    691 std::string dst;
    -
    692 strcat(dst, src, SIZE_MAX, charset);
    -
    693 return dst;
    -
    694 }
    -
    695
    -
    707#ifndef _WIN32
    -
    708 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    709#endif
    -
    710 inline std::string wstr2str(
    -
    711 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    -
    712 _In_ charset_id charset = charset_id::system)
    -
    713 {
    -
    714 std::string dst;
    -
    715 strcat(dst, src, count_src, charset);
    -
    716 return dst;
    -
    717 }
    -
    718
    -
    729#ifndef _WIN32
    -
    730 _Deprecated_("For better performance, consider a reusable charset_encoder")
    -
    731#endif
    -
    732 inline std::string wstr2str(
    -
    733 _In_ const std::wstring& src,
    -
    734 _In_ charset_id charset = charset_id::system)
    -
    735 {
    -
    736 return wstr2str(src.c_str(), src.size(), charset);
    -
    737 }
    -
    738}
    -
    Encoding converter context.
    Definition unicode.hpp:57
    -
    void strcpy(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const std::basic_string< T_from, _Traits_from, _Alloc_from > &src)
    Convert string.
    Definition unicode.hpp:291
    -
    std::basic_string< T_to, _Traits_to, _Alloc_to > convert(const std::basic_string< T_from, _Traits_from, _Alloc_from > &src)
    Return converted string.
    Definition unicode.hpp:329
    -
    std::basic_string< T_to, _Traits_to, _Alloc_to > convert(const T_from *src)
    Return converted string.
    Definition unicode.hpp:318
    -
    void strcat(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const std::basic_string< T_from, _Traits_from, _Alloc_from > &src)
    Convert string and append to string.
    Definition unicode.hpp:247
    -
    void strcpy(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const T_from *src)
    Convert string.
    Definition unicode.hpp:277
    -
    void strcat(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)
    Convert string and append to string.
    Definition unicode.hpp:94
    -
    void strcat(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const T_from *src)
    Convert string and append to string.
    Definition unicode.hpp:233
    -
    void strcpy(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)
    Convert string.
    Definition unicode.hpp:262
    -
    std::basic_string< T_to, _Traits_to, _Alloc_to > convert(_In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)
    Return converted string.
    Definition unicode.hpp:305
    +
    344
    +
    345 inline void clear()
    +
    346 {
    +
    347#ifndef _WIN32
    +
    348 iconv(m_handle, NULL, NULL, NULL, NULL);
    +
    349#endif
    +
    350 }
    +
    351
    +
    352 static charset_id system_charset()
    +
    353 {
    +
    354#ifdef _WIN32
    +
    355 return static_cast<charset_id>(GetACP());
    +
    356#else
    +
    357 static const std::map<const char*, charset_id> charsets = {
    +
    358 { "UNICODE-1-1-UTF-7", charset_id::utf7 },
    +
    359 { "UTF-7", charset_id::utf7 },
    +
    360 { "CSUNICODE11UTF7", charset_id::utf7 },
    +
    361
    +
    362 { "UTF-8", charset_id::utf8 },
    +
    363 { "UTF8", charset_id::utf8 },
    +
    364
    +
    365 { "UTF-16", charset_id::utf16 },
    +
    366#if BYTE_ORDER == BIG_ENDIAN
    +
    367 { "UTF-16BE", charset_id::utf16 },
    +
    368#else
    +
    369 { "UTF-16LE", charset_id::utf16 },
    +
    370#endif
    +
    371
    +
    372 { "UTF-32", charset_id::utf32 },
    +
    373#if BYTE_ORDER == BIG_ENDIAN
    +
    374 { "UTF-32BE", charset_id::utf32 },
    +
    375#else
    +
    376 { "UTF-32LE", charset_id::utf32 },
    +
    377#endif
    +
    378
    +
    379 { "CP1250", charset_id::windows1250 },
    +
    380 { "MS-EE", charset_id::windows1250 },
    +
    381 { "WINDOWS-1250", charset_id::windows1250 },
    +
    382
    +
    383 { "CP1251", charset_id::windows1251 },
    +
    384 { "MS-CYRL", charset_id::windows1251 },
    +
    385 { "WINDOWS-1251", charset_id::windows1251 },
    +
    386
    +
    387 { "CP1252", charset_id::windows1252 },
    +
    388 { "MS-ANSI", charset_id::windows1252 },
    +
    389 { "WINDOWS-1252", charset_id::windows1252 },
    +
    390 };
    +
    391 const char* lctype = nl_langinfo(CODESET);
    +
    392 if (auto el = charsets.find(lctype); el != charsets.end())
    +
    393 return el->second;
    +
    394 return charset_id::system;
    +
    395#endif
    +
    396 }
    +
    397
    +
    398#ifdef _WIN32
    +
    399 protected:
    +
    400 static UINT to_encoding(_In_ charset_id charset)
    +
    401 {
    +
    402 return
    +
    403 charset == charset_id::system ? GetACP() :
    +
    404 charset == charset_id::oem ? GetOEMCP() :
    +
    405 static_cast<UINT>(charset);
    +
    406 }
    +
    407
    +
    408 protected:
    +
    409 UINT m_from_wincp, m_to_wincp;
    +
    410#else
    +
    411 protected:
    +
    412 static const char* to_encoding(_In_ charset_id charset)
    +
    413 {
    +
    414 static const char* const encodings[static_cast<std::underlying_type_t<charset_id>>(charset_id::_max)] = {
    +
    415 "", // system
    +
    416 "UTF-7", // utf7
    +
    417 "UTF-8", // utf8
    +
    418#if BYTE_ORDER == BIG_ENDIAN
    +
    419 "UTF-16BE", // utf16
    +
    420 "UTF-32BE", // utf32
    +
    421#else
    +
    422 "UTF-16LE", // utf16
    +
    423 "UTF-32LE", // utf32
    +
    424#endif
    +
    425 "CP1250", // windows1250
    +
    426 "CP1251", // windows1251
    +
    427 "CP1252", // windows1252
    +
    428 };
    +
    429 return
    +
    430 charset == charset_id::system ? nl_langinfo(CODESET) :
    +
    431 encodings[static_cast<std::underlying_type_t<charset_id>>(charset)];
    +
    432 }
    +
    433
    +
    434 protected:
    +
    435 iconv_t m_handle;
    +
    436#endif
    +
    437 };
    +
    +
    438
    +
    449#ifndef _WIN32
    +
    450 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    451#endif
    +
    452 inline void strcat(
    +
    453 _Inout_ std::wstring& dst,
    +
    454 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    +
    455 _In_ charset_id charset = charset_id::system)
    +
    456 {
    +
    457 charset_encoder<char, wchar_t>(charset, wchar_t_charset).strcat(dst, src, count_src);
    +
    458 }
    +
    459
    +
    460 _Deprecated_("Use stdex::strcat")
    +
    461 inline void str2wstr(
    +
    462 _Inout_ std::wstring& dst,
    +
    463 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    +
    464 _In_ charset_id charset = charset_id::system)
    +
    465 {
    +
    466 strcat(dst, src, count_src, charset);
    +
    467 }
    +
    468
    +
    478#ifndef _WIN32
    +
    479 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    480#endif
    +
    481 inline void strcat(
    +
    482 _Inout_ std::wstring& dst,
    +
    483 _In_ const std::string& src,
    +
    484 _In_ charset_id charset = charset_id::system)
    +
    485 {
    +
    486 strcat(dst, src.data(), src.size(), charset);
    +
    487 }
    +
    488
    +
    489 _Deprecated_("Use stdex::strcat")
    +
    490 inline void str2wstr(
    +
    491 _Inout_ std::wstring& dst,
    +
    492 _In_ const std::string& src,
    +
    493 _In_ charset_id charset = charset_id::system)
    +
    494 {
    +
    495 strcat(dst, src, charset);
    +
    496 }
    +
    497
    +
    508#ifndef _WIN32
    +
    509 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    510#endif
    +
    511 inline void strcpy(
    +
    512 _Inout_ std::wstring& dst,
    +
    513 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    +
    514 _In_ charset_id charset = charset_id::system)
    +
    515 {
    +
    516 dst.clear();
    +
    517 strcat(dst, src, count_src, charset);
    +
    518 }
    +
    519
    +
    529#ifndef _WIN32
    +
    530 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    531#endif
    +
    532 inline void strcpy(
    +
    533 _Inout_ std::wstring& dst,
    +
    534 _In_ const std::string& src,
    +
    535 _In_ charset_id charset = charset_id::system)
    +
    536 {
    +
    537 strcpy(dst, src.data(), src.size(), charset);
    +
    538 }
    +
    539
    +
    550#ifndef _WIN32
    +
    551 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    552#endif
    +
    553 inline std::wstring str2wstr(
    +
    554 _In_z_ const char* src,
    +
    555 _In_ charset_id charset = charset_id::system)
    +
    556 {
    +
    557 std::wstring dst;
    +
    558 strcat(dst, src, SIZE_MAX, charset);
    +
    559 return dst;
    +
    560 }
    +
    561
    +
    573#ifndef _WIN32
    +
    574 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    575#endif
    +
    576 inline std::wstring str2wstr(
    +
    577 _In_reads_or_z_opt_(count_src) const char* src, _In_ size_t count_src,
    +
    578 _In_ charset_id charset = charset_id::system)
    +
    579 {
    +
    580 std::wstring dst;
    +
    581 strcat(dst, src, count_src, charset);
    +
    582 return dst;
    +
    583 }
    +
    584
    +
    595#ifndef _WIN32
    +
    596 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    597#endif
    +
    598 inline std::wstring str2wstr(
    +
    599 _In_ const std::string& src,
    +
    600 _In_ charset_id charset = charset_id::system)
    +
    601 {
    +
    602 return str2wstr(src.c_str(), src.size(), charset);
    +
    603 }
    +
    604
    +
    615#ifndef _WIN32
    +
    616 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    617#endif
    +
    618 inline void strcat(
    +
    619 _Inout_ std::string& dst,
    +
    620 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    +
    621 _In_ charset_id charset = charset_id::system)
    +
    622 {
    +
    623 charset_encoder<wchar_t, char>(wchar_t_charset, charset).strcat(dst, src, count_src);
    +
    624 }
    +
    625
    +
    626 _Deprecated_("Use stdex::strcat")
    +
    627 inline void wstr2str(
    +
    628 _Inout_ std::string& dst,
    +
    629 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    +
    630 _In_ charset_id charset = charset_id::system)
    +
    631 {
    +
    632 strcat(dst, src, count_src, charset);
    +
    633 }
    +
    634
    +
    644#ifndef _WIN32
    +
    645 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    646#endif
    +
    647 inline void strcat(
    +
    648 _Inout_ std::string& dst,
    +
    649 _In_ const std::wstring& src,
    +
    650 _In_ charset_id charset = charset_id::system)
    +
    651 {
    +
    652 strcat(dst, src.c_str(), src.size(), charset);
    +
    653 }
    +
    654
    +
    655 _Deprecated_("Use stdex::strcat")
    +
    656 inline void wstr2str(
    +
    657 _Inout_ std::string& dst,
    +
    658 _In_ const std::wstring& src,
    +
    659 _In_ charset_id charset = charset_id::system)
    +
    660 {
    +
    661 strcat(dst, src, charset);
    +
    662 }
    +
    663
    +
    674#ifndef _WIN32
    +
    675 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    676#endif
    +
    677 inline void strcpy(
    +
    678 _Inout_ std::string& dst,
    +
    679 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    +
    680 _In_ charset_id charset = charset_id::system)
    +
    681 {
    +
    682 dst.clear();
    +
    683 strcat(dst, src, count_src, charset);
    +
    684 }
    +
    685
    +
    695#ifndef _WIN32
    +
    696 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    697#endif
    +
    698 inline void strcpy(
    +
    699 _Inout_ std::string& dst,
    +
    700 _In_ const std::wstring& src,
    +
    701 _In_ charset_id charset = charset_id::system)
    +
    702 {
    +
    703 strcpy(dst, src.data(), src.size(), charset);
    +
    704 }
    +
    705
    +
    716#ifndef _WIN32
    +
    717 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    718#endif
    +
    719 inline std::string wstr2str(
    +
    720 _In_z_ const wchar_t* src,
    +
    721 _In_ charset_id charset = charset_id::system)
    +
    722 {
    +
    723 std::string dst;
    +
    724 strcat(dst, src, SIZE_MAX, charset);
    +
    725 return dst;
    +
    726 }
    +
    727
    +
    739#ifndef _WIN32
    +
    740 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    741#endif
    +
    742 inline std::string wstr2str(
    +
    743 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src,
    +
    744 _In_ charset_id charset = charset_id::system)
    +
    745 {
    +
    746 std::string dst;
    +
    747 strcat(dst, src, count_src, charset);
    +
    748 return dst;
    +
    749 }
    +
    750
    +
    761#ifndef _WIN32
    +
    762 _Deprecated_("For better performance, consider a reusable charset_encoder")
    +
    763#endif
    +
    764 inline std::string wstr2str(
    +
    765 _In_ const std::wstring& src,
    +
    766 _In_ charset_id charset = charset_id::system)
    +
    767 {
    +
    768 return wstr2str(src.c_str(), src.size(), charset);
    +
    769 }
    +
    770}
    +
    Encoding converter context.
    Definition unicode.hpp:65
    +
    void strcpy(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const std::basic_string< T_from, _Traits_from, _Alloc_from > &src)
    Convert string.
    Definition unicode.hpp:302
    +
    std::basic_string< T_to, _Traits_to, _Alloc_to > convert(const std::basic_string< T_from, _Traits_from, _Alloc_from > &src)
    Return converted string.
    Definition unicode.hpp:340
    +
    std::basic_string< T_to, _Traits_to, _Alloc_to > convert(const T_from *src)
    Return converted string.
    Definition unicode.hpp:329
    +
    void strcat(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const std::basic_string< T_from, _Traits_from, _Alloc_from > &src)
    Convert string and append to string.
    Definition unicode.hpp:258
    +
    void strcpy(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const T_from *src)
    Convert string.
    Definition unicode.hpp:288
    +
    void strcat(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)
    Convert string and append to string.
    Definition unicode.hpp:102
    +
    void strcat(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, const T_from *src)
    Convert string and append to string.
    Definition unicode.hpp:244
    +
    void strcpy(std::basic_string< T_to, _Traits_to, _Alloc_to > &dst, _In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)
    Convert string.
    Definition unicode.hpp:273
    +
    std::basic_string< T_to, _Traits_to, _Alloc_to > convert(_In_reads_or_z_opt_(count_src) const T_from *src, size_t count_src)
    Return converted string.
    Definition unicode.hpp:316
    diff --git a/unionstdex_1_1md2__t-members.html b/unionstdex_1_1md2__t-members.html index f0d8ee4d5..b5d7594ca 100644 --- a/unionstdex_1_1md2__t-members.html +++ b/unionstdex_1_1md2__t-members.html @@ -82,10 +82,14 @@ $(function() { + + + +
    data32 (defined in stdex::md2_t)stdex::md2_t
    data8 (defined in stdex::md2_t)stdex::md2_t
    operator!=(const stdex::md2_t &other) const (defined in stdex::md2_t)stdex::md2_tinline
    operator<< (defined in stdex::md2_t)stdex::md2_tfriend
    operator==(const stdex::md2_t &other) const (defined in stdex::md2_t)stdex::md2_tinline
    operator>> (defined in stdex::md2_t)stdex::md2_tfriend
    diff --git a/unionstdex_1_1md2__t.html b/unionstdex_1_1md2__t.html index 8c4c61abc..7afe85c33 100644 --- a/unionstdex_1_1md2__t.html +++ b/unionstdex_1_1md2__t.html @@ -75,7 +75,9 @@ $(function() {
    @@ -86,6 +88,15 @@ $(function() {

    #include <stdex/hash.hpp>

    + + + + + +

    +Public Member Functions

    +bool operator!= (const stdex::md2_t &other) const
     
    +bool operator== (const stdex::md2_t &other) const
     
    +

    Public Attributes

    @@ -94,6 +105,15 @@ uint8_t data8 [16] uint32_t data32 [4]
     
    + + + + +

    +Friends

    +stdex::stream::basicoperator>> (stdex::stream::basic &stream, stdex::md2_t &data)
     
    +stdex::stream::basicoperator<< (stdex::stream::basic &stream, const stdex::md2_t &data)
     

    Detailed Description

    MD2 hash value.

    @@ -103,7 +123,7 @@ uint32_t data32 [4] diff --git a/unionstdex_1_1sha256__t-members.html b/unionstdex_1_1sha256__t-members.html index 784887e00..2f0fbd3fd 100644 --- a/unionstdex_1_1sha256__t-members.html +++ b/unionstdex_1_1sha256__t-members.html @@ -82,10 +82,14 @@ $(function() { + + + +
    data32 (defined in stdex::sha256_t)stdex::sha256_t
    data8 (defined in stdex::sha256_t)stdex::sha256_t
    operator!=(const stdex::sha256_t &other) const (defined in stdex::sha256_t)stdex::sha256_tinline
    operator<< (defined in stdex::sha256_t)stdex::sha256_tfriend
    operator==(const stdex::sha256_t &other) const (defined in stdex::sha256_t)stdex::sha256_tinline
    operator>> (defined in stdex::sha256_t)stdex::sha256_tfriend
    diff --git a/unionstdex_1_1sha256__t.html b/unionstdex_1_1sha256__t.html index f39c06acb..c30ce8fd2 100644 --- a/unionstdex_1_1sha256__t.html +++ b/unionstdex_1_1sha256__t.html @@ -75,7 +75,9 @@ $(function() {
    stdex::sha256_t Union Reference
    @@ -86,6 +88,15 @@ $(function() {

    #include <stdex/hash.hpp>

    + + + + + +

    +Public Member Functions

    +bool operator!= (const stdex::sha256_t &other) const
     
    +bool operator== (const stdex::sha256_t &other) const
     
    +

    Public Attributes

    @@ -94,6 +105,15 @@ uint8_t data8 [32] uint32_t data32 [8]
     
    + + + + +

    +Friends

    +stdex::stream::basicoperator>> (stdex::stream::basic &stream, stdex::sha256_t &data)
     
    +stdex::stream::basicoperator<< (stdex::stream::basic &stream, const stdex::sha256_t &data)
     

    Detailed Description

    SHA256 hash value.

    @@ -103,7 +123,7 @@ uint32_t data32 [8] diff --git a/unionstdex_1_1sha__t-members.html b/unionstdex_1_1sha__t-members.html index a1eadf174..7e717ecb6 100644 --- a/unionstdex_1_1sha__t-members.html +++ b/unionstdex_1_1sha__t-members.html @@ -82,10 +82,14 @@ $(function() { + + + +
    data32 (defined in stdex::sha_t)stdex::sha_t
    data8 (defined in stdex::sha_t)stdex::sha_t
    operator!=(const stdex::sha_t &other) const (defined in stdex::sha_t)stdex::sha_tinline
    operator<< (defined in stdex::sha_t)stdex::sha_tfriend
    operator==(const stdex::sha_t &other) const (defined in stdex::sha_t)stdex::sha_tinline
    operator>> (defined in stdex::sha_t)stdex::sha_tfriend
    diff --git a/unionstdex_1_1sha__t.html b/unionstdex_1_1sha__t.html index 2bb169085..5eafed1d5 100644 --- a/unionstdex_1_1sha__t.html +++ b/unionstdex_1_1sha__t.html @@ -75,7 +75,9 @@ $(function() {
    @@ -86,6 +88,15 @@ $(function() {

    #include <stdex/hash.hpp>

    + + + + + +

    +Public Member Functions

    +bool operator!= (const stdex::sha_t &other) const
     
    +bool operator== (const stdex::sha_t &other) const
     
    +

    Public Attributes

    @@ -94,6 +105,15 @@ uint8_t data8 [20] uint32_t data32 [5]
     
    + + + + +

    +Friends

    +stdex::stream::basicoperator>> (stdex::stream::basic &stream, stdex::sha_t &data)
     
    +stdex::stream::basicoperator<< (stdex::stream::basic &stream, const stdex::sha_t data)
     

    Detailed Description

    SHA hash value.

    @@ -103,7 +123,7 @@ uint32_t data32 [5] diff --git a/vector__queue_8hpp_source.html b/vector__queue_8hpp_source.html index 8650166fd..3e70f5c57 100644 --- a/vector__queue_8hpp_source.html +++ b/vector__queue_8hpp_source.html @@ -451,7 +451,7 @@ $(document).ready(function() { init_codefold(0); });
    diff --git a/watchdog_8cpp_source.html b/watchdog_8cpp_source.html new file mode 100644 index 000000000..ac005066a --- /dev/null +++ b/watchdog_8cpp_source.html @@ -0,0 +1,124 @@ + + + + + + + +stdex: UnitTests/watchdog.cpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    stdex +
    +
    Additional custom or not Standard C++ covered algorithms
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    watchdog.cpp
    +
    +
    +
    1/*
    +
    2 SPDX-License-Identifier: MIT
    +
    3 Copyright © 2023 Amebis
    +
    4*/
    +
    5
    +
    6#include "pch.hpp"
    +
    7
    +
    8using namespace std;
    +
    9#ifdef _WIN32
    +
    10using namespace Microsoft::VisualStudio::CppUnitTestFramework;
    +
    11#endif
    +
    12
    +
    13namespace UnitTests
    +
    14{
    +
    15 TEST_CLASS(watchdog)
    +
    16 {
    +
    17 public:
    +
    18 TEST_METHOD(test)
    +
    19 {
    +
    20 volatile bool wd_called = false;
    + +
    22 std::chrono::milliseconds(100), [&] { wd_called = true; });
    +
    23 for (int i = 0; i < 100; ++i) {
    +
    24 std::this_thread::sleep_for(std::chrono::milliseconds(10));
    +
    25 Assert::IsFalse(wd_called);
    +
    26 wd.reset();
    +
    27 }
    +
    28 std::this_thread::sleep_for(std::chrono::milliseconds(300));
    +
    29 Assert::IsTrue(wd_called);
    +
    30 }
    +
    31 };
    +
    32}
    +
    Triggers callback if not reset frequently enough.
    Definition watchdog.hpp:22
    +
    + + + + diff --git a/watchdog_8hpp_source.html b/watchdog_8hpp_source.html new file mode 100644 index 000000000..195589c12 --- /dev/null +++ b/watchdog_8hpp_source.html @@ -0,0 +1,182 @@ + + + + + + + +stdex: include/stdex/watchdog.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    stdex +
    +
    Additional custom or not Standard C++ covered algorithms
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    watchdog.hpp
    +
    +
    +
    1/*
    +
    2 SPDX-License-Identifier: MIT
    +
    3 Copyright © 2023 Amebis
    +
    4*/
    +
    5
    +
    6#pragma once
    +
    7
    +
    8#include "compat.hpp"
    +
    9#include <chrono>
    +
    10#include <condition_variable>
    +
    11#include <functional>
    +
    12#include <mutex>
    +
    13#include <thread>
    +
    14
    +
    15namespace stdex
    +
    16{
    +
    20 template <class _Clock, class _Duration = typename _Clock::duration>
    +
    + +
    22 {
    +
    23 public:
    +
    +
    30 watchdog(_In_ _Duration timeout, _In_ std::function<void()> callback) :
    +
    31 m_phase(0),
    +
    32 m_quit(false),
    +
    33 m_timeout(timeout),
    +
    34 m_callback(callback),
    +
    35 m_thread([](_Inout_ watchdog& wd) { wd.run(); }, std::ref(*this))
    +
    36 {}
    +
    +
    37
    +
    + +
    42 {
    +
    43 {
    +
    44 const std::lock_guard<std::mutex> lk(m_mutex);
    +
    45 m_quit = true;
    +
    46 }
    +
    47 m_cv.notify_one();
    +
    48 if (m_thread.joinable())
    +
    49 m_thread.join();
    +
    50 }
    +
    +
    51
    +
    +
    57 void reset()
    +
    58 {
    +
    59 {
    +
    60 const std::lock_guard<std::mutex> lk(m_mutex);
    +
    61 m_phase++;
    +
    62 }
    +
    63 m_cv.notify_one();
    +
    64 }
    +
    +
    65
    +
    66 protected:
    +
    67 void run()
    +
    68 {
    +
    69 for (;;) {
    +
    70 std::unique_lock<std::mutex> lk(m_mutex);
    +
    71 auto phase = m_phase;
    +
    72 if (m_cv.wait_for(lk, m_timeout, [&] {return m_quit || phase != m_phase; })) {
    +
    73 if (m_quit)
    +
    74 break;
    +
    75 }
    +
    76 else {
    +
    77 m_callback();
    +
    78 break;
    +
    79 }
    +
    80 }
    +
    81 }
    +
    82
    +
    83 protected:
    +
    84 size_t m_phase;
    +
    85 bool m_quit;
    +
    86 _Duration m_timeout;
    +
    87 std::function<void()> m_callback;
    +
    88 std::mutex m_mutex;
    +
    89 std::condition_variable m_cv;
    +
    90 std::thread m_thread;
    +
    91 };
    +
    +
    92}
    +
    Triggers callback if not reset frequently enough.
    Definition watchdog.hpp:22
    +
    watchdog(_Duration timeout, std::function< void()> callback)
    Starts the watchdog.
    Definition watchdog.hpp:30
    +
    size_t m_phase
    A counter we are incrementing to keep the watchdog happy.
    Definition watchdog.hpp:84
    +
    _Duration m_timeout
    How long the watchdog is waiting for a reset.
    Definition watchdog.hpp:86
    +
    ~watchdog()
    Stops the watchdog.
    Definition watchdog.hpp:41
    +
    bool m_quit
    Quit the watchdog.
    Definition watchdog.hpp:85
    +
    void reset()
    Resets the watchdog.
    Definition watchdog.hpp:57
    +
    std::function< void()> m_callback
    The function watchdog calls on timeout.
    Definition watchdog.hpp:87
    +
    + + + +