Skip to content
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

refactoring: vptree arrays #48

Merged
merged 25 commits into from
Sep 13, 2023
Merged

refactoring: vptree arrays #48

merged 25 commits into from
Sep 13, 2023

Conversation

pablocael
Copy link
Owner

@pablocael pablocael commented Aug 31, 2023

This PR includes

Refactoring of the serialization system:

  • Serialization code was moved from VPTree
  • New class SerializableVPTree is created with extra templates for custom user type serializers
  • SerializedStateObject now is immutable and new classes for read/write were created
  • SerializedStateObject now uses crc32 for checksum
  • New read/writer for serialization now uses read and write in same order like a file, instead of previous push/pop which forced user to pop in reverse order
  • New reader had checks for buffer empty which will yield exception on reading with empty SerializedStateObject

Also changed:

  • The clang-format file to use cpp acces modifiers (public:, protected:) aligned to left 4 spaces back.
  • Documentation for serializers, readers, writers and SerializedStateObject
  • Several other minor bugs and improvements
  • Added new cpp tests.

.clang-format Show resolved Hide resolved
@pablocael pablocael linked an issue Sep 1, 2023 that may be closed by this pull request
pynear/__init__.py Show resolved Hide resolved
pynear/include/BuiltinSerializers.hpp Show resolved Hide resolved
pynear/include/VPTree.hpp Outdated Show resolved Hide resolved
pynear/include/crc32.hpp Show resolved Hide resolved
@pablocael pablocael merged commit 20ae652 into main Sep 13, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Prevent multiple data copies by using move operator
2 participants