**Referenced by**:
, [`{{ struct.name }}.{{ field.name }}`](#{{ struct.name }}.{{ field.name }})
{{ " " * indentation * 2 }}- `{{name}}`: {{ struct | type_name }}
{{emit_index(field.resolved_type, indentation + 1, field.name)}}
{{emit_index(field.resolved_type.base, indentation + 1, field.name)}}
{{emit_index(field.resolved_type.element_type, indentation + 1, field.name)}}
{{emit_index(field.resolved_type.element_type.base, indentation + 1, field.name)}}
{{header}} `{{ struct.name }}`
{{struct.doc}}
**Inherits from**: {{struct.inherits | type_name}}
**Key**: , `{{field.name}}`
**Inheritors**: , {{inheritor | type_name}}
{{ references(struct) }}
{{process_struct(inheritor, "####")}}
**Fields**:
- `{{field.name}}` ({{field.resolved_type | type_name}}).
{{field.doc | indent(2) }}
### `{{ enum.name }}`
{{enum.doc}}
**Members**:
- `{{member.name}}`
{{member.doc | indent(2) }}
{{ references(enum) }}
## Data structures
Types reachable from the root:
{{ emit_index(struct, 0, "") }}
Inheritors of `{{struct.name}}`:
{{ emit_index(inheritor, 0, "") }}
{{ process_struct(struct, "###") }}
{{ process_struct(struct, "###") }}
## Enumerations
{{ process_enum(enum) }}