Tagged
This commit is contained in:
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user