summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorBen Bridle <bridle.benjamin@gmail.com>2024-10-06 15:12:22 +1300
committerBen Bridle <bridle.benjamin@gmail.com>2024-10-06 15:12:40 +1300
commitb02c7bfed1bde8c37b474f95895212b604a0e332 (patch)
treefa97d6d6d990a09f58df5f0d7f348d58b6e8d421 /src/lib.rs
parent6e10ed0ce5c5f7c2ea7ba74ebd84f335738ac854 (diff)
downloadevent-queue-b02c7bfed1bde8c37b474f95895212b604a0e332.zip
Implement drain method for EventQueue
This method allows a user to read all events without needing to hold a borrow on the queue.
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 7aaf73c..7d88883 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -18,6 +18,10 @@ impl<E> EventQueue<E> {
self.queue.push_back(event);
}
+ pub fn drain(&mut self) -> Vec<E> {
+ self.queue.drain(..).collect()
+ }
+
pub fn as_reader(&mut self) -> EventReader<E> {
EventReader { queue: &mut self.queue }
}