diff --git a/base/builtin/index.html b/base/builtin/index.html index 720c705cf1..269ed5ffbd 100644 --- a/base/builtin/index.html +++ b/base/builtin/index.html @@ -235,15 +235,28 @@

Index

  • raw_data
  • runtime.container_of
  • runtime.init_global_temporary_allocator
  • +
  • runtime.raw_soa_footer_slice
  • +
  • runtime.raw_soa_footer_dynamic_array
  • +
  • runtime.make_soa_aligned
  • +
  • runtime.make_soa_slice
  • runtime.copy_slice
  • +
  • runtime.make_soa_dynamic_array
  • +
  • runtime.make_soa_dynamic_array_len
  • +
  • runtime.make_soa_dynamic_array_len_cap
  • +
  • runtime.resize_soa
  • +
  • runtime.reserve_soa
  • runtime.copy_from_string
  • +
  • runtime.append_soa_elem
  • +
  • runtime.append_soa_elems
  • runtime.unordered_remove
  • runtime.ordered_remove
  • runtime.remove_range
  • runtime.pop
  • runtime.pop_safe
  • runtime.pop_front
  • +
  • runtime.unordered_remove_soa
  • runtime.pop_front_safe
  • +
  • runtime.ordered_remove_soa
  • runtime.delete_string
  • runtime.delete_cstring
  • runtime.delete_dynamic_array
  • @@ -276,29 +289,16 @@

    Index

  • runtime.assign_at_elems
  • runtime.assign_at_elem_string
  • runtime.clear_dynamic_array
  • -
  • runtime.raw_soa_footer_slice
  • runtime.reserve_dynamic_array
  • runtime.non_zero_reserve_dynamic_array
  • runtime.resize_dynamic_array
  • -
  • runtime.raw_soa_footer_dynamic_array
  • runtime.non_zero_resize_dynamic_array
  • -
  • runtime.make_soa_aligned
  • runtime.map_insert
  • -
  • runtime.make_soa_slice
  • runtime.map_upsert
  • -
  • runtime.make_soa_dynamic_array
  • runtime.card
  • -
  • runtime.make_soa_dynamic_array_len
  • runtime.assert
  • runtime.panic
  • runtime.unimplemented
  • -
  • runtime.make_soa_dynamic_array_len_cap
  • -
  • runtime.resize_soa
  • -
  • runtime.reserve_soa
  • -
  • runtime.append_soa_elem
  • -
  • runtime.append_soa_elems
  • -
  • runtime.unordered_remove_soa
  • -
  • runtime.ordered_remove_soa
  • @@ -307,7 +307,11 @@

    Index

    Procedure Groups (19) @@ -1468,6 +1468,30 @@

    + +
    +
    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 {…}
    +
    +
    +

    copy_slice ¶

    copy_slice :: proc "contextless" (dst, src: $T/[]$T) -> int {…}
    @@ -1481,6 +1505,36 @@

    copy_slice

    +

    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 {…}
    +
    +
    +
    +

    reserve_soa ¶

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

    copy_from_string ¶

    copy_from_string :: proc "contextless" (dst: $T/[]$E/u8, src: $S/string) -> int {…}
    @@ -1494,6 +1548,18 @@

    +

    append_soa_elem ¶

    +
    +
    append_soa_elem :: proc(array: ^$T/#soa[dynamic]$T, arg: $T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}
    +
    +
    +
    +

    append_soa_elems ¶

    +
    +
    append_soa_elems :: proc(array: ^$T/#soa[dynamic]$T, .. args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}
    +
    +
    +

    unordered_remove ¶

    unordered_remove :: proc(array: ^$T/[dynamic]$T, index: int, loc := #caller_location) {…}
    @@ -1566,6 +1632,20 @@

    pop_front

    +

    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.

    +
    +
    +

    pop_front_safe ¶

    pop_front_safe :: proc "contextless" (array: ^$T/[dynamic]$T) -> (res: $T, ok: bool) {…}
    @@ -1577,6 +1657,19 @@

    pop_

    +

    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.

    +
    +
    +

    delete_string ¶

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

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

    -

    reserve_dynamic_array ¶

    reserve_dynamic_array :: proc(array: ^$T/[dynamic]$T, capacity: int, loc := #caller_location) -> Allocator_Error {…}
    @@ -1889,36 +1976,18 @@

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

    -

    non_zero_resize_dynamic_array ¶

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

    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 {…}
    -
    -
    -

    map_insert ¶

    map_insert :: proc(m: ^$T/map[$T]$T, key: $T, value: $T, loc := #caller_location) -> (ptr: ^$T) {…}
    -

    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 {…}
    -
    -
    -

    map_upsert ¶

    map_upsert :: proc(m: ^$T/map[$T]$T, key: $T, value: $T, loc := #caller_location) -> (prev_key: $T, value_ptr: ^$T, found_previous: bool) {…}
    @@ -1932,24 +2001,12 @@

    map_upsert

    -

    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 {…}
    -
    -
    -

    card ¶

    card :: proc "contextless" (s: $S/bit_set[$T]) -> int {…}
    -

    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 {…}
    -
    -
    -

    assert ¶

    assert :: proc(condition: bool, message: string = "", loc := #caller_location) {…}
    @@ -1967,79 +2024,67 @@

    unimpl
    unimplemented :: proc(message: string, loc := #caller_location) -> ! {…}

    +

    Procedure Groups

    -

    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 {…}
    -
    -
    -
    -

    reserve_soa ¶

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

    append_soa_elem ¶

    +

    make_soa ¶

    -
    append_soa_elem :: proc(array: ^$T/#soa[dynamic]$T, arg: $T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}
    +
    make_soa :: proc{
    +	make_soa_slice,
    +	make_soa_dynamic_array,
    +	make_soa_dynamic_array_len,
    +	make_soa_dynamic_array_len_cap,
    +}
    +
    -

    append_soa_elems ¶

    +

    copy ¶

    -
    append_soa_elems :: proc(array: ^$T/#soa[dynamic]$T, .. args: ..$T, loc := #caller_location) -> (n: int, err: Allocator_Error) #optional_ok {…}
    +
    copy :: proc{
    +	copy_slice,
    +	copy_from_string,
    +}
    +
    +
    +  +

    copy is a built-in procedure that copies elements from a source slice src to a destination slice/string dst. +The source and destination may overlap. Copy returns the number of elements copied, which will be the minimum +of len(src) and len(dst).

    +
    -

    unordered_remove_soa ¶

    +

    append_soa ¶

    -
    unordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, index: int, loc := #caller_location) {…}
    +
    append_soa :: proc{
    +	append_soa_elem,
    +	append_soa_elems,
    +}
    +
      -

    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.

    +

    The append_soa built-in procedure appends elements to the end of an #soa dynamic array

    -

    ordered_remove_soa ¶

    +

    delete_soa ¶

    -
    ordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, index: int, loc := #caller_location) {…}
    +
    delete_soa :: proc{
    +	delete_soa_slice,
    +	delete_soa_dynamic_array,
    +}
    +
    -
    -  -

    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

    -

    copy ¶

    +

    clear_soa ¶

    -
    copy :: proc{
    -	copy_slice,
    -	copy_from_string,
    +
    clear_soa :: proc{
    +	clear_soa_dynamic_array,
     }
     
    -
    -  -

    copy is a built-in procedure that copies elements from a source slice src to a destination slice/string dst. -The source and destination may overlap. Copy returns the number of elements copied, which will be the minimum -of len(src) and len(dst).

    -

    clear ¶

    @@ -2229,51 +2274,6 @@

    assign_at

    - -
    -

    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

    -
    -
    -
    -

    delete_soa ¶

    -
    -
    delete_soa :: proc{
    -	delete_soa_slice,
    -	delete_soa_dynamic_array,
    -}
    -
    -
    -
    -
    -

    clear_soa ¶

    -
    -
    clear_soa :: proc{
    -	clear_soa_dynamic_array,
    -}
    -
    -
    -