#set #range #values #contiguous #stores #numeric #ranged

ranged_set

A set that stores contiguous values as a range. Designed to be used with numeric types.

4 releases (2 breaking)

Uses old Rust 2015

0.4.1 Apr 25, 2017
0.4.0 Feb 16, 2017
0.3.0 Feb 15, 2017
0.2.0 Feb 10, 2017

#6 in #ranged

MIT/Apache

30KB
584 lines

ranged_set

Build Status Build status Crate on crates.io

ranged_set is a crate that provides the type RangedSet<T>, which acts as a set for numeric types and stores contiguous values in ranges instead of in a hash table.

Documentation can be found on docs.rs.

Using ranged_set

Add the crate to the dependencies section of Cargo.toml:

[dependencies]
ranged_set = "0.4.0"

or, if you want the bleeding edge version:

[dependencies]
ranged_set = { git = "https://github.com/ryanq/ranged_set" }

Then import the crate and type in your source:

extern crate ranged_set;

use ranged_set::RangedSet;

Then you can use the type for efficiently storing numbers (w.r.t. space, at least):

let set = RangedSet::new();
set.insert(0);
set.insert(1);
set.insert(2);
set.insert(3);
set.insert(4);
// ...

assert!(set.contains(&0));

Dependencies

~245KB