Struct combine::primitives::SliceStream [] [src]

pub struct SliceStream<'a, T: 'a>(pub &'a [T]);

Newtype for constructing a stream from a slice where the items in the slice are not copyable

Trait Implementations

impl<'a, T: Debug + 'a> Debug for SliceStream<'a, T>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<'a, T: PartialOrd + 'a> PartialOrd for SliceStream<'a, T>
[src]

fn partial_cmp(&self, __arg_0: &SliceStream<'a, T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more

fn lt(&self, __arg_0: &SliceStream<'a, T>) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more

fn le(&self, __arg_0: &SliceStream<'a, T>) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

fn gt(&self, __arg_0: &SliceStream<'a, T>) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more

fn ge(&self, __arg_0: &SliceStream<'a, T>) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<'a, T: Ord + 'a> Ord for SliceStream<'a, T>
[src]

fn cmp(&self, __arg_0: &SliceStream<'a, T>) -> Ordering

This method returns an Ordering between self and other. Read more

impl<'a, T: PartialEq + 'a> PartialEq for SliceStream<'a, T>
[src]

fn eq(&self, __arg_0: &SliceStream<'a, T>) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &SliceStream<'a, T>) -> bool

This method tests for !=.

impl<'a, T: Eq + 'a> Eq for SliceStream<'a, T>
[src]

impl<'a, T: Copy + 'a> Copy for SliceStream<'a, T>
[src]

impl<'a, T> Clone for SliceStream<'a, T>
[src]

fn clone(&self) -> SliceStream<'a, T>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl<'a, T> StreamOnce for SliceStream<'a, T> where T: Clone + PartialEq + 'a
[src]

type Item = &'a T

The type of items which is yielded from this stream

type Range = &'a [T]

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::Item for this type Read more

type Position = usize

Type which represents the position in a stream. Ord is required to allow parsers to determine which of two positions are further ahead. Read more

fn uncons(&mut self) -> Result<&'a T, Error<&'a T, &'a [T]>>

Takes a stream and removes its first item, yielding the item and the rest of the elements Returns Err if no element could be retrieved Read more

fn position(&self) -> Self::Position

Returns the current position of the stream

impl<'a, T> RangeStream for SliceStream<'a, T> where T: Clone + PartialEq + 'a
[src]

fn uncons_range(&mut self, size: usize) -> Result<&'a [T]Error<&'a T, &'a [T]>>

Takes size elements from the stream Fails if the length of the stream is less than size. Read more

fn uncons_while<F>(&mut self, f: F) -> Result<&'a [T]Error<&'a T, &'a [T]>> where F: FnMut(Self::Item) -> bool

Takes items from stream, testing each one with predicate returns the range of items which passed predicate Read more

impl<'a, T> Positioner for SliceStream<'a, T> where T: Positioner + 'a
[src]

type Position = T::Position

The type which keeps track of the position.

fn start() -> T::Position

Creates a start position

fn update(&self, position: &mut T::Position)

Updates the position given that self has been taken from the stream