ranged_set 0.4.1

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

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));