acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
read_sz_stream.h
1
//
2
// Created by camilo on 23/12/2022 01:12 <3ThomasBorregaardSorensen!!
3
//
4
#pragma once
5
6
7
class
read_sz_stream :
8
virtual
public
quantum
9
{
10
public
:
11
12
13
const_char_pointer m_psz;
14
const_char_pointer m_pszBegin;
15
16
17
read_sz_stream(const_char_pointer psz, const_char_pointer pszBegin =
nullptr
);
18
read_sz_stream(
const
read_sz_stream&
stream
) =
delete
;
19
~read_sz_stream();
20
21
22
// void destroy() ;
23
24
//void destroy() {}
25
26
//string as_string() const;
27
28
29
//FILE * get_file() { return m_pfile; }
30
31
32
//::file::file* get_file()
33
//{
34
35
// return m_pfile;
36
37
//}
38
39
::u64 read_natural(::i32 iRadix = 10);
40
// {
41
//
42
// return consume_natural(m_psz, m_pszBegin, iRadix);
43
//
44
// }
45
46
47
::i64 read_integer(::i32 iRadix = 10);
48
// {
49
//
50
// return consume_integer(m_psz, m_pszBegin, iRadix);
51
//
52
// }
53
54
55
::f64 read_floating();
56
// {
57
//
58
// return consume_floating(m_psz, m_pszBegin);
59
//
60
//
61
// }
62
63
64
::string get_word(const_char_pointer pszBreakCharacters =
" \n\t\r,;"
);
65
// {
66
//
67
// return read_find_first_character_in(scopedstrBreakCharacters);
68
//
69
// }
70
71
::string read_find_first_character_in(const_char_pointer pszBreakCharacters);
72
// {
73
//
74
// auto size = string_find_first_character_in(m_psz, pszBreakCharacters);
75
//
76
// ::string str(m_psz, size);
77
//
78
// m_psz += size;
79
//
80
// return ::transfer(str);
81
//
82
// }
83
84
85
//void close() {}
86
87
// text_stream& operator <<(bool b);
88
// text_stream& operator <<(::i8 ch);
89
// text_stream& operator <<(uchar uch);
90
//#ifdef WINDOWS
91
// text_stream& operator <<(unichar wch);
92
//#endif
93
// text_stream& operator <<(::i16 sh);
94
// text_stream& operator <<(::u16 u);
95
// text_stream& operator <<(::i32 i);
96
// text_stream& operator <<(::u32 u);
97
// text_stream& operator <<(::i64 i);
98
// text_stream& operator <<(::u64 u);
99
// text_stream& operator <<(::f32 f);
100
// text_stream& operator <<(::f64 d);
101
// // void write(const ::i32_point & point) ;
102
// // void write(const ::i32_size & size) ;
103
// // void write(const ::i32_rectangle &rectangle) ;
104
//
105
// text_stream& operator <<(const_char_pointer psz);
106
// //text_stream & operator <<(const ::atom & atom) ;
107
// text_stream& operator <<(const ::scoped_string & scopedstr);
108
// //text_stream & operator <<(const ::property_set & set) ;
109
// template < typename TYPE >
110
// void network_payload_write(const TYPE& t);
111
//
112
// // void network_payload_write(const ::matter & matter);
113
114
115
116
read_sz_stream& operator >>(
bool
& b);
117
// {
118
//
119
// auto strWord = get_word();
120
//
121
// strWord.trim_left("\"'([{");
122
//
123
// strWord.trim_right("\"')]}");
124
//
125
// if (strWord.case_insensitive_equals("no")
126
// || strWord.case_insensitive_equals("false")
127
// || strWord.case_insensitive_equals("0"))
128
// {
129
//
130
// b = false;
131
//
132
// }
133
// else
134
// {
135
//
136
// b = true;
137
//
138
// }
139
//
140
// return *this;
141
//
142
// }
143
144
read_sz_stream& operator >>(::i8& ch);
145
// {
146
//
147
// ch = *m_psz;
148
//
149
// if (!ch)
150
// {
151
//
152
// throw_exception(error_premature_end_of_file);
153
//
154
// }
155
//
156
// m_psz++;
157
//
158
// return *this;
159
//
160
// }
161
162
163
read_sz_stream& operator >>(uchar& uch);
164
// {
165
//
166
// return operator >>((::i8&)uch);
167
//
168
// }
169
170
#ifdef WINDOWS
171
read_sz_stream& operator >>(unichar& wch);
172
// {
173
//
174
// ::i32 len = 0;
175
//
176
// auto iIndex = unicode_index_length(m_psz, len);
177
//
178
// if (iIndex < 0)
179
// {
180
//
181
// throw_exception(error_premature_end_of_file);
182
//
183
// }
184
// else if (iIndex >= 65536)
185
// {
186
//
187
// wch = 65535; // (INVALID CHAR CODE)?
188
//
189
// }
190
//
191
// wch = iIndex;
192
//
193
// m_psz += len;
194
//
195
// return *this;
196
//
197
//}
198
199
#endif
200
//read_sz_stream& operator >>(::i8& ch);
201
// {
202
//
203
// return operator >>((::i8&)i);
204
//
205
// }
206
207
208
read_sz_stream& operator >>(::i16& sh);
209
// {
210
//
211
// auto iRead = read_integer();
212
//
213
// if (iRead < SHRT_MIN)
214
// {
215
//
216
// throw_exception(error_standard_int_overflow);
217
//
218
// }
219
// else if (iRead > SHRT_MAX)
220
// {
221
//
222
// throw_exception(error_standard_int_overflow);
223
//
224
// }
225
//
226
// sh = (::i16)iRead;
227
//
228
// return *this;
229
//
230
// }
231
232
233
read_sz_stream& operator >>(::u16& u);
234
// {
235
//
236
// auto uRead = read_natural();
237
//
238
// if (uRead > USHRT_MAX)
239
// {
240
//
241
// throw_exception(error_standard_int_overflow);
242
//
243
// }
244
//
245
// u = (::u16)uRead;
246
//
247
// return *this;
248
//
249
// }
250
251
252
read_sz_stream& operator >>(::i32& i);
253
// {
254
//
255
// auto iRead = read_integer();
256
//
257
// if (iRead < INT_MIN)
258
// {
259
//
260
// throw_exception(error_standard_int_overflow, "INT_MIN overflow: " + as_string(iRead));
261
//
262
// }
263
// else if (iRead > INT_MAX)
264
// {
265
//
266
// throw_exception(error_standard_int_overflow, "INT_MAX overflow: " + as_string(iRead));
267
//
268
// }
269
//
270
// i = (::i32)iRead;
271
//
272
// return *this;
273
//
274
// }
275
276
277
read_sz_stream& operator >>(::u32& u);
278
// {
279
//
280
// auto uRead = read_natural();
281
//
282
// if (uRead > UINT_MAX)
283
// {
284
//
285
// throw_exception(error_standard_int_overflow);
286
//
287
// }
288
//
289
// u = (::u32) uRead;
290
//
291
// return *this;
292
//
293
// }
294
295
296
read_sz_stream& operator >>(::i64& i);
297
// {
298
//
299
// i = read_integer();
300
//
301
// return *this;
302
//
303
// }
304
305
306
read_sz_stream& operator >>(::u64& u);
307
// {
308
//
309
// u = read_natural();
310
//
311
// return *this;
312
//
313
// }
314
315
316
read_sz_stream& operator >>(::f32& f);
317
// {
318
//
319
// f = (::f32) read_floating();
320
//
321
// return *this;
322
//
323
// }
324
325
326
read_sz_stream& operator >>(::f64& d);
327
// {
328
//
329
// d = read_floating();
330
//
331
// return *this;
332
//
333
// }
334
335
336
read_sz_stream& operator >>(
string
& str);
337
// {
338
//
339
// str = get_word();
340
//
341
// return *this;
342
//
343
// }
344
345
348
349
350
template
<
typename
TYPE >
351
read_sz_stream & read(TYPE& t);
352
// {
353
//
354
// *this = t;
355
//
356
// return *this;
357
//
358
// }
359
360
361
};
stream
Definition
___serialization_draft.h:42
filesystem
file
read_sz_stream.h
Generated by
1.17.0