DoxigAlpha

Fields of this type

Fields

#
len:usize
metadata:[*]const Metadata
items:[*]T

Functions in this namespace

Functions

#

Source

Implementation

#
fn FieldIterator(comptime T: type) type {
    return struct {
        len: usize,
        metadata: [*]const Metadata,
        items: [*]T,

        pub fn next(self: *@This()) ?*T {
            while (self.len > 0) {
                self.len -= 1;
                const used = self.metadata[0].isUsed();
                const item = &self.items[0];
                self.metadata += 1;
                self.items += 1;
                if (used) {
                    return item;
                }
            }
            return null;
        }
    };
}