Interface AstVector<Name, Item>

Stores multiple Ast objects

const vector = new AstVector<Bool>();
vector.push(Bool.val(5));
vector.push(Bool.const('x'))

vector.length
// 2
vector.get(1)
// x
[...vector.values()]
// [2, x]
interface AstVector<
    Name extends string = "main",
    Item extends Ast<Name> = AnyAst<Name>,
> {
    ctx: Context<Name>;
    ptr: Z3_ast_vector;
    "[iterator]"(): Iterator<Item, any, any>;
    entries(): IterableIterator<[number, Item], any, any>;
    get(i: number): Item;
    get(from: number, to: number): Item[];
    has(v: Item): boolean;
    keys(): IterableIterator<number, any, any>;
    length(): number;
    push(v: Item): void;
    resize(size: number): void;
    set(i: number, v: Item): void;
    sexpr(): string;
    values(): IterableIterator<Item, any, any>;
}

Type Parameters

  • Name extends string = "main"
  • Item extends Ast<Name> = AnyAst<Name>

Hierarchy

  • Iterable<Item>
    • AstVector

Properties

ptr: Z3_ast_vector

Methods

  • Returns Iterator<Item, any, any>