- Notifications
You must be signed in to change notification settings - Fork32
Generic bijective maps in Rust
License
Apache-2.0, MIT licenses found
Licenses found
billyrieger/bimap-rs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
bimap-rs
is a pure Rust library for dealing with bijective maps, aiming tofeel like an extension of the standard library's data structures wheneverpossible. There are no external dependencies by default butSerde andno_std
compatibility are available through feature flags.
- Quick start
- Feature flags
- Documentation
- Contributing
- Semantic versioning
- Minimum supported Rust version
- License
To use the latest version ofbimap-rs
with the default features, add this toyour project'sCargo.toml
file:
[dependencies]bimap ="0.6.3"
You can now run thebimap-rs
Hello World!
fnmain(){// A bijective map between letters of the English alphabet and their positions.letmut alphabet = bimap::BiMap::<char,u8>::new(); alphabet.insert('A',1);// ... alphabet.insert('Z',26);println!("A is at position {}", alphabet.get_by_left(&'A').unwrap());println!("{} is at position 26", alphabet.get_by_right(&26).unwrap());}
Flag name | Description | Enabled by default? |
---|---|---|
std | Standard library usage (HashMap ) | yes |
serde | (De)serialization usingSerde | no |
ThisCargo.toml
shows how these features can be enabled and disabled.
[dependencies]# I just want to use `bimap-rs`.bimap ="0.6.3"# I want to use `bimap-rs` without the Rust standard library.bimap = {version ="0.6.3",default-features =false }# I want to use `bimap-rs` with Serde support.bimap = {version ="0.6.3",features = ["serde"] }
Documentation for the latest version ofbimap-rs
is available ondocs.rs.
Thank you for your interest in improvingbimap-rs
! Please read thecode ofconduct and thecontributing guidelines before submitting an issue oropening a pull request.
bimap-rs
adheres to the de-facto Rust variety of Semantic Versioning.
bimap | MSRV |
---|---|
v0.6.3 | 1.56.1 |
v0.6.2 | 1.56.1 |
v0.6.1 | 1.42.0 |
v0.6.0 | 1.38.0 |
v0.5.3 | 1.38.0 |
v0.5.2 | 1.38.0 |
v0.5.1 | 1.38.0 |
v0.5.0 | 1.38.0 |
v0.4.0 | 1.38.0 |
bimap-rs
is dual-licensed under theApache License and theMIT License.As a library user, this means that you are free to choose either license whenusingbimap-rs
. As a library contributor, this means that any work youcontribute tobimap-rs
will be similarly dual-licensed.
About
Generic bijective maps in Rust