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;
|
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[]
|
T[]
|
||||||
AllocArray(T)(u64 count)
|
AllocArray(T)(u64 count)
|
||||||
{
|
{
|
||||||
@ -218,6 +226,14 @@ AllocCopy(T)(Arena* arena, T[] target)
|
|||||||
return arr;
|
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*
|
T*
|
||||||
Alloc(T)(Arena* arena)
|
Alloc(T)(Arena* arena)
|
||||||
{
|
{
|
||||||
@ -330,6 +346,14 @@ ScratchAllocCopy(T)(T[] target)
|
|||||||
return arr;
|
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
|
unittest
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user