Trait constriction::backends::BoundedReadWords[][src]

pub trait BoundedReadWords<Word, S: Semantics>: ReadWords<Word, S> {
    fn remaining(&self) -> usize;

    fn is_exhausted(&self) -> bool { ... }
}
Expand description

A trait for data sources that know how much data is left.

Required methods

fn remaining(&self) -> usize[src]

Expand description

Returns the number of Words that are left for reading.

If remaining() returns n then the next n calls to read must not return Ok(None), and any subsequent reads must not return Ok(Some(_)).

Provided methods

fn is_exhausted(&self) -> bool[src]

Expand description

Whether or not there is no data left to read.

You’ll usually want to overwrite the default implementation of ReadWords::maybe_exhausted to call is_exhausted, although the only strict requirement is that maybe_exhausted must not return false if is_exhausted returns true.

Implementations on Foreign Types

impl<Word> BoundedReadWords<Word, Stack> for Vec<Word>[src]

fn remaining(&self) -> usize[src]

impl<Array> BoundedReadWords<<Array as Array>::Item, Stack> for SmallVec<Array> where
    Array: Array
[src]

fn remaining(&self) -> usize[src]

Implementors

impl<Iter, S, Word> BoundedReadWords<Word, S> for FallibleIteratorReadWords<Iter> where
    Self: ReadWords<Word, S>,
    Iter: ExactSizeIterator,
    S: Semantics
[src]

fn remaining(&self) -> usize[src]

impl<Iter, S, Word> BoundedReadWords<Word, S> for InfallibleIteratorReadWords<Iter> where
    Self: ReadWords<Word, S>,
    Iter: ExactSizeIterator,
    S: Semantics
[src]

fn remaining(&self) -> usize[src]

impl<Word, B: BoundedReadWords<Word, Queue>> BoundedReadWords<Word, Stack> for Reverse<B>[src]

fn remaining(&self) -> usize[src]

fn is_exhausted(&self) -> bool[src]

impl<Word, B: BoundedReadWords<Word, Stack>> BoundedReadWords<Word, Queue> for Reverse<B>[src]

fn remaining(&self) -> usize[src]

fn is_exhausted(&self) -> bool[src]

impl<Word: Clone, Buf: AsRef<[Word]>> BoundedReadWords<Word, Queue> for Cursor<Word, Buf>[src]

fn remaining(&self) -> usize[src]

impl<Word: Clone, Buf: SafeBuf<Word>> BoundedReadWords<Word, Stack> for Cursor<Word, Buf>[src]

fn remaining(&self) -> usize[src]