Struct StructuralMutatorVTable#

Struct Documentation#

struct StructuralMutatorVTable#

VTable ABI for StructuralMutator dispatch.

Public Members

FStructuralMutate mutate = nullptr#

Mutate a value without modifying the source in place.

Param mutator:

The active structural mutator.

Param value:

The borrowed value to mutate.

Return:

Raw TVMFFIAny carrying a replacement, the unchanged marker, or Error.

FStructuralMutate maybe_inplace_mutate = nullptr#

Mutate a value, permitting an in-place implementation when it is safe.

The returned value may refer to the same object as value when the implementation mutates that object in place.

Param mutator:

The active structural mutator.

Param value:

The borrowed value to mutate.

Return:

Raw TVMFFIAny carrying a replacement, the unchanged marker, or Error.

FStructuralVarRemapGet var_remap_get = nullptr#

Look up the replacement for a variable identity.

Param mutator:

The active structural mutator.

Param var:

The borrowed variable identity to look up.

Return:

Raw TVMFFIAny carrying the owning replacement, FFI None on a miss, or Error.

FStructuralVarRemapSet var_remap_set = nullptr#

Record the replacement for a variable identity.

Param mutator:

The active structural mutator.

Param var:

The borrowed variable identity to bind.

Param mapped_value:

The borrowed replacement value.

Return:

Raw TVMFFIAny carrying None or Error.