"Most" virtual tables include two components: a Python
.spec file in
./specs and a C++ implementation file in
./tables. This works well for (1) writing tooling to parse and build documentation from spec files; (2) decoupling the table model from each platform's implementation; (3) including additional non-code details about tables that does not bloat resulting binaries or require compiling/binary tooling to remove.
However it adds an increasing amount of complexity as each new virtual table feature requires spec extensions, template and parsing modifications, then structure and class references in C++. There is a considerable amount of tooling in CMake and Python to perform the meta-programming too.
It is time to remove this debt and solve the niceties within C++. At the same time, table implementations should become class members to allow future improvements to and data representation optimizations.