erased_set 0.7.0

A set of erased types
Documentation

🦀 ErasedSet

You may be looking for:


This crate provides a new collection: The [ErasedSet].

It can store any type T: Any.

Example

# #[derive(Debug, PartialEq)]
# struct ClickEvent(u32, u32);
# #[derive(Debug, PartialEq)]
# struct KeyDownEvent(char);
#
use erased_set::ErasedSet;

let mut set = ErasedSet::new();
set.insert(ClickEvent(128, 256));
set.insert(KeyDownEvent('z'));

assert_eq!(set.get::<ClickEvent>(), Some(&ClickEvent(128, 256)));

assert_eq!(set.insert(KeyDownEvent('e')), Some(KeyDownEvent('z')));

set.remove::<ClickEvent>();

assert_eq!(set.len(), 1);

Features

name default ? description
send yes Enables [ErasedSendSet]
sync yes Enables [ErasedSyncSet]

no_std support

This crate is no_std compatible, however it still requires alloc.