-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial support for serialization #30
base: master
Are you sure you want to change the base?
Conversation
This is part of adding basic write support to the C++ runtime.
d853591
to
aea9971
Compare
This should be enough to enable serialization of very basic seqs for the C++ code generator in the future.
aea9971
to
b2f126c
Compare
Because unit tests hardcode the paths to the cpp files in the runtime, it is necessary to patch the test CMakeLists files.
For me locally, there are some tests that do not compile and one test that fails at master. However, that happens exactly the same regardless of whether I am using this version of the runtime or not, and are evidently fairly unrelated errors, so this PR is probably not broken. Alternative solutions:
|
Hello, Any hope to see these merged in Kaitai someday ? This would pave the way for fixing an old issue in Mixxx (here). Regards, |
@JPenuchot: For what it's worth, this would only implement runtime primitives necessary for adding basic serialization support into Kaitai Struct for C++. Merging this would be a start, but we would also need to add support into the Kaitai Struct code generation portion as well. |
Implements write support for some of the primitives, at least enough to write basic seqs. The API had to be shifted over a bit, but it should be API compatible, though this certainly breaks ABI compatibility. Does this matter? Is there any kind of major version bump to do? I do not think there is a practical way to avoid the ABI compatibility issue.
Currently the code here seems to build just fine, but I'm putting this PR in draft mode since I desire to do more testing and make sure it compiles with existing generated code.
Fixes #29.