udled 0.6.2

Tokenizer and parser
Documentation
use crate::{Buffer, Reader, Result, Tokenizer};

#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub struct Peek<T>(pub T);

impl<'input, T, B> Tokenizer<'input, B> for Peek<T>
where
    T: Tokenizer<'input, B>,
    B: Buffer<'input>,
{
    type Token = T::Token;

    fn to_token(&self, reader: &mut Reader<'_, 'input, B>) -> Result<Self::Token> {
        self.0.to_token(reader)
    }

    fn eat(&self, reader: &mut Reader<'_, 'input, B>) -> Result<()> {
        self.0.eat(reader)
    }

    fn peek(&self, reader: &mut Reader<'_, 'input, B>) -> bool {
        self.eat(reader).is_ok()
    }
}