Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Naive bimap implementation in Rust.
Rust
branch: master
Failed to load latest commit information.
bin
src Update for language changes
test All warnings eliminated. Closes bug 1.
README.md Giving thanks to those who've helped.

README.md

This is an implementation of a bimap done using two hashmaps.

I cannot speak to its speed or size or any characteristics you care about if you care about code metrics. Use this when you need a bimap, and performance doesn't matter.

If another bimap implementation comes outs by somebody else, it'll probably be better than this. If you want to make a better one, feel free to decide upon iface characteristics. If you want to improve this one, send a pull request.

Iface: bimap

  • get_key(V) -> K;
  • find_key(V) -> option;
  • remove_key(V) -> option;

These three methods are the same as their map counterparts, except they return or remove entries based on known values.

In this library, only hashbimap implements bimap.

Type: hashbimap

  • Implements std::map::map
  • Implements bimap::bimap
  • { kv: hashmap, vk: hashmap }

Basic implementation of a bimap using two hashmaps. Not very efficient, but real easy to write.

Functions

fn bimap (fn (K) -> uint, fn (K, K) -> bool, fn (V) -> uint, fn (V, V) -> bool) -> hashbimap

The functions in order, are hash_key, eql_key, hash_value, eql_value.

Thanks

The following people have helped me out with the bimap:

  • z0w0
  • ehold
  • jld
  • nmatsakis
Something went wrong with that request. Please try again.