Crate weak_table [−] [src]
This library offers a variety of weak hash tables:
-
For a hash map where the keys are held by weak pointers and compared by key value, see
WeakKeyHashMap
. -
For a hash map where the keys are held by weak pointers and compared by pointer, see
PtrWeakKeyHashMap
. -
For a hash map where the values are held by weak pointers, see
WeakValueHashMap
. -
For a hash map where the keys and values are both held by weak pointers and the keys are compared by value, see
WeakWeakHashMap
. -
For a hash map where the keys and values are both held by weak pointers and the keys are compared by pointer, see
PtrWeakWeakHashMap
. -
For a hash set where the elements are held by weak pointers and compared by element value, see
WeakHashSet
. -
For a hash set where the elements are held by weak pointers and compared by pointer, see
PtrWeakHashSet
.
Examples
use weak_table::WeakHashSet; use std::sync::{Arc, Weak}; type Table = WeakHashSet<Weak<String>>; let mut set = Table::new(); let a = Arc::new("a".to_string()); let b = Arc::new("b".to_string()); set.insert(a.clone()); assert!( set.contains("a") ); assert!( ! set.contains("b") ); set.insert(b.clone()); assert!( set.contains("a") ); assert!( set.contains("b") ); drop(a); assert!( ! set.contains("a") ); assert!( set.contains("b") );
Modules
ptr_weak_hash_set |
A hash set where the elements are held by weak pointers and compared by pointer. |
ptr_weak_key_hash_map |
A hash map where the keys are held by weak pointers and compared by pointer. |
ptr_weak_weak_hash_map |
A hash map where the keys and values are both held by weak pointers, and keys are compared by pointer. |
traits |
Traits for describing weak and shared pointers and their use as elements and keys. |
weak_hash_set |
A hash set where the elements are held by weak pointers and compared by value. |
weak_key_hash_map |
A hash map where the keys are held by weak pointers and compared by key value. |
weak_value_hash_map |
A hash map where the values are held by weak pointers. |
weak_weak_hash_map |
A hash map where the keys and values are both held by weak pointers, and keys are compared by value. |
Structs
PtrWeakHashSet |
A hash set with weak elements, hashed on element pointer. |
PtrWeakKeyHashMap |
A hash map with weak keys, hashed on key pointer. |
PtrWeakWeakHashMap |
A hash map with weak keys and weak values, hashed on key pointer. |
WeakHashSet |
A hash set with weak elements, hashed on element value. |
WeakKeyHashMap |
A hash map with weak keys, hashed on key value. |
WeakValueHashMap |
A hash map with weak values. |
WeakWeakHashMap |
A hash map with weak keys and weak values, hashed on key value. |