#![doc = include_str!("../README.md")]
#![cfg_attr(not(feature = "std"), no_std)]
use self::compat::*;
pub mod ptr_weak_hash_set;
pub mod ptr_weak_key_hash_map;
pub mod ptr_weak_weak_hash_map;
pub mod traits;
pub mod weak_hash_set;
pub mod weak_key_hash_map;
pub mod weak_value_hash_map;
pub mod weak_weak_hash_map;
#[cfg(test)]
mod tests;
mod by_ptr;
mod compat;
mod inner;
mod size_policy;
mod util;
#[derive(Clone)]
pub struct WeakKeyHashMap<K, V, S = RandomState>(inner::Table<inner::WeakK<K>, inner::Owned<V>, S>);
#[derive(Clone)]
pub struct PtrWeakKeyHashMap<K, V, S = RandomState>(WeakKeyHashMap<by_ptr::ByPtr<K>, V, S>);
#[derive(Clone)]
pub struct WeakValueHashMap<K, V, S = RandomState>(
inner::Table<inner::Owned<K>, inner::WeakV<V>, S>,
);
#[derive(Clone)]
pub struct WeakWeakHashMap<K, V, S = RandomState>(
inner::Table<inner::WeakK<K>, inner::WeakV<V>, S>,
);
#[derive(Clone)]
pub struct PtrWeakWeakHashMap<K, V, S = RandomState>(WeakWeakHashMap<by_ptr::ByPtr<K>, V, S>);
#[derive(Clone)]
pub struct WeakHashSet<T, S = RandomState>(WeakKeyHashMap<T, (), S>);
#[derive(Clone)]
pub struct PtrWeakHashSet<T, S = RandomState>(PtrWeakKeyHashMap<T, (), S>);