Function xfind::rfind_iter[][src]

pub fn rfind_iter<'n, 's, R>(
    needle: &'n [u8],
    rdr: &'s mut R
) -> Result<FindRevIter<'n, 's, R>> where
    R: Read + Seek
Expand description

Returns a reverse iterator over all occurrences of the given needle in the stream.

Errors

Returns an I/O error if seeking to the end of the stream failed.

Panics

Panics if the length of the stream is greater than usize::MAX.

Examples

use std::io::{self, Cursor};

fn main() -> io::Result<()> {
    let mut stream = Cursor::new(b"rusty rust");

    let mut iter = xfind::rfind_iter(b"rust", &mut stream)?;
    assert_eq!(iter.next().transpose()?, Some(6));
    assert_eq!(iter.next().transpose()?, Some(0));
    assert_eq!(iter.next().transpose()?, None);

    Ok(())
}