Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paurkedal/ocaml-radixmap
Map à la Binary Radix Tree
https://github.com/paurkedal/ocaml-radixmap
containers ip-address map ocaml radix-tree set
Last synced: about 18 hours ago
JSON representation
Map à la Binary Radix Tree
- Host: GitHub
- URL: https://github.com/paurkedal/ocaml-radixmap
- Owner: paurkedal
- License: lgpl-3.0
- Created: 2017-02-25T09:19:16.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-03-10T21:27:18.000Z (almost 3 years ago)
- Last Synced: 2025-01-15T07:30:29.630Z (6 days ago)
- Topics: containers, ip-address, map, ocaml, radix-tree, set
- Language: OCaml
- Size: 58.6 KB
- Stars: 20
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: COPYING
Awesome Lists containing this project
README
# radixmap - Map à la Binary Radix Tree
This OCaml library provides a pure map-like data structure which efficiently
represent piecewise constant functions over domains which can be binary
subdivided. Suitable domains include bit strings, byte strings, and IP
addresses. It is most efficient where the maps tend to be piecewise
constant over prefixes of the key type, with optional nested exceptions
which themselves have the same structure.This package has an optional dependency on
[ipaddr](https://github.com/mirage/ocaml-ipaddr) and provides a related set
implementation `Ip_radixset` if present.The core map, `Bitword_radixmap`, works on finite size `Bitword` sub-paths,
whereas longer paths are encoded in the tree itself. This makes the maps
compact for common cases. A higher level map or set can be implemented in
terms of `Bitword_radixmap` if keys may exceed 24 bits.