A typed, consteval-validated face over one DynTable: the table itself stays fully generic (every column decodes, byte-perfect round-trip holds); this projects rows into Record values, copies edits back, and hands out zero-copy typed column spans.
More...
|
| DynTable & | table () |
| | The generic table under this face — decode/encode/validation and the generic cell accessors all live there; this class only TYPES rows.
|
| const DynTable & | table () const |
| | The generic table under this face — decode/encode/validation and the generic cell accessors all live there; this class only TYPES rows.
|
| Result< void > | read (std::span< const std::byte > data) |
| | Decode a table file image (sugar for table().read).
|
| Result< FileBuffer > | write (EncryptedPolicy policy=EncryptedPolicy::Preserve) const |
| | Serialize (sugar for table().write).
|
| std::vector< Record > | load () const |
| | Materialize every row as a Record — the projection copies only the declared columns, row-major and contiguous (the hot-loop shape).
|
| void | writeBack (const std::vector< Record > &records) |
| | Replace the table's rows from records.
|
| template<detail::FixedString Name> |
| auto | column () const |
| | The zero-copy typed span of scalar column Name (rows x 1; array and string columns read through load or the generic view).
|
template<TableRecord Record>
class wowlib::db::TypedTable< Record >
A typed, consteval-validated face over one DynTable: the table itself stays fully generic (every column decodes, byte-perfect round-trip holds); this projects rows into Record values, copies edits back, and hands out zero-copy typed column spans.
- Template Parameters
-
| Record | a TableRecord -shaped struct whose members name a subset of the table's era columns. |
Definition at line 155 of file typed.hpp.