tree: 3d04a69f6a9d10155b4eab0b30e7f88f79c62094 [path history] [tgz]
  1. src/
  2. .cargo-checksum.json
  3. Android.bp
  4. Cargo.toml
  5. cargo_embargo.json
  6. LICENSE-APACHE
  7. LICENSE-MIT
  8. METADATA
  9. MODULE_LICENSE_APACHE2
  10. README.md
crates/equivalent/README.md

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.