Files
meetingroom-netscreen/push_screen_rust/target/x86_64-pc-windows-gnu/release/deps/libequivalent-8f5e434fb3b55468.rmeta

20 lines
7.8 KiB
Plaintext
Raw Normal View History

rust
<EFBFBD>Brustc 1.91.1 (ed61e7d7e 2025-11-07) (Rev1, Built by MSYS2 project)<29><02>0<>#`a<><61>i<EFBFBD>+<2B>F<EFBFBD>T8<-0a5677bcdbf6ca93<39><02>1<>-<2D>3<EFBFBD><33>%<25>:<3A><>R<>-0a51333fad0e7ace<63><01><02>
Equivalent<EFBFBD>K<>
equivalent<EFBFBD>Q<><01><01>
Comparable<EFBFBD> <01> compare<72><01><01><01>88 8 88888 <01><01> <01><01> d<>4<> <01><01><01><1C>D<><01><>!l<> <01><01><01>$<24>S-<04> <01><>W$<24> <06>,<2C> <06><1C><00><0F>key<65>"Q<00><0F><00><0F>d<>4<><01><1C>D<><01><>D<> <01><01>$<24>F)<04><01><>S<01><><01><><01><>Less<73><01><><01><><01><><02><01><><01><><01><>Greater<65><01><><00>#8<>Ҝ<EFBFBD><D29C>D<><00>,<2C><00><1C><00><0F><01><0F><00><00><0F> <02>g4<67><01><02>D<><01><><04><00><00>LI [`Equivalent`] and [`Comparable`] are traits for key comparison in maps.<2E>M<02><00>QMJ These may be used in the implementation of maps where the lookup type `Q`<60><00><>2/ may be different than the stored key type `K`.<2E><1C><02><00><>LI * `Q: Equivalent<K>` checks for equality, similar to the `HashMap<K, V>`<60><00><>'$ constraint `K: Borrow<Q>, Q: Eq`.<2E><00><>MJ * `Q: Comparable<K>` checks the ordering, similar to the `BTreeMap<K, V>`<60><00><>(% constraint `K: Borrow<Q>, Q: Ord`.<2E><1C><02><00><>OL These traits are not used by the maps in the standard library, but they may<61><00><>JG add more flexibility in third-party map implementations, especially in<69><00><>KH situations where a strict `K: Borrow<Q>` relationship is not available.<2E><1C><02>t<> # Examples<65><1C><02><<3C> ```<60><00><> use equivalent::*;<3B><00><> use std::cmp::Ordering;<3B><1C><02><00><>(% pub struct Pair<A, B>(pub A, pub B);<3B><1C><02><00><>RO impl<'a, A: ?Sized, B: ?Sized, C, D> Equivalent<(C, D)> for Pair<&'a A, &'a B><3E>L<> where<72>̍ A: Equivalent<C>,<2C>̧ B: Equivalent<D>,<2C>,<2C> {<7B><00><>41 fn equivalent(&self, key: &(C, D)) -> bool {<7B><00><>B? self.0.equivalent(&key.0) && self.1.equivalent(&key.1)<29>L<> }<7D>,<2C> }<7D><1C><02><00><>RO impl<'a, A: ?Sized, B: ?Sized, C, D> Comparable<(C, D)> for Pair<&'a A, &'a B><3E>L<> <01>̰  A: Comparable<C>,<2C><00><>  B: Comparable<D>,<2C>,<2C> <01><00><> 52 fn compare(&self, key: &(C, D)) -> Ordering {<7B><00><>
*' match self.0.compare(&key.0) {<7B><00><>
:7 Ordering::Equal => self.1.compare(&key.1),<2C><00><> '$ not_equal => not_equal,<2C>l<>
}<7D>L<> <01>,<2C> <01><1C> <02>|<7C> fn main() {<7B><00><> =: let key = (String::from("foo"), String::from("bar"));<3B><00><> $! let q1 = Pair("foo", "bar");<3B><00><> $! let q2 = Pair("boo", "bar");<3B><00><> $! let q3 = Pair("foo", "baz");<3B><1C> <02><00><> %" assert!(q1.equivalent(&key));<3B><00><> &# assert!(!q2.equivalent(&key));<3B><00><> &# assert!(!q3.equivalent(&key));<3B><1C><02><00><>63 assert_eq!(q1.compare(&key), Ordering::Equal);<3B><00><>52 assert_eq!(q2.compare(&key), Ordering::Less);<3B><00><>85 assert_eq!(q3.compare(&key), Ordering::Greater);<3B>,<2C><01><<3C><01> <02><13>g<13><01><02><13><01><><04><><13><03><><13><03><><00><> Key equivalence trait.<2E><1C><02><00><>LI This trait allows hash table lookup to be customized. It has one blanket<65><00><>NK implementation that uses the regular solution with `Borrow` and `Eq`, just<73><00><>NK like `HashMap` does, so that you can pass `&str` to lookup into a map with<74><00><> `String` keys and so on.<2E><1C><02>t<> # Contract<63><1C><02><00><>>; The implementor **must** hash like `K`, if it is hashable.<2E>T<><01><01><><00><><12><01><><01> <0C><00><>&<00><>>; Compare self to `key` and return `true` if they are equal.<2E>T<EFBFBD> <13> <14> <0C> <01> <01>$<24><01><1C><00><>Q<01> <01>

<01><><01> <0C><00> <0C><01><01><14><01><01><01>L<><00>  79=?<00><>%T<> <15> <16> <0C> <01><01>$<24><01>3<02><>.<00><> Key ordering trait.<2E><1C><02><00><>MJ This trait allows ordered map lookup to be customized. It has one blanket<65><00><>OL implementation that uses the regular solution with `Borrow` and `Ord`, just<73><00><>OL like `BTreeMap` does, so that you can pass `&str` to lookup into a map with<74><00><><01>T<> <01>   <00> <20><><17><01> <01>l<><00> <0C> <00>&<00>&"$&<00><>'<00><>41 Compare self to `key` and return their ordering.<2E><<3C> <17> <18><00>  <0C> <01> <01>$<24><01><1C><00><>R<01><01><00>" <0C><00> <0C><01><01><1C><00>"L<><00>,.24<00><>&<<3C> <19> <1A><00> <0C> <01><01>$<24><01>[><13> <0C><13>_<13> <0C><13><13> <0C><13>G<13> <0C><13><01> <01><01><01><01><01>`f<><66>7<EFBFBD>X*,}̺t4v<34><76><EFBFBD>><3E>1=<3D><><EFBFBD>wk<>6%<25><><EFBFBD>"xʹ^4<>`.<12><>HC<>~ Є<>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD>M{<7B><><EFBFBD><14>a<EFBFBD>!<21><><EFBFBD>pr<70>T<EFBFBD><54><EFBFBD><EFBFBD><EFBFBD>~?<3F>\Pse ̀I<CC80>W#A<7F>H~<7E><>Q*<2A>p<0E><>*J<><4A>oyfL<66><4C>:
<EFBFBD><EFBFBD>dbd<EFBFBD><EFBFBD><EFBFBD>xy<EFBFBD>"2.:<3A> <><C69F>W<EFBFBD><57>Ƀ<EFBFBD>f4t<34>u.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><05>e<EFBFBD>m<EFBFBD>T<EFBFBD> <09>1<EFBFBD>͗<EFBFBD><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}O<>e`<60><>H<EFBFBD>M<00>/<2F><>X<00><00>B <01><<00>
<00>x<00>c<13>/@ <00><00><00>    ? ]%<11>iB<14>w { } <0A> <0A> <0A><0F>s<10><10><10>^<13>*<14><14><14><14><14><14><14><14>y <00> <0A> Y<0F><00><10><10><10> V/<14><14><14><14><14><14><14><14>}<0F>V<10><10><10>B<11><13><13>'t^<0F>Jz<10><10>6<11> <13><13>!hZ<10>F<00>x&jC(lEZ3r<00><00><00><10>)<00>vt<00>u<00>dP<00><00><00><00>= Wx<00><00><13><00><00><00><00><00><00><00><00><00><00><00>'+29@FLRX^dj<00><00><00><00><03><00><00> <13><13><13><13><02> `f<><66>7<EFBFBD>X<><58>m<>i<><02>ws{<1A><1A><1A><1A>ODHT  <02><>"2.:<3A> "<14>a<EFBFBD>!<21><><EFBFBD> <00>~?<3F>\ O<>e`<60><>HW#A<7F>H~<7E> <00>e<EFBFBD>m<EFBFBD>T<EFBFBD><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<00>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>8<00><>wk<>6%Pse ̀I<CC80> <00><>:
<EFBFBD><EFBFBD>db <09>1<EFBFBD>͗<EFBFBD>*J<><4A>oyfL<00>Q*<2A>p<0E><><00>M<00>/<2F><>X4<>`.<12><>H<00><>f4t<34>u.0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`f<><66>7<EFBFBD>X<00><><EFBFBD>"xʹ^Ɵ<><C69F>W<EFBFBD><57><EFBFBD>*,}̺t4v<00><><EFBFBD>M{<7B><><EFBFBD><00><><EFBFBD>><3E>1=<3D>pr<70>T<EFBFBD><54><EFBFBD><EFBFBD>
C<>~ Єd<><64><EFBFBD>xy<78>| $S
><3E><1C><>B1&J,$<24><02>,/d;LwKBL| $S
><3E><1C><>B1&^C:\Users\dxzq\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\equivalent-1.0.2\src\lib.rs<72> s<>+^<5E><12>FS<46><53>>~<7E><00>qMN3M(N)PKL)S
5C
S
6+;(
>%%%&''769 MOO?"C+/ ,*NPP19,/ -%$<24><>k<EFBFBD>f<01>W<EFBFBD> _<><5F> <00>x86_64-pc-windows-gnu<6E>,&<26><01><>֤<EFBFBD>-5w<><77><EFBFBD><01>-8f5e434fb3b55468<36>`f<><66>7<EFBFBD>X<02>:R<02>$<00>&<00>  '' 9'0&66&&&9&& $&&&9  6&9w<01>rust-end-file