mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Fix container.Array and container.Ring
This commit is contained in:
@@ -10,6 +10,8 @@ Array :: struct(T: typeid) {
|
|||||||
allocator: mem.Allocator,
|
allocator: mem.Allocator,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ARRAY_DEFAULT_CAPACITY :: 16;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
array_init :: proc {
|
array_init :: proc {
|
||||||
array_init_none,
|
array_init_none,
|
||||||
@@ -42,11 +44,12 @@ array_set_capacity
|
|||||||
array_grow
|
array_grow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
array_init_none :: proc(a: ^$A/Array, allocator := context.allocator) {
|
array_init_none :: proc(a: ^$A/Array, allocator := context.allocator) {
|
||||||
array_init_len(a, 0, allocator);
|
array_init_len_cap(a, 0, ARRAY_DEFAULT_CAPACITY, allocator);
|
||||||
}
|
}
|
||||||
array_init_len :: proc(a: ^$A/Array, len: int, allocator := context.allocator) {
|
array_init_len :: proc(a: ^$A/Array, len: int, allocator := context.allocator) {
|
||||||
array_init_len_cap(a, 0, 16, allocator);
|
array_init_len_cap(a, len, len, allocator);
|
||||||
}
|
}
|
||||||
array_init_len_cap :: proc(a: ^$A/Array($T), len: int, cap: int, allocator := context.allocator) {
|
array_init_len_cap :: proc(a: ^$A/Array($T), len: int, cap: int, allocator := context.allocator) {
|
||||||
a.allocator = allocator;
|
a.allocator = allocator;
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ ring_len :: proc(r: ^$R/Ring) -> int {
|
|||||||
n := 0;
|
n := 0;
|
||||||
if r != nil {
|
if r != nil {
|
||||||
n = 1;
|
n = 1;
|
||||||
for p := ring_next(p); p != r; p = p.next {
|
for p := ring_next(&p); p != r; p = p.next {
|
||||||
n += 1;
|
n += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user