| 92 | /// returned as registers). |
| 93 | template <typename T> |
| 94 | struct ZResult { |
| 95 | /// False if there was a problem reading the value. |
| 96 | bool ok; |
| 97 | /// The decoded value. Only valid if 'ok' is true. |
| 98 | T val; |
| 99 | |
| 100 | ZResult(T v) : ok(true), val(v) { } |
| 101 | static ZResult error() { return ZResult(); } |
| 102 | |
| 103 | private: |
| 104 | ZResult() : ok(false) { } |
| 105 | }; |
| 106 | |
| 107 | typedef ZResult<int64_t> ZLongResult; |
| 108 | typedef ZResult<int32_t> ZIntResult; |