use crate::{Sequence, Value};
pub trait Source {
fn read_u64(&mut self) -> u64;
#[inline(always)]
fn read_f64(&mut self) -> f64 {
self.read_u64() as f64 / u64::MAX as f64
}
#[inline(always)]
fn read<V>(&mut self) -> V
where
Self: Sized,
V: Value,
{
Value::read(self)
}
#[inline(always)]
fn iter<V>(&mut self) -> Sequence<'_, Self, V>
where
Self: Sized,
V: Value,
{
From::from(self)
}
}