8template <
typename TYPE >
11template <
typename TYPE >
17 ::file pfile =
file()->get_file(
"C:\\window.window");
45 virtual void read(::i8 & i) {}
46 virtual void read(
string & i) {}
48 virtual void write(const ::i8 & i) {}
49 virtual void write(const ::scoped_string & scopedstr) {}
51 template <
typename TYPE >
52 void default_exchange(TYPE & t) { is_loading() ? read(t) : write(t); }
54 virtual void exchange(const ::atom &
atom, ::i8 & i) { default_exchange(i); }
55 virtual void exchange(const ::atom &
atom,
string & str) { default_exchange(str); }
59 template <
typename OBJECT >
60 inline void exchange(const ::atom &
atom, ::pointer<OBJECT>& pparticle)
64 write_object(
atom, pparticle.m_p);
68 pparticle = read_object(
atom);
73 virtual void write_object(const ::atom &
atom, const ::atom & idFactory,
::particle * pparticle)
75 exchange(
"id", idFactory);
76 exchange(
"", pparticle);
79 virtual ::pointer<::matter>read_object(const ::atom &
atom)
82 exchange(
"id", idFactory);
83 auto pparticle = øcreate_by_type<::matter>(idFactory);
84 exchange(
"", pparticle);
96 ::payload & payload();
98 virtual void read(::i8 & i) {}
99 virtual void read(
string & i) {}
101 virtual void write(const ::i8 & i) {}
102 virtual void write(const ::scoped_string & scopedstr) {}
104 template <
typename TYPE >
105 void default_exchange(const ::atom &
atom, TYPE & t) { is_loading() ? t =
operator[
atom] :
operator[
atom] = t; }
107 virtual void exchange(const ::atom &
atom, ::i8 & i) { default_exchange(
atom, i); }
108 virtual void exchange(const ::atom &
atom,
string & str) { default_exchange(
atom, str); }
115 virtual void write_object(const ::atom &
atom, const ::atom & idFactory,
::particle * pparticle)
override
118 stream.exchange(
"id", idFactory);
119 stream.exchange(
"", pparticle);
122 virtual ::pointer<::contex_object>read_object(const ::atom &
atom)
override
126 stream.exchange(
"id", idFactory);
127 auto pparticle = øcreate_by_type<::matter>(idFactory);
128 stream.exchange(
"", pparticle);
149 virtual public matter
156 ::pointer<::matter> m_pobject;
158 virtual void exchange(
stream & s);
162#define __EXCHANGE(xxx) stream.exchange(__STRING(xxx), m_##xxx)
163#define __TYPE_EXCHANGE(xxx) stream.exchange(__STRING(xxx), t.m_##xxx)
169 __EXCHANGE(iVisible);
170 __EXCHANGE(strTitle);
172 __EXCHANGE(pparticle);
183 exchange(atom, value) read / write value
186 m_pstream->write(atom value)
188 m_pstream->read(atom, value)
192 exchange(value) read / write value
195 m_pstream->write(value)
197 m_pstream->read(value)
206 read(atom, ::i8)
throw not_implemented;
207 read(atom, ::i16)
throw not_implemented;
208 read(atom, ::i32)
throw not_implemented;
209 read(atom, ::i64)
throw not_implemented;
210 read(atom, ::u8)
throw not_implemented;
211 read(atom, ::u16)
throw not_implemented;
212 read(atom, ::u32)
throw not_implemented;
213 read(atom, ::u64)
throw not_implemented;
215 read(::i8)
throw not_implemented;
216 read(::i16)
throw not_implemented;
217 read(::i32)
throw not_implemented;
218 read(::i64)
throw not_implemented;
219 read(::u8)
throw not_implemented;
220 read(::u16)
throw not_implemented;
221 read(::u32)
throw not_implemented;
222 read(::u64)
throw not_implemented;
224 write(atom, ::i8)
throw not_implemented;
225 write(atom, ::i16)
throw not_implemented;
226 write(atom, ::i32)
throw not_implemented;
227 write(atom, ::i64)
throw not_implemented;
228 write(atom, ::u8)
throw not_implemented;
229 write(atom, ::u16)
throw not_implemented;
230 write(atom, ::u32)
throw not_implemented;
231 write(atom, ::u64)
throw not_implemented;
233 write(::i8)
throw not_implemented;
234 write(::i16)
throw not_implemented;
235 write(::i32)
throw not_implemented;
236 write(::i64)
throw not_implemented;
237 write(::u8)
throw not_implemented;
238 write(::u16)
throw not_implemented;
239 write(::u32)
throw not_implemented;
240 write(::u64)
throw not_implemented;
250 read(atom, ::i8) read(::i8)
251 read(atom, ::i16) read(::i16)
252 read(atom, ::i32) read(::i32)
253 read(atom, ::i64) read(::i64)
254 read(atom, ::u8) read(::u8)
255 read(atom, ::u16) read(::u16)
256 read(atom, ::u32) read(::u32)
257 read(atom, ::u64) read(::u64)
259 read(::i8) m_pfile->read(::i8)
260 read(::i16) m_pfile->read(::i16)
261 read(::i32) m_pfile->read(::i32)
262 read(::i64) m_pfile->read(::i64)
263 read(::u8) m_pfile->read(::u8)
264 read(::u16) m_pfile->read(::u16)
265 read(::u32) m_pfile->read(::u32)
266 read(::u64) m_pfile->read(::u64)
268 write(atom, ::i8) write(::i8)
269 write(atom, ::i16) write(::i16)
270 write(atom, ::i32) write(::i32)
271 write(atom, ::i64) write(::i64)
272 write(atom, ::u8) write(::u8)
273 write(atom, ::u16) write(::u16)
274 write(atom, ::u32) write(::u32)
275 write(atom, ::u64) write(::u64)
277 write(::i8) m_pfile->write(::i8)
278 write(::i16) m_pfile->write(::i16)
279 write(::i32) m_pfile->write(::i32)
280 write(::i64) m_pfile->write(::i64)
281 write(::u8) m_pfile->write(::u8)
282 write(::u16) m_pfile->write(::u16)
283 write(::u32) m_pfile->write(::u32)
284 write(::u64) m_pfile->write(::u64)
293 write(atom, ::i8) write(::i8)
294 write(atom, ::i16) write(::i16)
295 write(atom, ::i32) write(::i32)
296 write(atom, ::i64) write(::i64)
297 write(atom, ::u8) write(::u8)
298 write(atom, ::u16) write(::u16)
299 write(atom, ::u32) write(::u32)
300 write(atom, ::u64) write(::u64)
302 write(::i8) m_pfile->write(::i8)
303 write(::i16) m_pfile->write(::i16)
304 write(::i32) m_pfile->write(::i32)
305 write(::i64) m_pfile->write(::i64)
306 write(::u8) m_pfile->write(::u8)
307 write(::u16) m_pfile->write(::u16)
308 write(::u32) m_pfile->write(::u32)
309 write(::u64) m_pfile->write(::u64)
315 template <
typename CONTAINER >
320 read(atom, ::i8)::i8 = m_ppayload->operator[](atom);
321 read(atom, ::i16) ::i16 = m_ppayload->operator[](atom);
322 read(atom, ::i32) ::i32 = m_ppayload->operator[](atom);
323 read(atom, ::i64) ::i64 = m_ppayload->operator[](atom);
324 read(atom, ::u8) ::u8 = m_ppayload->operator[](atom);
325 read(atom, ::u16) ::u16 = m_ppayload->operator[](atom);
326 read(atom, ::u32) ::u32 = m_ppayload->operator[](atom);
327 read(atom, ::u64) ::u64 = m_ppayload->operator[](atom);
329 read(::i8) ::i8 = *m_ppayload
330 read(::i16) ::i16 = *m_ppayload
331 read(::i32) ::i32 = *m_ppayload
332 read(::i64) ::i64 = *m_ppayload
333 read(::u8) uch = *m_ppayload
334 read(::u16) ::u16 = *m_ppayload
335 read(::u32) ::u32 = *m_ppayload
336 read(::u64) ::u64 = *m_ppayload
338 write(atom, ::i8) write(::i8)
339 write(atom, ::i16) write(::i16)
340 write(atom, ::i32) write(::i32)
341 write(atom, ::i64) write(::i64)
342 write(atom, ::u8) write(::u8)
343 write(atom, ::u16) write(::u16)
344 write(atom, ::u32) write(::u32)
345 write(atom, ::u64) write(::u64)
347 write(::i8) m_pfile->write(::i8)
348 write(::i16) m_pfile->write(::i16)
349 write(::i32) m_pfile->write(::i32)
350 write(::i64) m_pfile->write(::i64)
351 write(::u8) m_pfile->write(::u8)
352 write(::u16) m_pfile->write(::u16)
353 write(::u32) m_pfile->write(::u32)
354 write(::u64) m_pfile->write(::u64)
361 stream & operator >> (stream & stream, matter & o)
366 e.defer_set_loading();
372 stream & operator >> (stream & s, matter & o)
380 window new_frame_window()
382 return allocateø frame_window();
Definition ___serialization_draft.h:93
Definition ___serialization_draft.h:42
Definition ___serialization_draft.h:150
Definition filesystem.h:16