add last method to queue

This commit is contained in:
soruh 2023-08-14 17:04:05 +02:00
parent 03455df253
commit 89495ae3be

View File

@ -256,6 +256,7 @@ impl<T: FromBytes + FromZeroes + AsBytes + Unaligned + Clone + Copy> FilePointer
Some(())
}
// 0 ist the next item to be returned
pub fn get(self, reader: &impl ReaderTrait, index: u64) -> Option<T> {
let mut res = None;
self.get_range_inner(reader, index..index + 1, |element| {
@ -264,6 +265,10 @@ impl<T: FromBytes + FromZeroes + AsBytes + Unaligned + Clone + Copy> FilePointer
res
}
pub fn last(self, reader: &impl ReaderTrait, index: u64) -> Option<T> {
self.get(reader, self.length(reader) - 1)
}
pub fn length(self, reader: &impl ReaderTrait) -> u64 {
reader.read(field_ptr!(self, Queue<T>, length)).get()
}