Commit e5d76176b9
2022-11-28 03:52:18
1 parent
76c729cChanged files (1)
lib
std
lib/std/heap.zig
@@ -855,6 +855,9 @@ pub const FixedBufferAllocator = struct {
pub const ThreadSafeFixedBufferAllocator = @compileError("ThreadSafeFixedBufferAllocator has been replaced with `threadSafeAllocator` on FixedBufferAllocator");
+/// Returns a `StackFallbackAllocator` allocating using either a
+/// `FixedBufferAllocator` on an array of size `size` and falling back to
+/// `fallback_allocator` if that fails.
pub fn stackFallback(comptime size: usize, fallback_allocator: Allocator) StackFallbackAllocator(size) {
return StackFallbackAllocator(size){
.buffer = undefined,
@@ -863,6 +866,10 @@ pub fn stackFallback(comptime size: usize, fallback_allocator: Allocator) StackF
};
}
+/// An allocator that attempts to allocate using a
+/// `FixedBufferAllocator` using an array of size `size`. If the
+/// allocation fails, it will fall back to using
+/// `fallback_allocator`. Easily created with `stackFallback`.
pub fn StackFallbackAllocator(comptime size: usize) type {
return struct {
const Self = @This();