So this turned out to be much more challenging than expected, due to the fact that, with this design, typing information is only available at compile-time. The key trick was to use a ''double-dispatch'' based on a generic lambda. In the end, this could be rounded out to be self-contained library helper, which is even fully copyable and assignable and properly invokes all payload constructors and destructors. The flip side is that such a design is obviously very flexible and direct regarding the parser model-bindings, and it should be fairly well optimisable, since the structure is entirely static and without any virtual dispatch. Proper handling of payload lifecycle was verified using a tracking test object with checksum.
8.9 MiB
8.9 MiB
| The file is too large to be shown. |