Base Table Type
A Base Table is the common supertype shared by Table and Lookup Table: both are subtypes of Base Table Type, so a Table or a Lookup Table can be connected directly to any port declared as Base Table Type, with no conversion involved. It exists purely to let a functor accept either shape generically — Number Table, Get Table Info, and Get Table Keys all take a Base Table Type input specifically so they work the same way whether they're given a Table or a Lookup Table.
There is no dedicated carrier functor for Base Table Type, and no way to hold one as a standalone value — a Base Table always begins life as an actual Table or Lookup Table; “Base Table” is only ever the port's declared type, not something separately constructed.
GUI Editor
Base Table Type ports are non-editable — no port anywhere in the interface is declared as Base Table Type and also editable. A value only reaches one by being a Table or Lookup Table connected in from elsewhere.
EGO Script
For the same reason, Base Table Type has no literal constant syntax in EGO Script — see Constants. Any variable bound to a Table or Lookup Table can be passed directly wherever a Base Table Type input is expected:
landCover := Table [ "Category*", "Area", 1, 450.2, 2, 129.8 ]; // landCover satisfies the BaseTable input directly -- it's a Table, and // Table is a subtype of Base Table Type, so nothing needs to convert. info := GetTableInfo landCover;
Automatic Conversions
- Converted from: Table Type and Lookup Table Type — this is subtyping: both are already, structurally, a Base Table, so no conversion logic runs. Lookup Table Group Type.
- Converted to: Table Type and Lookup Table Type — each can fail, since Base Table Type is a generic container and these only succeed if what it actually holds is already shaped like the target.
See Type System for the complete conversion reference across all types.