DoxigAlpha

toOwnedSlice

The caller owns the returned memory. Empties this ArrayList. Its capacity is cleared, making deinit() safe but unnecessary to call.

Function parameters

Parameters

#
self:*Self

Deprecated.

Functions

#
Managed
Deprecated.
AlignedManaged
Deprecated.
Aligned
A contiguous, growable list of arbitrarily aligned items in memory.

Source

Implementation

#
pub fn toOwnedSlice(self: *Self, gpa: Allocator) Allocator.Error!Slice {
    const old_memory = self.allocatedSlice();
    if (gpa.remap(old_memory, self.items.len)) |new_items| {
        self.* = .empty;
        return new_items;
    }

    const new_memory = try gpa.alignedAlloc(T, alignment, self.items.len);
    @memcpy(new_memory, self.items);
    self.clearAndFree(gpa);
    return new_memory;
}