# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1658691572 -7200
# Node ID ef59fb975d3e41327650008847197b1617ab49a0
# Parent  041d067de38bf08ceb646b03a8a39dc42f9131bf
util.queue: Add Teal interface description

diff -r 041d067de38b -r ef59fb975d3e teal-src/util/queue.d.tl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/teal-src/util/queue.d.tl	Sun Jul 24 21:39:32 2022 +0200
@@ -0,0 +1,21 @@
+local record lib
+	record queue<T>
+		size : integer
+		count : function (queue<T>) : integer
+		enum push_errors
+			"queue full"
+		end
+
+		push : function (queue<T>, T) : boolean, push_errors
+		pop : function (queue<T>) : T
+		peek : function (queue<T>) : T
+		replace : function (queue<T>, T) : boolean, push_errors
+		type iterator = function (T, integer) : integer, T
+		items : function (queue<T>) : iterator, T, integer
+		type consume_iter = function (queue<T>) : T
+		consume : function (queue<T>) : consume_iter
+	end
+
+	new : function<T> (size:integer, allow_wrapping:boolean) : queue<T>
+end
+return lib;