voyager
voyager copied to clipboard
C++ improvements
Description
In this PR we will:
- Clean up the C++ module structure
- Add CMake for standalone C++ compilation
- Improve formatting within the c++ module
- Add doctest testing framework for C++ unit tests
- Note: Right now we have a single test. In order to properly utilize DocTest we need to first provide namespacing for this library as per #52 -- otherwise we run into issues with ambiguous function calls during doctest stringification.
- Update documentation to be more comprehensive around building, testing, etc.
- Add a github pull request template :)
Changes Made
C++
Main changes:
- Break
cpp
dir intosrc
andtest
directories - Add cmake and documentation around it
- Add an initial test
- Run clang-format with new 120 line length standard
Python
- Remove c++ formatting of python bindings from tox
- Remove
voyager-headers
link since it doesn't seem to be needed - Update location of C++ files
Java
- Update location of C++ files
- Run formatter
- Update docs
Testing
Checklist
- [x] My code follows the code style of this project.
- [x] I have added and/or updated appropriate documentation (if applicable).
- [x] All new and existing tests pass locally with these changes.
- [x] I have run static code analysis (if available) and resolved any issues.
- [x] I have considered backward compatibility (if applicable).
- [x] I have confirmed that this PR does not introduce any security vulnerabilities.
Additional Comments
without any pressure - is there a timeframe for merging this? just asking for our own planning on when to start integrating these changes
just a friendly ping - any update on this? do you think it makes sense for potential users to start picking up your branch directly instead of waiting for this to be merged? @markkohdev
This should help us get closer to solving #11 and #3 (although we may address this first in the Java bindings)