TypeInfoStructMember :: struct {
    name: string;
    base_type: *TypeInfo;
    offset_bytes: s32;
    index: s32;
    tags: s32;
    is_base: bool;

Detailed information about structure member.


name - Member type name.

base_type - Member type info.

offset_bytes - Byte-offset of member inside structure ABI.

index - Order in structure.

tags - User tags contains merge of all tag values assigned to member in structure declaration. Basically tags behave like a flags value, merge is done by binary or of all defined tag values. User tags can be defined by #tags hash directive written after member type in following way:

Foo :: struct {
    i: s32 #tags TAG1;
    j: s32 #tags TAG1, TAG2;

Where tags must be compile-time constant of s32 type.

TAG1 :: 0x1;
TAG2 :: 0x2;

is_base - True when member is inherrited base of the parent structure type.

Declared in: a.bl