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 @@

Index

  • runtime.pop_safe
  • runtime.pop_front
  • runtime.pop_front_safe
  • +
  • runtime.raw_soa_footer_slice
  • runtime.delete_string
  • +
  • runtime.raw_soa_footer_dynamic_array
  • runtime.delete_cstring
  • runtime.delete_dynamic_array
  • +
  • runtime.make_soa_aligned
  • runtime.delete_slice
  • runtime.delete_map
  • runtime.new
  • runtime.new_clone
  • +
  • runtime.make_soa_slice
  • +
  • runtime.make_soa_dynamic_array
  • runtime.make_slice
  • +
  • runtime.make_soa_dynamic_array_len
  • +
  • runtime.make_soa_dynamic_array_len_cap
  • runtime.make_dynamic_array
  • runtime.make_dynamic_array_len
  • runtime.make_dynamic_array_len_cap
  • +
  • runtime.resize_soa
  • +
  • runtime.non_zero_resize_soa
  • runtime.make_map
  • +
  • runtime.reserve_soa
  • runtime.make_multi_pointer
  • runtime.clear_map
  • runtime.reserve_map
  • runtime.shrink_map
  • +
  • runtime.non_zero_reserve_soa
  • runtime.delete_key
  • runtime.append_elem
  • runtime.non_zero_append_elem
  • +
  • runtime.append_soa_elem
  • +
  • runtime.non_zero_append_soa_elem
  • +
  • runtime.append_soa_elems
  • runtime.append_elems
  • +
  • runtime.non_zero_append_soa_elems
  • runtime.non_zero_append_elems
  • runtime.append_elem_string
  • runtime.non_zero_append_elem_string
  • @@ -282,6 +297,8 @@

    Index

  • runtime.assign_at_elem
  • runtime.assign_at_elems
  • runtime.assign_at_elem_string
  • +
  • runtime.unordered_remove_soa
  • +
  • runtime.ordered_remove_soa
  • runtime.clear_dynamic_array
  • runtime.reserve_dynamic_array
  • runtime.non_zero_reserve_dynamic_array
  • @@ -293,23 +310,6 @@

    Index

  • runtime.assert
  • runtime.panic
  • runtime.unimplemented
  • -
  • runtime.raw_soa_footer_slice
  • -
  • runtime.raw_soa_footer_dynamic_array
  • -
  • runtime.make_soa_aligned
  • -
  • runtime.make_soa_slice
  • -
  • runtime.make_soa_dynamic_array
  • -
  • runtime.make_soa_dynamic_array_len
  • -
  • runtime.make_soa_dynamic_array_len_cap
  • -
  • runtime.resize_soa
  • -
  • runtime.non_zero_resize_soa
  • -
  • runtime.reserve_soa
  • -
  • runtime.non_zero_reserve_soa
  • -
  • runtime.append_soa_elem
  • -
  • runtime.non_zero_append_soa_elem
  • -
  • runtime.append_soa_elems
  • -
  • runtime.non_zero_append_soa_elems
  • -
  • runtime.unordered_remove_soa
  • -
  • runtime.ordered_remove_soa
  • @@ -328,15 +328,15 @@

    Index

  • runtime.free
  • runtime.free_all
  • runtime.delete
  • +
  • runtime.make_soa
  • runtime.make
  • +
  • runtime.append_soa
  • runtime.append
  • runtime.non_zero_append
  • -
  • runtime.inject_at
  • -
  • runtime.assign_at
  • -
  • runtime.make_soa
  • -
  • runtime.append_soa
  • runtime.delete_soa
  • runtime.clear_soa
  • +
  • runtime.inject_at
  • +
  • runtime.assign_at
  • @@ -1579,6 +1579,12 @@

    pop_
    + +
    +
    raw_soa_footer_slice :: proc(array: ^$T/#soa[]$T) -> (footer: ^Raw_SOA_Footer_Slice) {…}
    +
    +
    +

    delete_string ¶

    delete_string :: proc(str: string, allocator := context.allocator, loc := #caller_location) -> Allocator_Error {…}
    @@ -1590,6 +1596,12 @@

    delete

    + +
    +
    raw_soa_footer_dynamic_array :: proc(array: ^$T/#soa[dynamic]$T) -> (footer: ^Raw_SOA_Footer_Dynamic_Array) {…}
    +
    +
    +

    delete_cstring ¶

    delete_cstring :: proc(str: cstring, allocator := context.allocator, loc := #caller_location) -> Allocator_Error {…}
    @@ -1612,6 +1624,12 @@

    +

    make_soa_aligned ¶

    +
    +
    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 ¶

    delete_slice :: proc(array: $T/[]$T, allocator := context.allocator, loc := #caller_location) -> Allocator_Error {…}
    @@ -1651,6 +1669,18 @@

    new_clone

    +

    make_soa_slice ¶

    +
    +
    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 ¶

    +
    +
    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 ¶

    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_slice

    +

    make_soa_dynamic_array_len ¶

    +
    +
    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 ¶

    +
    +
    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 ¶

    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 ¶

    +
    +
    resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}
    +
    +

    +
    +

    non_zero_resize_soa ¶

    +
    +
    non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}
    +
    +
    +

    make_map ¶

    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 @@

    make_map

    +

    reserve_soa ¶

    +
    +
    reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}
    +
    +
    +

    make_multi_pointer ¶

    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 @@

    shrink_map

    +

    non_zero_reserve_soa ¶

    +
    +
    non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}
    +
    +
    +

    delete_key ¶

    delete_key :: proc(m: ^$T/map[$T]$T, key: $T) -> (deleted_key: $T, deleted_value: $T) {…}
    @@ -1780,12 +1846,36 @@

    +

    append_soa_elem ¶

    +
    +
    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 ¶

    +
    +
    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 ¶

    +
    +
    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 ¶

    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 ¶

    +
    +
    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 ¶

    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 ¶

    +
    +
    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 ¶

    +
    +
    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 ¶

    clear_dynamic_array :: proc "contextless" (array: ^$T/[dynamic]$T) {…}
    @@ -1938,123 +2055,6 @@

    unimpl
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}
    -
    -
    -
    -

    non_zero_resize_soa ¶

    -
    -
    non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$T, length: int, loc := #caller_location) -> Allocator_Error {…}
    -
    -
    -
    -

    reserve_soa ¶

    -
    -
    reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}
    -
    -
    -
    -

    non_zero_reserve_soa ¶

    -
    -
    non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}
    -
    -
    -
    -

    append_soa_elem ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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 ¶

    -
    -
    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.

    -
    -

    Procedure Groups

    +

    make ¶

    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

    +
    +

    +

    append ¶

    append :: proc{
    @@ -2252,68 +2278,42 @@ 

    no

    - -
    -

    append_soa ¶

    +

    clear_soa ¶

    -
    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

    -
    -

    clear_soa ¶

    +

    assign_at ¶

    -
    clear_soa :: proc{
    -	clear_soa_dynamic_array,
    +
    assign_at :: proc{
    +	assign_at_elem,
    +	assign_at_elems,
    +	assign_at_elem_string,
     }
     
    diff --git a/base/runtime/index.html b/base/runtime/index.html index 5da41acdab..b3e188ce14 100644 --- a/base/runtime/index.html +++ b/base/runtime/index.html @@ -4792,7 +4792,7 @@

    Source Files

  • (hidden platform specific files)
  • Generation Information

    -

    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