View difference between Paste ID: wZDQdTN3 and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | extern "C" { |
2 | #include <stdint.h> | |
3 | #include <netinet/in.h> | |
4 | #include <arpa/inet.h> | |
5 | } | |
6 | ||
7 | class _getset_16 { | |
8 | uint16_t* _x; | |
9 | _getset_16() = delete; | |
10 | public: | |
11 | _getset_16(uint16_t& x) : _x(&x) { } | |
12 | operator uint16_t () const { return ntohs(*_x); } | |
13 | _getset_16& operator = (uint16_t y) { *_x = htons(y); return *this; } | |
14 | }; | |
15 | ||
16 | class P { | |
17 | uint16_t _x; | |
18 | public: | |
19 | _getset_16 x() { return _getset_16(_x); } | |
20 | }; | |
21 | ||
22 | int main() { | |
23 | P p; | |
24 | p.x() = 2; | |
25 | } |