aboutsummaryrefslogtreecommitdiff
path: root/core/container/queue
diff options
context:
space:
mode:
Diffstat (limited to 'core/container/queue')
-rw-r--r--core/container/queue/queue.odin10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/container/queue/queue.odin b/core/container/queue/queue.odin
index 8ca3a85ac..ae1ca9f62 100644
--- a/core/container/queue/queue.odin
+++ b/core/container/queue/queue.odin
@@ -69,6 +69,16 @@ get :: proc(q: ^$Q/Queue($T), #any_int i: int, loc := #caller_location) -> T {
idx := (uint(i)+q.offset)%builtin.len(q.data)
return q.data[idx]
}
+
+front :: proc(q: ^$Q/Queue($T)) -> T {
+ return q.data[q.offset]
+}
+
+back :: proc(q: ^$Q/Queue($T)) -> T {
+ idx := (q.offset+uint(q.len))%builtin.len(q.data)
+ return q.data[idx]
+}
+
set :: proc(q: ^$Q/Queue($T), #any_int i: int, val: T, loc := #caller_location) {
runtime.bounds_check_error_loc(loc, i, builtin.len(q.data))