-
Notifications
You must be signed in to change notification settings - Fork 2
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
Implement Map wrapper over raw node operations #12
Labels
enhancement
New feature or request
Comments
declanvk
added a commit
that referenced
this issue
Nov 17, 2022
**Description** Implements most of issue #12. This change introduces a new module that contains a safe wapper over the unsafe node APIs. It is based directly on the API of the BTreeMap that is present in the standard library. Some function are not implemented, currently they are marked with `todo!()`. Also added in a fuzz target which covers the integration of the raw node APIs into the safe wrapper. **Motivation** This change is needed so that this crate can be useful to people without forcing them to use lots of unsafe functions. This wrapper takes care of enforcing safety conditions and matches most expecations around which APIs a map container should provide. **Testing Done** - `cargo test` - `cargo miri test` - `cargo clippy` - `cargo fuzz run fuzz_tree_map_api` - `cargo doc`
Needs examples in doc comments for all APIs. |
declanvk
added a commit
that referenced
this issue
Nov 17, 2022
**Description** Implements most of issue #12. This change introduces a new module that contains a safe wapper over the unsafe node APIs. It is based directly on the API of the BTreeMap that is present in the standard library. Some function are not implemented, currently they are marked with `todo!()`. Also added in a fuzz target which covers the integration of the raw node APIs into the safe wrapper. **Motivation** This change is needed so that this crate can be useful to people without forcing them to use lots of unsafe functions. This wrapper takes care of enforcing safety conditions and matches most expecations around which APIs a map container should provide. **Testing Done** - `cargo test` - `cargo miri test` - `cargo clippy` - `cargo fuzz run fuzz_tree_map_api` - `cargo doc`
declanvk
changed the title
Implement Map/Set wrapper over raw node operations
Implement Map wrapper over raw node operations
Nov 18, 2022
Remaining work after 543d273 was merged:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Problem
OpaqueNotePtr<V>
type.unsafe
blocks and fulfilling some of those requirements.BTreeMap
andBTreeSet
types from the standard library.Solution Sketch
BTreeMap
andBTreeSet
and update the types and parameters.Standard Library
BTreeMap
API OutlineThe text was updated successfully, but these errors were encountered: