acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_defer.h
1#pragma once
2
3
4#ifndef __cplusplus_winrt
5
6
7//template < typename TYPE >
8//inline stream & operator >> (stream & stream, TYPE & t) { stream.defer_set_loading(); stream.stream_exchange(::atom::e_type_null, t); return stream; }
9//
10//
11//template < typename TYPE >
12//inline stream & operator << (stream & stream, const TYPE & t) { stream.defer_set_storing(); stream.stream_exchange(::atom::e_type_null, (TYPE &)t); return stream; }
13//
14
15//template < typename TYPE >
16//inline void stream::default_exchange(TYPE & t) { is_loading() ? read(t) : write(t); }
17//
18//
19//template < typename TYPE >
20//inline void stream::write_only(TYPE & t) { is_loading() ? throw ::exception(error_io) : write(t); }
21//
22//
23//template < typename TYPE >
24//inline void stream::stream_exchange(const ::atom & atom, TYPE & t) { ::__exchange(*this, t); }
25//
26//
27//#include "_defer_payload_stream.h"
28//
29
30#endif // __cplusplus_winrt
31
32
33