[][src]Trait amq_protocol_types::parsing::traits::InputIter

pub trait InputIter where
    <Self::Iter as Iterator>::Item == (usize, Self::Item),
    <Self::IterElem as Iterator>::Item == Self::Item
{ type Item; type Iter: Iterator; type IterElem: Iterator; fn iter_indices(&self) -> Self::Iter;
fn iter_elements(&self) -> Self::IterElem;
fn position<P>(&self, predicate: P) -> Option<usize>
    where
        P: Fn(Self::Item) -> bool
;
fn slice_index(&self, count: usize) -> Option<usize>; }

Reexport nom traits required for parsing abstracts common iteration operations on the input type

Associated Types

type Item

the current input type is a sequence of that Item type.

example: u8 for &[u8] or char for &str`

type Iter: Iterator

an iterator over the input type, producing the item and its position for use with Slice. If we're iterating over &str, the position corresponds to the byte index of the character

type IterElem: Iterator

an iterator over the input type, producing the item

Loading content...

Required methods

fn iter_indices(&self) -> Self::Iter

returns an iterator over the elements and their byte offsets

fn iter_elements(&self) -> Self::IterElem

returns an iterator over the elements

fn position<P>(&self, predicate: P) -> Option<usize> where
    P: Fn(Self::Item) -> bool

finds the byte position of the element

fn slice_index(&self, count: usize) -> Option<usize>

get the byte offset from the element's position in the stream

Loading content...

Implementations on Foreign Types

impl<'a> InputIter for &'a [u8; 29][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 29] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 29] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 19][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 19] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 19] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a str[src]

type Item = char

type Iter = CharIndices<'a>

type IterElem = Chars<'a>

impl<'a> InputIter for &'a [u8][src]

type Item = u8

type Iter = Enumerate<<&'a [u8] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 4][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 4] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 4] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 5][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 5] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 5] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 13][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 13] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 13] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 30][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 30] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 30] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 31][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 31] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 31] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 14][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 14] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 14] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 16][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 16] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 16] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 10][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 10] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 10] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 0][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 0] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 0] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 3][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 3] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 3] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 23][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 23] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 23] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 17][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 17] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 17] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 20][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 20] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 20] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 12][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 12] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 12] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 32][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 32] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 32] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 8][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 8] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 8] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 7][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 7] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 7] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 28][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 28] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 28] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 1][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 1] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 1] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 26][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 26] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 26] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 9][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 9] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 9] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 11][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 11] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 11] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 6][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 6] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 6] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 2][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 2] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 2] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 18][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 18] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 18] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 22][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 22] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 22] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 21][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 21] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 21] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 24][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 24] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 24] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 15][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 15] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 15] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 25][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 25] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 25] as InputIter>::Item>, fn(&u8) -> u8>

impl<'a> InputIter for &'a [u8; 27][src]

type Item = u8

type Iter = Enumerate<<&'a [u8; 27] as InputIter>::IterElem>

type IterElem = Map<Iter<'a, <&'a [u8; 27] as InputIter>::Item>, fn(&u8) -> u8>

Loading content...

Implementors

Loading content...