pub struct RleCursor<const B: usize, P: Packable + ?Sized, X = SlabWeight> { /* private fields */ }Trait Implementations§
Source§impl<const B: usize, P: Packable + ?Sized, X: HasPos + HasAcc + SpanWeight<Slab>> ColumnCursor for RleCursor<B, P, X>
impl<const B: usize, P: Packable + ?Sized, X: HasPos + HasAcc + SpanWeight<Slab>> ColumnCursor for RleCursor<B, P, X>
type Item = P
type State<'a> = RleState<'a, P> where P: 'a
type PostState<'a> = Option<Run<'a, <RleCursor<B, P, X> as ColumnCursor>::Item>> where Self::Item: 'a
type Export = Option<<P as ToOwned>::Owned>
type SlabIndex = X
fn empty() -> Self
fn acc(&self) -> Acc
fn copy_between<'a>( slab: &'a [u8], writer: &mut SlabWriter<'a, P>, c0: Self, c1: Self, run: Run<'a, Self::Item>, size: usize, ) -> Self::State<'a>
fn finalize_state<'a>( slab: &'a Slab, encoder: &mut Encoder<'a, Self>, post: Option<Run<'a, P>>, cursor: Self, ) -> Option<Self>
fn finish<'a>(slab: &'a Slab, writer: &mut SlabWriter<'a, P>, cursor: Self)
fn slab_size() -> usize
fn splice_encoder( index: usize, del: usize, slab: &Slab, ) -> SpliceEncoder<'_, Self>
fn export_splice<'a, I>( data: &mut Vec<Self::Export>, range: Range<usize>, values: I, )
fn compute_min_max(slabs: &mut [Slab])
fn min(&self) -> Agg
fn max(&self) -> Agg
fn try_next<'a>( &mut self, slab: &'a [u8], ) -> Result<Option<Run<'a, Self::Item>>, PackError>
fn index(&self) -> usize
fn offset(&self) -> usize
fn load_with(data: &[u8], m: &ScanMeta) -> Result<ColumnData<Self>, PackError>
fn encode<'a, I>(out: &mut Vec<u8>, values: I, force: bool) -> Range<usize>
fn new(_: &Slab) -> Self
fn iter(slab: &[u8]) -> CursorIter<'_, Self> ⓘ
fn is_empty(v: Option<Cow<'_, Self::Item>>) -> bool
fn contains_range( &self, run: &Run<'_, Self::Item>, range: &Range<usize>, ) -> Option<Range<usize>>
fn contains( &self, run: &Run<'_, Self::Item>, target: Agg, ) -> Option<Range<usize>>
fn contains_agg( &self, run: &Run<'_, Self::Item>, agg: Agg, ) -> Option<Range<usize>>
fn pop<'a>( &self, run: &mut Run<'a, Self::Item>, ) -> Option<Option<Cow<'a, Self::Item>>>
fn pop_n<'a>( &self, run: &mut Run<'a, Self::Item>, n: usize, ) -> Option<Option<Cow<'a, Self::Item>>>
fn next<'a>(&mut self, data: &'a [u8]) -> Option<Run<'a, Self::Item>>
fn seek(index: usize, slab: &Slab) -> (Option<Run<'_, Self::Item>>, Self)
fn debug_scan(data: &[u8], m: &ScanMeta) -> Result<Self, PackError>
fn load(data: &[u8]) -> Result<ColumnData<Self>, PackError>
fn splice<'a, 'b, I, M>( slab: &'a Slab, index: usize, del: usize, values: I, debug: (&mut Vec<Self::Export>, Range<usize>), ) -> SpliceResult
fn splice_delete<'a>( _post: Option<Run<'a, Self::Item>>, _cursor: Self, _del: usize, slab: &'a Slab, ) -> SpliceDel<'a, Self>
fn init_empty(len: usize) -> Slab
Source§impl<const B: usize, P: PartialEq + Packable + ?Sized, X: PartialEq> PartialEq for RleCursor<B, P, X>
impl<const B: usize, P: PartialEq + Packable + ?Sized, X: PartialEq> PartialEq for RleCursor<B, P, X>
impl<const B: usize, P: Packable + ?Sized, X> Copy for RleCursor<B, P, X>
impl<const B: usize, P: Packable + ?Sized, X> StructuralPartialEq for RleCursor<B, P, X>
Auto Trait Implementations§
impl<const B: usize, P, X> Freeze for RleCursor<B, P, X>
impl<const B: usize, P, X> RefUnwindSafe for RleCursor<B, P, X>
impl<const B: usize, P, X> Send for RleCursor<B, P, X>
impl<const B: usize, P, X> Sync for RleCursor<B, P, X>
impl<const B: usize, P, X> Unpin for RleCursor<B, P, X>
impl<const B: usize, P, X> UnwindSafe for RleCursor<B, P, X>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more