copy_stack_vec/vec/array/
pop.rs

1// This file is part of copy-stack-vec.
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4// Crate imports
5use crate::vec::CopyStackVec;
6
7impl<T: Copy, const N: usize> CopyStackVec<T, N> {
8    /// Pops the last element if any.
9    #[inline]
10    #[must_use]
11    pub fn pop(&mut self) -> Option<T> {
12        if self.len == 0 {
13            None
14        } else {
15            self.len -= 1;
16            Some(self.buf[self.len])
17        }
18    }
19}