Skip to main content

Module variant_ops

Module variant_ops 

Source
Expand description

Variant operations for Seq

Provides runtime functions for accessing variant fields, tags, and metadata, for building variants of small fixed arities, and for functional-style append/init/last updates plus field unpacking for pattern matches.

Re-exports§

pub use patch_seq_make_variant_0 as make_variant_0;
pub use patch_seq_make_variant_1 as make_variant_1;
pub use patch_seq_make_variant_2 as make_variant_2;
pub use patch_seq_make_variant_3 as make_variant_3;
pub use patch_seq_make_variant_4 as make_variant_4;
pub use patch_seq_make_variant_5 as make_variant_5;
pub use patch_seq_make_variant_6 as make_variant_6;
pub use patch_seq_make_variant_7 as make_variant_7;
pub use patch_seq_make_variant_8 as make_variant_8;
pub use patch_seq_make_variant_9 as make_variant_9;
pub use patch_seq_make_variant_10 as make_variant_10;
pub use patch_seq_make_variant_11 as make_variant_11;
pub use patch_seq_make_variant_12 as make_variant_12;
pub use patch_seq_unpack_variant as unpack_variant;
pub use patch_seq_variant_append as variant_append;
pub use patch_seq_variant_field_at as variant_field_at;
pub use patch_seq_variant_field_count as variant_field_count;
pub use patch_seq_variant_init as variant_init;
pub use patch_seq_variant_last as variant_last;
pub use patch_seq_variant_tag as variant_tag;

Functions§

patch_seq_make_variant_0
Create a variant with 0 fields (just a tag)
patch_seq_make_variant_1
Create a variant with 1 field
patch_seq_make_variant_2
Create a variant with 2 fields
patch_seq_make_variant_3
Create a variant with 3 fields
patch_seq_make_variant_4
Create a variant with 4 fields
patch_seq_make_variant_5
Create a variant with 5 fields
patch_seq_make_variant_6
Create a variant with 6 fields
patch_seq_make_variant_7
Create a variant with 7 fields
patch_seq_make_variant_8
Create a variant with 8 fields
patch_seq_make_variant_9
Create a variant with 9 fields
patch_seq_make_variant_10
Create a variant with 10 fields
patch_seq_make_variant_11
Create a variant with 11 fields
patch_seq_make_variant_12
Create a variant with 12 fields
patch_seq_symbol_eq_cstr
Compare a symbol tag with a C string literal
patch_seq_unpack_variant
Unpack a variant’s fields onto the stack
patch_seq_variant_append
Append a value to a variant, returning a new variant
patch_seq_variant_field_at
Get a field from a variant at the given index
patch_seq_variant_field_count
Get the number of fields in a variant
patch_seq_variant_init
Get all but the last field from a variant
patch_seq_variant_last
Get the last field from a variant
patch_seq_variant_tag
Get the tag of a variant