pub struct Bits<I>(pub I, pub usize);Expand description
Bit-level stream state over a byte stream.
Tuple Fields§
§0: I§1: usizeTrait Implementations§
Source§impl<I> Offset<<Bits<I> as Stream>::Checkpoint> for Bits<I>
impl<I> Offset<<Bits<I> as Stream>::Checkpoint> for Bits<I>
Source§fn offset_from(&self, other: &<Bits<I> as Stream>::Checkpoint) -> usize
fn offset_from(&self, other: &<Bits<I> as Stream>::Checkpoint) -> usize
Source§impl<I> Offset for Bits<I>where
I: Offset,
impl<I> Offset for Bits<I>where
I: Offset,
Source§fn offset_from(&self, start: &Self) -> usize
fn offset_from(&self, start: &Self) -> usize
Source§impl<I> Stream for Bits<I>
impl<I> Stream for Bits<I>
Source§type IterOffsets = BitOffsets<I>
type IterOffsets = BitOffsets<I>
Iterate with the offset from the current location
Source§type Checkpoint = Checkpoint<Bits<<I as Stream>::Checkpoint>, Bits<I>>
type Checkpoint = Checkpoint<Bits<<I as Stream>::Checkpoint>, Bits<I>>
A parse location within the stream
Source§fn iter_offsets(&self) -> Self::IterOffsets
fn iter_offsets(&self) -> Self::IterOffsets
Iterate with the offset from the current location
Source§fn eof_offset(&self) -> usize
fn eof_offset(&self) -> usize
Returns the offset to the end of the input
Source§fn next_token(&mut self) -> Option<Self::Token>
fn next_token(&mut self) -> Option<Self::Token>
Split off the next token from the input
Source§fn peek_token(&self) -> Option<Self::Token>
fn peek_token(&self) -> Option<Self::Token>
Split off the next token from the input
Source§fn offset_for<P>(&self, predicate: P) -> Option<usize>
fn offset_for<P>(&self, predicate: P) -> Option<usize>
Finds the offset of the next matching token
Source§fn offset_at(&self, tokens: usize) -> Result<usize, Needed>
fn offset_at(&self, tokens: usize) -> Result<usize, Needed>
Get the offset for the number of
tokens into the stream Read moreSource§fn next_slice(&mut self, offset: usize) -> Self::Slice
fn next_slice(&mut self, offset: usize) -> Self::Slice
Split off a slice of tokens from the input Read more
Source§fn peek_slice(&self, offset: usize) -> Self::Slice
fn peek_slice(&self, offset: usize) -> Self::Slice
Split off a slice of tokens from the input
Source§fn checkpoint(&self) -> Self::Checkpoint
fn checkpoint(&self) -> Self::Checkpoint
Save the current parse location within the stream
Source§fn reset(&mut self, checkpoint: &Self::Checkpoint)
fn reset(&mut self, checkpoint: &Self::Checkpoint)
Revert the stream to a prior
Self::Checkpoint Read moreSource§fn trace(&self, f: &mut Formatter<'_>) -> Result
fn trace(&self, f: &mut Formatter<'_>) -> Result
Write out a single-line summary of the current parse location
Source§unsafe fn next_slice_unchecked(&mut self, offset: usize) -> Self::Slice
unsafe fn next_slice_unchecked(&mut self, offset: usize) -> Self::Slice
Split off a slice of tokens from the input Read more
Source§unsafe fn peek_slice_unchecked(&self, offset: usize) -> Self::Slice
unsafe fn peek_slice_unchecked(&self, offset: usize) -> Self::Slice
Split off a slice of tokens from the input Read more
Source§fn peek_finish(&self) -> Self::Slicewhere
Self: Clone,
fn peek_finish(&self) -> Self::Slicewhere
Self: Clone,
Advance to the end of the stream
Source§impl<I> StreamIsPartial for Bits<I>where
I: StreamIsPartial,
impl<I> StreamIsPartial for Bits<I>where
I: StreamIsPartial,
Source§type PartialState = <I as StreamIsPartial>::PartialState
type PartialState = <I as StreamIsPartial>::PartialState
Whether the stream is currently partial or complete
Source§fn complete(&mut self) -> Self::PartialState
fn complete(&mut self) -> Self::PartialState
Mark the stream is complete
Source§fn restore_partial(&mut self, state: Self::PartialState)
fn restore_partial(&mut self, state: Self::PartialState)
Restore the stream back to its previous state
Source§fn is_partial_supported() -> bool
fn is_partial_supported() -> bool
Report whether the
Stream is can ever be incompleteSource§fn is_partial(&self) -> bool
fn is_partial(&self) -> bool
Report whether the
Stream is currently incompleteimpl<I: Copy> Copy for Bits<I>
impl<I: Eq> Eq for Bits<I>
impl<I> StructuralPartialEq for Bits<I>
Auto Trait Implementations§
impl<I> Freeze for Bits<I>where
I: Freeze,
impl<I> RefUnwindSafe for Bits<I>where
I: RefUnwindSafe,
impl<I> Send for Bits<I>where
I: Send,
impl<I> Sync for Bits<I>where
I: Sync,
impl<I> Unpin for Bits<I>where
I: Unpin,
impl<I> UnsafeUnpin for Bits<I>where
I: UnsafeUnpin,
impl<I> UnwindSafe for Bits<I>where
I: UnwindSafe,
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