[containers-users] Request for comments on BiMap

SP sp at orbitalfox.eu
Fri Feb 23 00:37:29 GMT 2018


I've started working on a BiMap, a map where (key, value) is also
(value, key) in a one-to-one relationship.

https://github.com/c-cube/ocaml-containers/compare/master...orbifx:bimap

As I'm writing this I have written `empty`, `add`, `find_left` and
`find_right`.

The idea is that when adding a left-key, right-value to the BiMap, it
doesn't just check for the preexistence of the left key, but also checks
if the right value already has a left key and removes it if so. Vice
versa for right key, left value.

Please provide any comments and thoughts.

One question I have is why are map values first in the order of
parameters? For example:

https://github.com/c-cube/ocaml-containers/blob/master/src/data/CCMultiMap.ml#L294
 
-- 
	SP


More information about the Containers-users mailing list