From 218d6fba3200f5bebfeee0175f282263ecc06a46 Mon Sep 17 00:00:00 2001 From: cavemanloverboy Date: Sat, 27 Jan 2024 00:31:55 -0800 Subject: [PATCH] add try push back/front methods --- src/deque.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/deque.rs b/src/deque.rs index cfdde04..f3cd7cd 100644 --- a/src/deque.rs +++ b/src/deque.rs @@ -114,6 +114,24 @@ impl Deque Result<(), &'static str> { + if self.len() < MAX_SIZE { + self.push_back(node); + Ok(()) + } else { + Err("Deque::try_push_back failed. Deque is at max capacity.") + } + } + + pub fn try_push_front(&mut self, node: T) -> Result<(), &'static str> { + if self.len() < MAX_SIZE { + self.push_front(node); + Ok(()) + } else { + Err("Deque::try_push_front failed. Deque is at max capacity.") + } + } + pub fn pop_front(&mut self) -> Option { if self.head == SENTINEL { return None;