method Decoder.readU64
Reads an unsigned integer of up to 64 bits.
Example:
use std.ser { Codec, Encoder, Decoder, Schema, encode, decode, hex, EncodeError, DecodeError }
data Wide {}
impl Codec<u64> for Wide {
static fn encode(x: &u64, w: &var Encoder) -> () | EncodeError { w.writeU64(x) }
static fn decode(r: &var Decoder) -> u64 | DecodeError { r.readU64() }
static fn schema() -> Schema => Schema.of("uint64")
}
data Wrap {
@codec(Wide) n: u64
}
fn main() io {
let b = encode(&Wrap{ n: 18446744073709551615 })!
print("{decode<Wrap>(&b)!.n}")
}Вывод
18446744073709551615
var fn readU64() -> u64 | DecodeErrorС версии. 1.0.0-beta
Возвращает
u64
Ошибки
DecodeError@error- `DecodeError.Malformed` when the next value is not an unsigned integer.
Эффекты
не объявлены (чистая, пока тело не говорит иное)
Определено в: std/ser/ser.oxl:1548