NativeAlloc<C extends NativeType> class abstract

A slot-based temporary memory allocator for a single native type C.

Manages a named collection of Pointer<C> slots identified by string keys. Each slot owns its allocation; slots are freed either manually via Free or automatically when _dispose is called.

Subclasses specialise this for literal values, structs, strings, etc.

Inheritance
Implementers

Constructors

NativeAlloc(RaylibTemp temp, String name, {required int byteSize, required Pointer<C> allocatorFunc([int count]), required String printerFunc(Pointer<C> ptr)})

Properties

allocatorFunc Pointer<C> Function([int count])
Allocates count elements and returns the raw source pointer.
finalinherited
byteSize int
Size in bytes of a single element this allocator manages.
finalinherited
freeFunc → void Function(Pointer<C> ptr)
Frees the memory at ptr.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
isPointerNull bool Function(Pointer<C> ptr)
Returns true if ptr is null or zero.
finalinherited
name String
Debug name for this allocator, used in logging and diagnostics.
finalinherited
nullptrFactory Pointer<C> Function()
Returns a null/zero pointer of type P.
finalinherited
pointerFactory Pointer<C> Function(Pointer<C> ptr)
Wraps a source pointer ptr into the platform pointer type P.
finalinherited
pointerToSource Pointer<C> Function(Pointer<C> ptr)
Unwraps a platform pointer ptr back to its source type S.
finalinherited
printerFunc String Function(Pointer<C> ptr)
Returns a human-readable string representation of ptr.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
slots Map<String, (Pointer<C>, int)>
Active allocation slots, keyed by slot name. Each entry holds the pointer and its element count.
finalinherited
temp RaylibTemp
finalinherited

Methods

At(String key, [int count = 1]) Pointer<C>
Returns the P stored in key, allocating (or reallocating) if necessary.
inherited
AtUnique(String key, [int count = 1]) Pointer<C>
Allocates (or reuses) a slot identified by a unique key suffix.
inherited
dispose() → void
Frees all currently tracked slots and clears the slot table.
inherited
Free(String key) → void
Frees the native memory owned by slot key and removes it from the table.
inherited
Has(String key) bool
Returns true if a slot with the given key exists.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
Raw([int count = 1]) Pointer<C>
Allocates count raw elements and returns the wrapped pointer.
inherited
signature() String
Returns a string that identifies the concrete type of this allocator, including its type parameters.
inherited
Size([int count = 1]) int
Returns the total byte size for count elements.
inherited
Slot(String key) Pointer<C>?
Returns the pointer stored under key, or null if the slot does not exist. Does not allocate.
inherited
slotKey([String? key]) String
Returns the canonical slot key for key, falling back to 'struct' when key is null.
inherited
toString() String
A string representation of this object.
inherited
uniqueSlotKey(String key) String
Returns a slot key guaranteed to be unique within this temp context, by prefixing key with the next available ID.
inherited
Unslot(String key) → void
Removes the slot entry for key from the table without freeing the underlying memory.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited