package core:container/queue
Index
Types (1)
Constants (1)
Variables (0)
This section is empty.
Types
Queue ¶
Queue :: struct($Value: typeid) {}
Dynamically resizable double-ended queue/ring-buffer
Related Procedures With Parameters
- back
- back_ptr
- cap
- clear
- consume_back
- consume_front
- destroy
- front
- front_ptr
- get
- get_ptr
- init
- init_from_slice
- init_with_contents
- len
- peek_back
- peek_front
- pop_back
- pop_back_safe
- pop_front
- pop_front_safe
- push_back
- push_back_elems
- push_front
- reserve
- set
- space
- append (procedure groups)
- push (procedure groups)
Constants
DEFAULT_CAPACITY ¶
DEFAULT_CAPACITY :: 16
Variables
This section is empty.
Procedures
back_ptr ¶
back_ptr :: proc(q: ^$Q/Queue($T)) -> ^$T {…}
consume_back ¶
consume_back :: proc(q: ^$Q/Queue($T), n: int, loc := #caller_location) {…}
Consume n
elements from the back of the queue
consume_front ¶
consume_front :: proc(q: ^$Q/Queue($T), n: int, loc := #caller_location) {…}
Consume n
elements from the front of the queue
front_ptr ¶
front_ptr :: proc(q: ^$Q/Queue($T)) -> ^$T {…}
get ¶
get :: proc(q: ^$Q/Queue($T), #any_int i: int, loc := #caller_location) -> $T {…}
get_ptr ¶
get_ptr :: proc(q: ^$Q/Queue($T), #any_int i: int, loc := #caller_location) -> ^$T {…}
init ¶
init :: proc(q: ^$Q/Queue($T), capacity: int = DEFAULT_CAPACITY, allocator := context.allocator) -> runtime.Allocator_Error {…}
Procedure to initialize a queue
init_from_slice ¶
Procedure to initialize a queue from a fixed backing slice.
The contents of the backing
will be overwritten as items are pushed onto the Queue
.
Any previous contents are not available.
init_with_contents ¶
Procedure to initialize a queue from a fixed backing slice. Existing contents are preserved and available on the queue.
peek_back ¶
peek_back :: proc(q: ^$Q/Queue($T), loc := #caller_location) -> ^$T {…}
peek_front ¶
peek_front :: proc(q: ^$Q/Queue($T), loc := #caller_location) -> ^$T {…}
pop_back ¶
pop_back :: proc(q: ^$Q/Queue($T), loc := #caller_location) -> (elem: $T) {…}
Pop an element from the back of the queue
pop_back_safe ¶
Safely pop an element from the back of the queue
pop_front ¶
pop_front :: proc(q: ^$Q/Queue($T), loc := #caller_location) -> (elem: $T) {…}
Pop an element from the front of the queue
pop_front_safe ¶
Safely pop an element from the front of the queue
push_back ¶
push_back :: proc(q: ^$Q/Queue($T), elem: $T) -> (ok: bool, err: runtime.Allocator_Error) {…}
Push an element to the back of the queue
push_back_elems ¶
push_back_elems :: proc(q: ^$Q/Queue($T), .. elems: ..$T) -> (ok: bool, err: runtime.Allocator_Error) {…}
Push multiple elements to the back of the queue
push_front ¶
push_front :: proc(q: ^$Q/Queue($T), elem: $T) -> (ok: bool, err: runtime.Allocator_Error) {…}
Push an element to the front of the queue
reserve ¶
reserve :: proc(q: ^$Q/Queue($T), capacity: int) -> runtime.Allocator_Error {…}
Reserve enough space for at least the specified capacity
set ¶
set :: proc(q: ^$Q/Queue($T), #any_int i: int, val: $T, loc := #caller_location) {…}
Procedure Groups
append ¶
append :: proc{ push_back, push_back_elems, }
push ¶
push :: proc{ push_back, push_back_elems, }
Source Files
Generation Information
Generated with odin version dev-2024-12 (vendor "odin") Windows_amd64 @ 2024-12-02 21:12:12.577579100 +0000 UTC