Crate blart

source ·
Expand description

Adaptive radix trie implementation

References

  • Leis, V., Kemper, A., & Neumann, T. (2013, April). The adaptive radix tree: ARTful indexing for main-memory databases. In 2013 IEEE 29th International Conference on Data Engineering (ICDE) (pp. 38-49). IEEE. Link to PDF

Modules

  • bytes 🔒
  • Module containing implementations of the TreeMap and associated iterators/etc.
  • Module containing copies of Rust standard library unstable functions for use outside of the nightly distribution.
  • nodes 🔒
    Trie node representation and manipulation
  • A tagged pointer is a pointer (concretely a memory address) with additional data associated with it, such as an indirection bit or reference count. This additional data is often “folded” into the pointer, meaning stored inline in the data representing the address, taking advantage of certain properties of memory addressing.
  • Utilities for inspecting the trie structure.

Structs

  • The results of a successful delete operation
  • The common header for all inner nodes
  • Node that references between 17 and 49 children
  • An iterator over all the children of a InnerNode48.
  • Node that references between 49 and 256 children
  • An iterator over all the children of a InnerNode256.
  • Node type that has a compact representation for key bytes and children pointers.
  • An iterator all the children of an InnerNodeCompressed.
  • An iterator over all the LeafNodes in a non-singleton tree.
  • Attempted to insert a key which was a prefix of an existing key in the tree.
  • The results of a successful tree insert
  • This struct contains the results from searching for an insert point for a new node in the tree.
  • Node that contains a single leaf value.
  • A container for the bytestring that is produced from BytesMapping conversion
  • A pointer to a Node.
  • An opaque pointer to a Node.
  • A restricted index only valid from 0 to LIMIT - 1.
  • This struct represents a conversion of unsigned integers to the big endian format, so that the natural ordering of the numbers matches the lexicographic ordering of the bytes.
  • This struct represents a conversion of IP addresses (V4 and V6) into their component bytes. The ordering of IP addresses is already the lexicographic ordering of the component bytes, so it will be preserved.
  • This struct represents a conversion of signed integers to a format that allows the natural ordering of the numbers to match the lexicographic ordering of the bytes.
  • An ordered map based on an adaptive radix tree.
  • The error type returned when attempting to construct an index outside the accepted range of a PartialNodeIndex.

Enums

Constants

  • The number of bytes stored for path compression in the node header.

Traits

  • Any type implementing AsBytes can be decomposed into bytes.
  • Trait representing a reversible conversion from a type to some sort of byte string, while preserving the ordering of the original type.
  • Common methods implemented by all inner node.
  • This trait is used to mark types which have a byte representation which is guaranteed to not be a prefix of any other value of the same type.
  • All nodes which contain a runtime tag that validates their type.
  • This trait is used to mark types where the lexicographic ordering of their byte representation (as output by AsBytes::as_bytes) matches their normal ordering (as determined by Ord).

Functions

Type Definitions

  • Node that references between 2 and 4 children
  • Node that references between 5 and 16 children