4 MARSHALL_RAW_NETWORK_ORDER_AS(bool, uint8_t)
5 MARSHALL_RAW_NETWORK_ORDER(uint8_t)
6 MARSHALL_RAW_NETWORK_ORDER(int8_t)
7 MARSHALL_RAW_NETWORK_ORDER(uint16_t)
8 MARSHALL_RAW_NETWORK_ORDER(int16_t)
9 MARSHALL_RAW_NETWORK_ORDER(uint32_t)
10 MARSHALL_RAW_NETWORK_ORDER(int32_t)
11 MARSHALL_RAW_NETWORK_ORDER_AS(size_t, uint32_t)
12 MARSHALL_RAW_NETWORK_ORDER(uint64_t)
13 MARSHALL_RAW_NETWORK_ORDER(int64_t)
15 marshall & operator<<(marshall &m, const string &s) {
16 m << (uint32_t)s.size();
17 m.rawbytes(s.data(), s.size());
21 unmarshall & operator>>(unmarshall &u, string &s) {
22 uint32_t sz = u.grab<uint32_t>();
25 u.rawbytes(&s[0], sz);