This commit is contained in:
2026-03-20 23:12:46 +01:00
parent ac5c9eeaa0
commit 582d876abf
6 changed files with 70 additions and 43 deletions

View File

@ -144,7 +144,7 @@ impl<T: 'static> Out<T>
{
Some(tag) =>
{
let _ = writer.push_tagged(elt.0, tag);
let _ = writer.push(Tagged(elt.0, Some(tag)));
}
None =>
{
@ -174,6 +174,11 @@ impl<T> InReader<'_, T>
self.data_reader.len()
}
pub fn is_empty(&self) -> bool
{
self.len() == 0
}
pub fn pop(&self) -> Option<Tagged<T>>
{
let data = self.data_reader.pop_with_index();
@ -208,7 +213,12 @@ impl<T> OutWriter<'_, T>
self.data_writer.len().min(self.tag_writer.len())
}
pub fn push(&self, data: Tagged<T>) -> Result<(), (T, Option<Tag>)>
pub fn is_empty(&self) -> bool
{
self.len() == 0
}
pub fn push(&self, data: Tagged<T>) -> Result<(), Tagged<T>>
{
let (data, tag) = data.into();
match self.data_writer.push(data)
@ -219,13 +229,13 @@ impl<T> OutWriter<'_, T>
Ok(())
}
Ok(_) => Ok(()),
Err(data) => Err((data, tag)),
Err(data) => Err((data, tag).into()),
}
}
pub fn push_no_tag(&self, data: T) -> Result<(), T>
{
self.data_writer.push(data.into())
self.data_writer.push(data)
}
}