PointerCodec<E, R extends RType> class

A single pointer to one E value.

type is the RPointer<R> describing the pointer field itself; inner decodes whatever the pointer points to.

Two unrelated "array-ish" abilities live here:

  • readArray/writeArray operate on a contiguous array of pointer slots, e.g. void* xs[8].

  • readAt/writeAt index into the array pointed to by a single pointer, e.g. T* xs.

Inheritance
Mixed-in types

Constructors

PointerCodec(RPointer<R> type, ElementCodec<E, R> inner)
const

Properties

hashCode → int
The hash code for this object.
no setterinherited
inner → ElementCodec<E, R>
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
type → RPointer<R>
finalinherited

Methods

allocate(RaylibTemp<RaylibBase> temp, MemoryPointer<RType> p, String key, {int count = 1, bool raw = false}) → void
override
allocator(RaylibTemp<RaylibBase> temp) → RaylibTempAllocator<RType>?
override
deref<Y extends RType>(MemoryPointer<RType> p) → MemoryPointer<Y>
elementPtr(MemoryPointer<RType> fieldPtr, int index) → MemoryPointer<R>
Address of element index in the array pointed to by this pointer, given the address of the pointer slot (fieldPtr). Dereferences fieldPtr for you, then delegates to elementPtrFrom.
elementPtrFrom(MemoryPointer<RType> derefedBase, int index) → MemoryPointer<R>
Address of element index, given a pointer value you've already dereferenced or otherwise resolved (e.g. via pointerElementPtr).
isValid(MemoryPointer<RType> p) → bool
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pointerElementPtr(MemoryPointer<RType> fieldPtr, int index) → MemoryPointer<R>
Address stored in pointer slot index. For T** p, this is p[index], itself a T*. Intentionally different from elementPtr/elementPtrFrom.
read(MemoryPointer<RType> p) → E
override
readArray(MemoryPointer<RType> p, int count) → List<E>
override
readAt(MemoryPointer<RType> fieldPtr, int index) → E
readSafe(MemoryPointer<RType> p, E fallback) → E
toString() → String
A string representation of this object.
inherited
write(MemoryPointer<RType> p, E value) → void
override
writeArray(MemoryPointer<RType> p, List<E> values) → void
override
writeAt(MemoryPointer<RType> fieldPtr, int index, E value) → E
writeSafe(MemoryPointer<RType> p, E value) → void

Operators

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