ngds 0.1.2

Rust bindings for AVFounation
Documentation
pub struct Stack<T> {
    inner: Vec<T>,
}

impl<T> Stack<T> {
    pub fn new() -> Self {
        Self { inner: vec![] }
    }

    pub fn len(&self) -> usize {
        self.inner.len()
    }

    pub fn pop(&mut self) -> Option<T> {
        self.inner.pop()
    }

    pub fn push(&mut self, item: T) {
        self.inner.push(item)
    }

    pub fn is_empty(&self) -> bool {
        self.inner.is_empty()
    }

    pub fn peek(&self) -> Option<&T> {
        self.inner.last()
    }
}

#[cfg(test)]
mod tests {
    use super::Stack;
    #[test]
    fn test_stack() {
        let mut s = Stack::new();
        s.push(1);
        s.push(2);
        assert!(s.peek() == Some(&2));
        assert!(s.pop() == Some(2));
        assert!(s.pop() == Some(1));
    }
}