Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
C++ basic Archetype & Component logging (#2874)
* Part of #2647 * Next step after #2820 ### What Introduces APIs for component and archetype logging as well as the necessary methods in codegen to do so. A very basic example is included in `main.cpp`. Largely unrelated to the rest: * Makes C++ tagged union types copy-able * `to_arrow_datatype` constructs/allocates the datatype lazily exactly once (using C++'s crazy local `static` variable guarantees) Commit by commit review possible. ![image](https://github.com/rerun-io/rerun/assets/1220815/8e7fdf3a-4fe7-45b1-a835-463b13fc34d8) Next steps: * Add roundtrip tests * Add C++ to ci (roundtrip, linting, etc.) * Add codegen custom code injection * Improve API usability in varous places, including #2873 * add other tests * serialize unions * serialize datatypes nested in unions, structs and lists * more testing & roundtripping ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2874) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/2874) - [Docs preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp-codegen%2Farchetype-builder-and-logging/docs) - [Examples preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp-codegen%2Farchetype-builder-and-logging/examples)
- Loading branch information