This document establishes the formal vocabulary used throughout the KUMI library to ensure consistency across API documentation, error messages, and internal implementation details.
In the context of KUMI, a distinction is made between types as stored, types as accessed, and the metadata used to describe them.
An element is the fundamental constituent type of a heterogenous container. In literature, this corresponds to the Value Type ( \( T \)) stored within a node.
A member is the functional result of a sub-object access operation, the result of a projection.
Formally, a member is an Element qualified by the value category of the container and the cv-qualifiers of the access path.
An identifier is a compile-time constant or type used as a key to resolve a specific sub-object within a structure.
A field is the combination of an Identifier and its associated Element.
A label is the external, human-readable representation (string-equivalent) associated with an Identifier or Field.
| Concept | Formal Analogy | Domain | Example |
|---|---|---|---|
| Element | Value Type | Static Type | float |
| Member | Reference/Access Type | Invocation | float const& |
| Identifier | Key / Index | Metadata | "my_data"_id |
| Field | Schema Attribute | Reflection | {id, type} pair |
| Label | Symbolic Name | User Interface | "velocity" |