From 6212026dc1937f78cc4d6dc1242405e8773167d2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 7 Dec 2024 21:11:10 +0000 Subject: [PATCH] deploy: 80980df60e42c3f4e928584afcf509c80b38313a --- base/builtin/index.html | 366 +- base/runtime/index.html | 2 +- core/bufio/index.html | 2 +- core/bytes/index.html | 2 +- core/c/index.html | 2 +- core/c/libc/index.html | 2 +- core/compress/gzip/index.html | 2 +- core/compress/index.html | 2 +- core/compress/shoco/index.html | 2 +- core/compress/zlib/index.html | 2 +- core/container/avl/index.html | 2 +- core/container/bit_array/index.html | 2 +- core/container/intrusive/list/index.html | 2 +- core/container/lru/index.html | 2 +- core/container/priority_queue/index.html | 2 +- core/container/queue/index.html | 2 +- core/container/rbtree/index.html | 2 +- core/container/small_array/index.html | 2 +- core/container/topological_sort/index.html | 2 +- core/crypto/aead/index.html | 2 +- core/crypto/aes/index.html | 2 +- core/crypto/blake2b/index.html | 2 +- core/crypto/blake2s/index.html | 2 +- core/crypto/chacha20/index.html | 2 +- core/crypto/chacha20poly1305/index.html | 2 +- core/crypto/ed25519/index.html | 2 +- core/crypto/hash/index.html | 2 +- core/crypto/hkdf/index.html | 2 +- core/crypto/hmac/index.html | 2 +- core/crypto/index.html | 2 +- core/crypto/kmac/index.html | 2 +- core/crypto/legacy/keccak/index.html | 2 +- core/crypto/legacy/md5/index.html | 2 +- core/crypto/legacy/sha1/index.html | 2 +- core/crypto/pbkdf2/index.html | 2 +- core/crypto/poly1305/index.html | 2 +- core/crypto/ristretto255/index.html | 2 +- core/crypto/sha2/index.html | 2 +- core/crypto/sha3/index.html | 2 +- core/crypto/shake/index.html | 2 +- core/crypto/sm3/index.html | 2 +- core/crypto/tuplehash/index.html | 2 +- core/crypto/x25519/index.html | 2 +- core/debug/pe/index.html | 2 +- core/debug/trace/index.html | 2 +- core/dynlib/index.html | 2 +- core/encoding/ansi/index.html | 2 +- core/encoding/base32/index.html | 2 +- core/encoding/base64/index.html | 2 +- core/encoding/cbor/index.html | 2 +- core/encoding/csv/index.html | 2 +- core/encoding/endian/index.html | 2 +- core/encoding/entity/index.html | 2 +- core/encoding/hex/index.html | 2 +- core/encoding/hxa/index.html | 2 +- core/encoding/ini/index.html | 2 +- core/encoding/json/index.html | 2 +- core/encoding/uuid/index.html | 2 +- core/encoding/uuid/legacy/index.html | 2 +- core/encoding/varint/index.html | 2 +- core/encoding/xml/index.html | 2 +- core/flags/index.html | 2 +- core/fmt/index.html | 2 +- core/hash/index.html | 2 +- core/hash/xxhash/index.html | 2 +- core/image/bmp/index.html | 2 +- core/image/index.html | 2 +- core/image/netpbm/index.html | 2 +- core/image/png/index.html | 2 +- core/image/qoi/index.html | 2 +- core/image/tga/index.html | 2 +- core/io/index.html | 2 +- core/log/index.html | 2 +- core/math/big/index.html | 2 +- core/math/bits/index.html | 2 +- core/math/cmplx/index.html | 2 +- core/math/ease/index.html | 2 +- core/math/fixed/index.html | 2 +- core/math/index.html | 2 +- core/math/linalg/glsl/index.html | 2 +- core/math/linalg/hlsl/index.html | 2 +- core/math/linalg/index.html | 2 +- core/math/noise/index.html | 2 +- core/math/rand/index.html | 2 +- core/mem/index.html | 2 +- core/mem/tlsf/index.html | 2 +- core/mem/virtual/index.html | 2 +- core/net/index.html | 2 +- core/odin/ast/index.html | 2 +- core/odin/doc-format/index.html | 2 +- core/odin/parser/index.html | 2 +- core/odin/tokenizer/index.html | 2 +- core/os/index.html | 2 +- core/path/filepath/index.html | 2 +- core/path/slashpath/index.html | 2 +- core/prof/spall/index.html | 2 +- core/reflect/index.html | 2 +- core/relative/index.html | 2 +- core/simd/index.html | 2 +- core/simd/x86/index.html | 2 +- core/slice/heap/index.html | 2 +- core/slice/index.html | 2 +- core/sort/index.html | 2 +- core/strconv/decimal/index.html | 2 +- core/strconv/index.html | 2 +- core/strings/index.html | 6 +- core/sync/chan/index.html | 2 +- core/sync/index.html | 2 +- core/sys/darwin/CoreFoundation/index.html | 2 +- core/sys/darwin/Foundation/index.html | 2 +- core/sys/darwin/Security/index.html | 2 +- core/sys/darwin/index.html | 2 +- core/sys/freebsd/index.html | 2 +- core/sys/haiku/index.html | 2 +- core/sys/info/index.html | 2 +- core/sys/kqueue/index.html | 2 +- core/sys/linux/index.html | 2 +- core/sys/orca/index.html | 2 +- core/sys/posix/index.html | 2 +- core/sys/unix/index.html | 2 +- core/sys/valgrind/index.html | 2 +- core/sys/windows/index.html | 2 +- core/testing/index.html | 2 +- core/text/edit/index.html | 2 +- core/text/i18n/index.html | 2 +- core/text/match/index.html | 2 +- core/text/regex/common/index.html | 2 +- core/text/regex/compiler/index.html | 2 +- core/text/regex/index.html | 2 +- core/text/regex/optimizer/index.html | 2 +- core/text/regex/parser/index.html | 2 +- core/text/regex/tokenizer/index.html | 2 +- core/text/regex/virtual_machine/index.html | 2 +- core/text/scanner/index.html | 2 +- core/text/table/index.html | 2 +- core/thread/index.html | 2 +- core/time/datetime/index.html | 2 +- core/time/index.html | 2 +- core/time/timezone/index.html | 2 +- core/unicode/index.html | 2 +- core/unicode/utf16/index.html | 2 +- core/unicode/utf8/index.html | 2 +- core/unicode/utf8/utf8string/index.html | 2 +- pkg-data.js | 76588 +++++++++---------- vendor/ENet/index.html | 2 +- vendor/OpenEXRCore/index.html | 2 +- vendor/OpenGL/index.html | 2 +- vendor/box2d/index.html | 2 +- vendor/cgltf/index.html | 2 +- vendor/commonmark/index.html | 2 +- vendor/darwin/Metal/index.html | 2 +- vendor/darwin/MetalKit/index.html | 2 +- vendor/darwin/QuartzCore/index.html | 2 +- vendor/directx/d3d11/index.html | 2 +- vendor/directx/d3d12/index.html | 2 +- vendor/directx/d3d_compiler/index.html | 2 +- vendor/directx/dxc/index.html | 2 +- vendor/directx/dxgi/index.html | 2 +- vendor/fontstash/index.html | 2 +- vendor/ggpo/index.html | 2 +- vendor/glfw/bindings/index.html | 2 +- vendor/glfw/index.html | 2 +- vendor/lua/5.4/index.html | 2 +- vendor/microui/index.html | 2 +- vendor/miniaudio/index.html | 2 +- vendor/nanovg/gl/index.html | 2 +- vendor/nanovg/index.html | 2 +- vendor/portmidi/index.html | 2 +- vendor/raylib/index.html | 2 +- vendor/sdl2/image/index.html | 2 +- vendor/sdl2/index.html | 2 +- vendor/sdl2/mixer/index.html | 2 +- vendor/sdl2/net/index.html | 2 +- vendor/sdl2/ttf/index.html | 2 +- vendor/stb/easy_font/index.html | 2 +- vendor/stb/image/index.html | 2 +- vendor/stb/rect_pack/index.html | 2 +- vendor/stb/truetype/index.html | 2 +- vendor/stb/vorbis/index.html | 2 +- vendor/vulkan/index.html | 2 +- vendor/wgpu/index.html | 2 +- vendor/zlib/index.html | 2 +- 182 files changed, 38659 insertions(+), 38659 deletions(-) diff --git a/base/builtin/index.html b/base/builtin/index.html index 13cf5bc6c9..1b85278305 100644 --- a/base/builtin/index.html +++ b/base/builtin/index.html @@ -241,36 +241,19 @@

Index

  • soa_unzip
  • raw_data
  • runtime.container_of
  • -
  • runtime.raw_soa_footer_slice
  • runtime.init_global_temporary_allocator
  • runtime.copy_slice
  • -
  • runtime.raw_soa_footer_dynamic_array
  • runtime.copy_from_string
  • -
  • runtime.make_soa_aligned
  • -
  • runtime.make_soa_slice
  • -
  • runtime.make_soa_dynamic_array
  • -
  • runtime.make_soa_dynamic_array_len
  • runtime.unordered_remove
  • -
  • runtime.make_soa_dynamic_array_len_cap
  • runtime.ordered_remove
  • -
  • runtime.resize_soa
  • runtime.remove_range
  • -
  • runtime.non_zero_resize_soa
  • -
  • runtime.reserve_soa
  • -
  • runtime.non_zero_reserve_soa
  • runtime.pop
  • runtime.pop_safe
  • -
  • runtime.append_soa_elem
  • runtime.pop_front
  • -
  • runtime.non_zero_append_soa_elem
  • runtime.pop_front_safe
  • -
  • runtime.append_soa_elems
  • -
  • runtime.non_zero_append_soa_elems
  • runtime.delete_string
  • runtime.delete_cstring
  • -
  • runtime.unordered_remove_soa
  • runtime.delete_dynamic_array
  • -
  • runtime.ordered_remove_soa
  • runtime.delete_slice
  • runtime.delete_map
  • runtime.new
  • @@ -314,6 +297,23 @@

    Index

  • runtime.assert_contextless
  • runtime.panic_contextless
  • runtime.unimplemented_contextless
  • +
  • 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
  • @@ -323,17 +323,13 @@

    Index

    Procedure Groups (19) @@ -1500,12 +1500,6 @@

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

    init_global_temporary_allocator ¶

    init_global_temporary_allocator :: proc(size: int, backup_allocator := context.allocator) {…}
    @@ -1525,12 +1519,6 @@

    copy_slice

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

    copy_from_string ¶

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

    -

    make_soa_aligned ¶

    -
    -
    make_soa_aligned :: proc($T: typeid/#soa[]T, #any_int length, #any_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, #any_int 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 {…}
    -
    -
    -

    unordered_remove ¶

    unordered_remove :: proc(array: ^$T/[dynamic]$T, #any_int index: int, loc := #caller_location) {…}
    @@ -1582,12 +1546,6 @@

    -

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

    ordered_remove ¶

    ordered_remove :: proc(array: ^$T/[dynamic]$T, #any_int index: int, loc := #caller_location) {…}
    @@ -1601,12 +1559,6 @@

    orde

    -

    resize_soa ¶

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

    remove_range ¶

    remove_range :: proc(array: ^$T/[dynamic]$T, #any_int lo, #any_int hi: int, loc := #caller_location) {…}
    @@ -1619,24 +1571,6 @@

    remove_r

    -

    non_zero_resize_soa ¶

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

    reserve_soa ¶

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

    non_zero_reserve_soa ¶

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

    pop ¶

    pop :: proc(array: ^$T/[dynamic]$T, loc := #caller_location) -> (res: $T) {…}
    @@ -1659,12 +1593,6 @@

    pop_safe

    -

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

    pop_front ¶

    pop_front :: proc(array: ^$T/[dynamic]$T, loc := #caller_location) -> (res: $T) {…}
    @@ -1676,12 +1604,6 @@

    pop_front

    -

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

    pop_front_safe ¶

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

    pop_

    -

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

    delete_string ¶

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

    dele

    -

    unordered_remove_soa ¶

    -
    -
    unordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, #any_int 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.

    -
    -
    -

    delete_dynamic_array ¶

    delete_dynamic_array :: proc(array: $T/[dynamic]$T, loc := #caller_location) -> Allocator_Error {…}
    @@ -1752,19 +1648,6 @@

    -

    ordered_remove_soa ¶

    -
    -
    ordered_remove_soa :: proc(array: ^$T/#soa[dynamic]$T, #any_int 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_slice ¶

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

    unimplemented_contextless :: proc "contextless" (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, #any_int length, #any_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, #any_int 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, #any_int length: int, loc := #caller_location) -> Allocator_Error {…}
    +
    +
    +
    +

    non_zero_resize_soa ¶

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

    reserve_soa ¶

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

    non_zero_reserve_soa ¶

    +
    +
    non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$T, #any_int 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, #any_int 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, #any_int 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

    -

    clear ¶

    clear :: proc{
    @@ -2206,20 +2194,6 @@ 

    resize -

    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

    -
    -

    -

    non_zero_resize ¶

    non_zero_resize :: proc{
    @@ -2257,25 +2231,6 @@ 

    free -

    delete_soa ¶

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

    -
    -

    clear_soa ¶

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

    free_all ¶

    free_all :: proc{
    @@ -2386,6 +2341,51 @@ 

    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,
    +}
    +
    +
    +