equivalent

Crates.ioequivalent
lib.rsequivalent
version1.0.1
sourcesrc
created_at2023-02-05 22:54:27.71505
updated_at2023-07-10 20:55:51.823213
descriptionTraits for key comparison in maps.
homepage
repositoryhttps://github.com/cuviper/equivalent
max_upload_size
id777488
size17,590
Josh Stone (cuviper)

documentation

README

Equivalent

crates.io docs

Equivalent and Comparable are Rust traits for key comparison in maps.

These may be used in the implementation of maps where the lookup type Q may be different than the stored key type K.

  • Q: Equivalent<K> checks for equality, similar to the HashMap<K, V> constraint K: Borrow<Q>, Q: Eq.
  • Q: Comparable<K> checks the ordering, similar to the BTreeMap<K, V> constraint K: Borrow<Q>, Q: Ord.

These traits are not used by the maps in the standard library, but they may add more flexibility in third-party map implementations, especially in situations where a strict K: Borrow<Q> relationship is not available.

License

Equivalent is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details. Opening a pull request is assumed to signal agreement with these licensing terms.

Commit count: 6

cargo fmt