pub struct Stream<S, U> {
pub stream: S,
pub state: U,
}
Fields§
§stream: S
§state: U
Trait Implementations§
source§impl<S: Ord, U: Ord> Ord for Stream<S, U>
impl<S: Ord, U: Ord> Ord for Stream<S, U>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<S: PartialOrd, U: PartialOrd> PartialOrd for Stream<S, U>
impl<S: PartialOrd, U: PartialOrd> PartialOrd for Stream<S, U>
source§impl<S, U> Positioned for Stream<S, U>where
S: Positioned,
impl<S, U> Positioned for Stream<S, U>where
S: Positioned,
source§impl<S, U> RangeStreamOnce for Stream<S, U>where
S: RangeStreamOnce,
impl<S, U> RangeStreamOnce for Stream<S, U>where
S: RangeStreamOnce,
source§fn uncons_range(
&mut self,
size: usize,
) -> Result<Self::Range, StreamErrorFor<Self>>
fn uncons_range( &mut self, size: usize, ) -> Result<Self::Range, StreamErrorFor<Self>>
Takes
size
elements from the stream.
Fails if the length of the stream is less than size
.source§fn uncons_while<F>(&mut self, f: F) -> Result<Self::Range, StreamErrorFor<Self>>
fn uncons_while<F>(&mut self, f: F) -> Result<Self::Range, StreamErrorFor<Self>>
Takes items from stream, testing each one with
predicate
.
returns the range of items which passed predicate
.source§fn uncons_while1<F>(
&mut self,
f: F,
) -> ParseResult<Self::Range, StreamErrorFor<Self>>
fn uncons_while1<F>( &mut self, f: F, ) -> ParseResult<Self::Range, StreamErrorFor<Self>>
Takes items from stream, testing each one with
predicate
returns a range of at least one items which passed predicate
. Read moresource§fn distance(&self, end: &Self::Checkpoint) -> usize
fn distance(&self, end: &Self::Checkpoint) -> usize
source§impl<S, U> ResetStream for Stream<S, U>where
S: ResetStream,
impl<S, U> ResetStream for Stream<S, U>where
S: ResetStream,
type Checkpoint = <S as ResetStream>::Checkpoint
source§fn checkpoint(&self) -> Self::Checkpoint
fn checkpoint(&self) -> Self::Checkpoint
Creates a
Checkpoint
at the current position which can be used to reset the stream
later to the current positionsource§impl<S, U> StreamOnce for Stream<S, U>where
S: StreamOnce,
impl<S, U> StreamOnce for Stream<S, U>where
S: StreamOnce,
source§type Token = <S as StreamOnce>::Token
type Token = <S as StreamOnce>::Token
The type of items which is yielded from this stream.
source§type Range = <S as StreamOnce>::Range
type Range = <S as StreamOnce>::Range
The type of a range of items yielded from this stream.
Types which do not a have a way of yielding ranges of items should just use the
Self::Token
for this type.source§type Position = <S as StreamOnce>::Position
type Position = <S as StreamOnce>::Position
Type which represents the position in a stream.
Ord
is required to allow parsers to determine which of two positions are further ahead.type Error = <S as StreamOnce>::Error
source§fn uncons(&mut self) -> Result<S::Token, StreamErrorFor<Self>>
fn uncons(&mut self) -> Result<S::Token, StreamErrorFor<Self>>
Takes a stream and removes its first token, yielding the token and the rest of the elements.
Returns
Err
if no element could be retrieved.source§fn is_partial(&self) -> bool
fn is_partial(&self) -> bool
Returns
true
if this stream only contains partial input. Read moreimpl<S: Copy, U: Copy> Copy for Stream<S, U>
impl<S: Eq, U: Eq> Eq for Stream<S, U>
impl<S, U> StructuralPartialEq for Stream<S, U>
Auto Trait Implementations§
impl<S, U> Freeze for Stream<S, U>
impl<S, U> RefUnwindSafe for Stream<S, U>where
S: RefUnwindSafe,
U: RefUnwindSafe,
impl<S, U> Send for Stream<S, U>
impl<S, U> Sync for Stream<S, U>
impl<S, U> Unpin for Stream<S, U>
impl<S, U> UnwindSafe for Stream<S, U>where
S: UnwindSafe,
U: 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)