weak-table 0.1.0

Weak hash maps and sets
Documentation

weak-table-rs: weak hash maps and sets for Rust

Build Status Crates.io License: MIT

This crate defines several kinds of weak hash maps and sets. See the full API documentation.

Usage

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") );