add alloc copy slice
This commit is contained in:
parent
ca5e84f8b9
commit
2af4a29314
24
alloc.d
24
alloc.d
@ -90,6 +90,14 @@ AllocCopy(T)(T[] target)
|
||||
return arr;
|
||||
}
|
||||
|
||||
T[]
|
||||
AllocCopySlice(T)(T[] target, u64 start, u64 len)
|
||||
{
|
||||
T[] arr = Alloc!(T)(len);
|
||||
arr[0 .. $] = target[start .. start+len];
|
||||
return arr;
|
||||
}
|
||||
|
||||
T[]
|
||||
AllocArray(T)(u64 count)
|
||||
{
|
||||
@ -218,6 +226,14 @@ AllocCopy(T)(Arena* arena, T[] target)
|
||||
return arr;
|
||||
}
|
||||
|
||||
T[]
|
||||
AllocCopySlice(T)(Arena* arena, T[] target, u64 start, u64 len)
|
||||
{
|
||||
T[] arr = Alloc!(T)(arena, len);
|
||||
arr[0 .. $] = target[start .. start+len];
|
||||
return arr;
|
||||
}
|
||||
|
||||
T*
|
||||
Alloc(T)(Arena* arena)
|
||||
{
|
||||
@ -330,6 +346,14 @@ ScratchAllocCopy(T)(T[] target)
|
||||
return arr;
|
||||
}
|
||||
|
||||
T[]
|
||||
ScratchAllocCopySlice(T)(T[] target, u64 start, u64 len)
|
||||
{
|
||||
T[] arr = ScratchAlloc!(T)(len);
|
||||
arr[0 .. $] = target[start .. start+len];
|
||||
return arr;
|
||||
}
|
||||
|
||||
unittest
|
||||
{
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user