#[cfg(test)] mod peeked_test;
pub enum Peeked<D = ()> {
No,
Yes(D),
}
impl<D> Peeked<D> {
pub fn has_peeked(&self) -> bool {
match &self {
Peeked::Yes(_) => true,
Peeked::No => false,
}
}
pub fn take(&mut self) -> Option<D> {
match std::mem::replace(self, Peeked::No) {
Peeked::Yes(v) => Some(v),
Peeked::No => None,
}
}
}