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}