use derive_more::{Display, FromStr};
use serde::Serialize;
#[derive(
Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Display, FromStr, Serialize,
)]
#[serde(transparent)]
pub struct Tokens(pub usize);
#[derive(
Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Display, FromStr, Serialize,
)]
#[serde(transparent)]
pub struct Lines(pub usize);
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Display, Serialize)]
#[serde(transparent)]
pub struct Bytes(pub usize);
impl Tokens {
pub fn saturating_add(self, rhs: Self) -> Self {
Self(self.0.saturating_add(rhs.0))
}
}
impl Lines {
pub fn saturating_add(self, rhs: Self) -> Self {
Self(self.0.saturating_add(rhs.0))
}
}
impl Bytes {
pub fn saturating_add(self, rhs: Self) -> Self {
Self(self.0.saturating_add(rhs.0))
}
}