#[repr(transparent)]pub struct CompleteStream<S>(pub S);
Expand description
Stream type which indicates that the stream is complete if end of input is reached
For most streams this is already the default but this wrapper can be used to override a nested
PartialStream
Tuple Fields§
§0: S
Trait Implementations§
source§impl<S: Clone> Clone for CompleteStream<S>
impl<S: Clone> Clone for CompleteStream<S>
source§fn clone(&self) -> CompleteStream<S>
fn clone(&self) -> CompleteStream<S>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<S: Debug> Debug for CompleteStream<S>
impl<S: Debug> Debug for CompleteStream<S>
source§impl<'s, S> From<&'s mut S> for &'s mut CompleteStream<S>
impl<'s, S> From<&'s mut S> for &'s mut CompleteStream<S>
source§impl<S> From<S> for CompleteStream<S>
impl<S> From<S> for CompleteStream<S>
source§impl<S: Ord> Ord for CompleteStream<S>
impl<S: Ord> Ord for CompleteStream<S>
source§fn cmp(&self, other: &CompleteStream<S>) -> Ordering
fn cmp(&self, other: &CompleteStream<S>) -> Ordering
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: PartialEq> PartialEq for CompleteStream<S>
impl<S: PartialEq> PartialEq for CompleteStream<S>
source§impl<S: PartialOrd> PartialOrd for CompleteStream<S>
impl<S: PartialOrd> PartialOrd for CompleteStream<S>
source§impl<S> Positioned for CompleteStream<S>where
S: Positioned,
impl<S> Positioned for CompleteStream<S>where
S: Positioned,
source§impl<S> RangeStreamOnce for CompleteStream<S>where
S: RangeStreamOnce,
impl<S> RangeStreamOnce for CompleteStream<S>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> ResetStream for CompleteStream<S>where
S: ResetStream,
impl<S> ResetStream for CompleteStream<S>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> StreamOnce for CompleteStream<S>where
S: StreamOnce,
impl<S> StreamOnce for CompleteStream<S>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> Copy for CompleteStream<S>
impl<S: Eq> Eq for CompleteStream<S>
impl<S> StructuralPartialEq for CompleteStream<S>
Auto Trait Implementations§
impl<S> Freeze for CompleteStream<S>where
S: Freeze,
impl<S> RefUnwindSafe for CompleteStream<S>where
S: RefUnwindSafe,
impl<S> Send for CompleteStream<S>where
S: Send,
impl<S> Sync for CompleteStream<S>where
S: Sync,
impl<S> Unpin for CompleteStream<S>where
S: Unpin,
impl<S> UnwindSafe for CompleteStream<S>where
S: 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
)