lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
pub trait Align {
    fn align(&mut self, offset: usize);
}

impl<T: Align> Align for Vec<T> {
    #[inline]
    fn align(&mut self, offset: usize) {
        for item in self.iter_mut() {
            item.align(offset);
        }
    }
}

impl<T: Align> Align for Option<T> {
    #[inline]
    fn align(&mut self, offset: usize) {
        if let Some(val) = self {
            val.align(offset);
        }
    }
}

impl Align for usize {
    #[inline]
    fn align(&mut self, offset: usize) {
        if *self >= offset {
            *self -= offset;
        }
    }
}