diff --git a/base/builtin/index.html b/base/builtin/index.html index f22210b4a9..883cba4d05 100644 --- a/base/builtin/index.html +++ b/base/builtin/index.html @@ -251,26 +251,41 @@
raw_soa_footer_slice :: proc(array: ^$T/#soa[]$T) -> (footer: ^Raw_SOA_Footer_Slice) {…}+
delete_string :: proc(str: string, allocator := context.allocator, loc := #caller_location) -> Allocator_Error {…}@@ -1590,6 +1596,12 @@
raw_soa_footer_dynamic_array :: proc(array: ^$T/#soa[dynamic]$T) -> (footer: ^Raw_SOA_Footer_Dynamic_Array) {…}+
delete_cstring :: proc(str: cstring, allocator := context.allocator, loc := #caller_location) -> Allocator_Error {…}@@ -1612,6 +1624,12 @@
make_soa_aligned :: proc($T: typeid/#soa[]T, length: int, alignment: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}+
delete_slice :: proc(array: $T/[]$T, allocator := context.allocator, loc := #caller_location) -> Allocator_Error {…}@@ -1651,6 +1669,18 @@
make_soa_slice :: proc($T: typeid/#soa[]T, length: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}+
make_soa_dynamic_array :: proc($T: typeid/#soa[dynamic]T, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}+
make_slice :: proc($T: typeid/[]T, #any_int len: int, allocator := context.allocator, loc := #caller_location) -> (T, Allocator_Error) #optional_ok {…}@@ -1663,6 +1693,18 @@
make_soa_dynamic_array_len :: proc($T: typeid/#soa[dynamic]T, #any_int length: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}+
make_soa_dynamic_array_len_cap :: proc($T: typeid/#soa[dynamic]T, #any_int length, #any_int capacity: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}+
make_dynamic_array :: proc($T: typeid/[dynamic]T, allocator := context.allocator, loc := #caller_location) -> (T, Allocator_Error) #optional_ok {…}@@ -1699,6 +1741,18 @@
resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}+
non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}+
make_map :: proc($T: typeid/map[T]T, #any_int capacity: int = 1 << MAP_MIN_LOG2_CAPACITY, allocator := context.allocator, loc := #caller_location) -> (m: T, err: Allocator_Error) #optional_ok {…}@@ -1711,6 +1765,12 @@
reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}+
make_multi_pointer :: proc($T: typeid/[^]T, #any_int len: int, allocator := context.allocator, loc := #caller_location) -> (mp: $/[^]T, err: Allocator_Error) #optional_ok {…}@@ -1757,6 +1817,12 @@
non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}+
delete_key :: proc(m: ^$T/map[$T]$T, key: $T) -> (deleted_key: $T, deleted_value: $T) {…}@@ -1780,12 +1846,36 @@
append_soa_elem :: proc(array: ^$T/#soa[dynamic]$T, #no_broadcast arg: $T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}+
non_zero_append_soa_elem :: proc(array: ^$T/#soa[dynamic]$T, #no_broadcast arg: $T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}+
append_soa_elems :: proc(array: ^$T/#soa[dynamic]$T, .. #no_broadcast args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}+
append_elems :: proc(array: ^$T/[dynamic]$T, .. #no_broadcast args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}
non_zero_append_soa_elems :: proc(array: ^$T/#soa[dynamic]$T, .. #no_broadcast args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}+
non_zero_append_elems :: proc(array: ^$T/[dynamic]$T, .. #no_broadcast args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}@@ -1856,6 +1946,33 @@
unordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, index: int, loc := #caller_location) {…}+
unordered_remove_soa
removed the element at the specified index
. It does so by replacing the current end value
+with the old value, and reducing the length of the dynamic array by 1.
Note: This is an O(1) operation.
+Note: If you the elements to remain in their order, use ordered_remove_soa
.
+Note: If the index is out of bounds, this procedure will panic.
ordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, index: int, loc := #caller_location) {…}+
ordered_remove_soa
removed the element at the specified index
whilst keeping the order of the other elements.
Note: This is an O(N) operation.
+Note: If you the elements do not have to remain in their order, prefer unordered_remove_soa
.
+Note: If the index is out of bounds, this procedure will panic.
clear_dynamic_array :: proc "contextless" (array: ^$T/[dynamic]$T) {…}@@ -1938,123 +2055,6 @@
unimplemented :: proc(message: string, loc := #caller_location) -> ! {…}
raw_soa_footer_slice :: proc(array: ^$T/#soa[]$T) -> (footer: ^Raw_SOA_Footer_Slice) {…}-
raw_soa_footer_dynamic_array :: proc(array: ^$T/#soa[dynamic]$T) -> (footer: ^Raw_SOA_Footer_Dynamic_Array) {…}-
make_soa_aligned :: proc($T: typeid/#soa[]T, length: int, alignment: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}-
make_soa_slice :: proc($T: typeid/#soa[]T, length: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}-
make_soa_dynamic_array :: proc($T: typeid/#soa[dynamic]T, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}-
make_soa_dynamic_array_len :: proc($T: typeid/#soa[dynamic]T, #any_int length: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}-
make_soa_dynamic_array_len_cap :: proc($T: typeid/#soa[dynamic]T, #any_int length, #any_int capacity: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_ok {…}-
resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}-
non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}-
reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}-
non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}-
append_soa_elem :: proc(array: ^$T/#soa[dynamic]$T, #no_broadcast arg: $T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}-
non_zero_append_soa_elem :: proc(array: ^$T/#soa[dynamic]$T, #no_broadcast arg: $T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}-
append_soa_elems :: proc(array: ^$T/#soa[dynamic]$T, .. #no_broadcast args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}-
non_zero_append_soa_elems :: proc(array: ^$T/#soa[dynamic]$T, .. #no_broadcast args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}-
unordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, index: int, loc := #caller_location) {…}-
unordered_remove_soa
removed the element at the specified index
. It does so by replacing the current end value
-with the old value, and reducing the length of the dynamic array by 1.
Note: This is an O(1) operation.
-Note: If you the elements to remain in their order, use ordered_remove_soa
.
-Note: If the index is out of bounds, this procedure will panic.
ordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, index: int, loc := #caller_location) {…}-
ordered_remove_soa
removed the element at the specified index
whilst keeping the order of the other elements.
Note: This is an O(N) operation.
-Note: If you the elements do not have to remain in their order, prefer unordered_remove_soa
.
-Note: If the index is out of bounds, this procedure will panic.
make_soa :: proc{ + make_soa_slice, + make_soa_dynamic_array, + make_soa_dynamic_array_len, + make_soa_dynamic_array_len_cap, +} ++
make :: proc{ @@ -2222,6 +2234,20 @@make +
append_soa ¶
+++append_soa :: proc{ + append_soa_elem, + append_soa_elems, +} +++++
The append_soa built-in procedure appends elements to the end of an #soa dynamic array
+
inject_at :: proc{ - inject_at_elem, - inject_at_elems, - inject_at_elem_string, -} --
assign_at :: proc{ - assign_at_elem, - assign_at_elems, - assign_at_elem_string, -} --
make_soa :: proc{ - make_soa_slice, - make_soa_dynamic_array, - make_soa_dynamic_array_len, - make_soa_dynamic_array_len_cap, +delete_soa :: proc{ + delete_soa_slice, + delete_soa_dynamic_array, }
append_soa :: proc{ - append_soa_elem, - append_soa_elems, +clear_soa :: proc{ + clear_soa_dynamic_array, }
The append_soa built-in procedure appends elements to the end of an #soa dynamic array
-delete_soa :: proc{ - delete_soa_slice, - delete_soa_dynamic_array, +inject_at :: proc{ + inject_at_elem, + inject_at_elems, + inject_at_elem_string, }
clear_soa :: proc{ - clear_soa_dynamic_array, +assign_at :: proc{ + assign_at_elem, + assign_at_elems, + assign_at_elem_string, }
Generated with odin version dev-2024-08 (vendor "odin") Windows_amd64 @ 2024-08-11 21:10:42.644941900 +0000 UTC
Generated with odin version dev-2024-08 (vendor "odin") Windows_amd64 @ 2024-08-12 21:10:50.128787800 +0000 UTC