Variant module

get_pointer

procedureextensionsince 0.29.0Source

A pointer to the T payload inside the variant, or null when another case is live. It stays valid until the variant is set again, freed or moved.

Example↗
#import "Extensions/Variant";

id := variant(Variant(s64, string), cast(s64) 1);
number := get_pointer(*id, s64);
number.* += 1;
assert(unwrap(id, s64) == 2);
assert(get_pointer(*id, string) == null);
get_pointer :: (v: *$V/Variant, $T: Type) -> *T

Parameters

v: *$V/Variant
$T: Type

Returns

*T

See also