#![doc = include_str!("../README.md")]
pub use venndb_macros::VennDB;
pub trait Any {
fn is_any(&self) -> bool;
}
impl<T: Any> Any for &T {
fn is_any(&self) -> bool {
T::is_any(*self)
}
}
impl<T: Any> Any for Option<T> {
fn is_any(&self) -> bool {
match self {
Some(value) => value.is_any(),
None => false,
}
}
}
impl<T: Any> Any for std::sync::Arc<T> {
fn is_any(&self) -> bool {
T::is_any(&**self)
}
}
impl<T: Any> Any for std::rc::Rc<T> {
fn is_any(&self) -> bool {
T::is_any(&**self)
}
}
impl<T: Any> Any for Box<T> {
fn is_any(&self) -> bool {
T::is_any(&**self)
}
}
mod bitvec;
#[doc(hidden)]
pub mod __internal {
pub use crate::bitvec::{BitVec, IterOnes};
pub use hashbrown::HashMap;
use rand::Rng;
#[must_use]
pub fn rand_range(limit: usize) -> usize {
rand::rng().random_range(0..limit)
}
pub mod hash_map {
pub use hashbrown::hash_map::Entry;
}
}