|
@@ -135,7 +135,7 @@ make_soa_aligned :: proc($T: typeid/#soa[]$E, length: int, alignment: int, alloc
|
|
}
|
|
}
|
|
|
|
|
|
@(builtin, require_results)
|
|
@(builtin, require_results)
|
|
-make_soa_slice :: proc($T: typeid/#soa[]$E, length: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_allocator_error {
|
|
|
|
|
|
+make_soa_slice :: proc($T: typeid/#soa[]$E, #any_int length: int, allocator := context.allocator, loc := #caller_location) -> (array: T, err: Allocator_Error) #optional_allocator_error {
|
|
return make_soa_aligned(T, length, align_of(E), allocator, loc)
|
|
return make_soa_aligned(T, length, align_of(E), allocator, loc)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -172,7 +172,7 @@ make_soa :: proc{
|
|
|
|
|
|
|
|
|
|
@builtin
|
|
@builtin
|
|
-resize_soa :: proc(array: ^$T/#soa[dynamic]$E, length: int, loc := #caller_location) -> Allocator_Error {
|
|
|
|
|
|
+resize_soa :: proc(array: ^$T/#soa[dynamic]$E, #any_int length: int, loc := #caller_location) -> Allocator_Error {
|
|
if array == nil {
|
|
if array == nil {
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
@@ -183,7 +183,7 @@ resize_soa :: proc(array: ^$T/#soa[dynamic]$E, length: int, loc := #caller_locat
|
|
}
|
|
}
|
|
|
|
|
|
@builtin
|
|
@builtin
|
|
-non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$E, length: int, loc := #caller_location) -> Allocator_Error {
|
|
|
|
|
|
+non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$E, #any_int length: int, loc := #caller_location) -> Allocator_Error {
|
|
if array == nil {
|
|
if array == nil {
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
@@ -194,12 +194,12 @@ non_zero_resize_soa :: proc(array: ^$T/#soa[dynamic]$E, length: int, loc := #cal
|
|
}
|
|
}
|
|
|
|
|
|
@builtin
|
|
@builtin
|
|
-reserve_soa :: proc(array: ^$T/#soa[dynamic]$E, capacity: int, loc := #caller_location) -> Allocator_Error {
|
|
|
|
|
|
+reserve_soa :: proc(array: ^$T/#soa[dynamic]$E, #any_int capacity: int, loc := #caller_location) -> Allocator_Error {
|
|
return _reserve_soa(array, capacity, true, loc)
|
|
return _reserve_soa(array, capacity, true, loc)
|
|
}
|
|
}
|
|
|
|
|
|
@builtin
|
|
@builtin
|
|
-non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$E, capacity: int, loc := #caller_location) -> Allocator_Error {
|
|
|
|
|
|
+non_zero_reserve_soa :: proc(array: ^$T/#soa[dynamic]$E, #any_int capacity: int, loc := #caller_location) -> Allocator_Error {
|
|
return _reserve_soa(array, capacity, false, loc)
|
|
return _reserve_soa(array, capacity, false, loc)
|
|
}
|
|
}
|
|
|
|
|