#collection #interval #boost

advanced_collections

Library with advanced data structures (collections). Includes counter (hash-bag, multiset), disjoint set (union-find, merge-find), circular buffer (cyclic buffer) and interval (range)

1 unstable release

0.1.0 Dec 28, 2018

#1665 in Data structures

MIT license

130KB
2.5K SLoC

rust-advanced-collections

Travis CI Appveyor CI Crates CI Codedov CI

Overview

This crate contains a set of high quality (tested, documented, with complete implementation of standard traits) collections. It is supposed to be an extension of the standard std::collections crate that contains the most common collections but lacks more advanced ones.

At the moment this crate includes:

  • Counter - a counting and statistical collection similar to hash bag or multiset.
  • Interval - structure for working with mathematical intervals.
  • Disjoint set - also known as union-find or merge-find, a set of values split into a number of not overlapping subsets.
  • Circular buffer -also known as cyclic buffer - a structure commonly used in multimedia streaming for storing limited amount of data in a buffer.

Usage

Cargo.toml:

[dependencies]
advanced_collections = "0.1"

Documentation

Cargo documentation

License

This code is licensed under the free MIT license.

Contributing

This crate is open to anybody who would like to participate in the project and help me to create more collections. Simply fork this repository, add your changes/fixes and create a pull request for me. Just please make sure that your code meets standards of this crate. The code needs to:

  • Have high quality. This includes conforming to Rust formatting standards, comments, following naming conventions of other collections etc.
  • Be tested with high code coverage.
  • Be documented and have examples.
  • Be well design. This includes implementation of common traits.
  • Be high-performing.

Dependencies