structstd.zig.Zir.DeclIterator[src]

Fields

extra_index: u32
decls_remaining: u32
zir: Zir

Functions

Functionnext[src]

pub fn next(it: *DeclIterator) ?Inst.Index

Parameters

Source Code

Source code
pub fn next(it: *DeclIterator) ?Inst.Index {
    if (it.decls_remaining == 0) return null;
    const decl_inst: Zir.Inst.Index = @enumFromInt(it.zir.extra[it.extra_index]);
    it.extra_index += 1;
    it.decls_remaining -= 1;
    assert(it.zir.instructions.items(.tag)[@intFromEnum(decl_inst)] == .declaration);
    return decl_inst;
}

Source Code

Source code
pub const DeclIterator = struct {
    extra_index: u32,
    decls_remaining: u32,
    zir: Zir,

    pub fn next(it: *DeclIterator) ?Inst.Index {
        if (it.decls_remaining == 0) return null;
        const decl_inst: Zir.Inst.Index = @enumFromInt(it.zir.extra[it.extra_index]);
        it.extra_index += 1;
        it.decls_remaining -= 1;
        assert(it.zir.instructions.items(.tag)[@intFromEnum(decl_inst)] == .declaration);
        return decl_inst;
    }
}