#avl-tree #set #map #structures #iterator #key

gavl

A fast implementation for a map and a set using an AVL tree

5 releases

0.1.5 Aug 16, 2023
0.1.3 Jul 27, 2023
0.1.2 Jul 20, 2023
0.1.1 Jul 19, 2023
0.1.0 Jul 19, 2023

#626 in Data structures

32 downloads per month

MIT license

67KB
1.5K SLoC

GAVL

Various AVL data structures

Crates.io MIT licensed

API Docs

Overview

Includes

  • Map: Can be modified by various iterators, duplicate keys are not supported and some common functions associated with data structures like collect()

Future data structures

  • Set: Will function almost the same as map it will include diferent set of iterators

Vision

The crate has an opt-in philosophy where you only activate the features that you need.


lib.rs:

AVL data structures

This crate implements a Map based on an AVL in the near future it may include a Set as well

Panics

The only panic that can be raised by this crate arrises from Box panic

Safety

As of now I haven run the analisis or test to determine if it is Send and Sync in in the near future, maybe I will implement something rwlocks

Features

  • into_precomputed - Enables the into precomputed iterator
  • unchecked_mut - Enables a iterator that yields a mutable reference to the key (Not yet in the documentation)

Dependencies

~325–780KB
~18K SLoC