#![doc = include_str!("../README.md")]
mod str;
mod topo_sort;
mod trie;
pub use crate::str::StringUtil;
pub use crate::topo_sort::{topo_sort, DepGraph};
pub use crate::trie::Trie;
#[macro_export]
macro_rules! to_matches {
($pattern:pat $(if $guard:expr)? $(,)?) => {
|ttt| match ttt {
$pattern $(if $guard)? => true,
_ => false
}
};
}
#[macro_export]
macro_rules! e_value {
($enum:expr, $variant:pat) => {
match $enum {
$variant(val) => Some(val),
_ => None,
}
};
($enum:expr, $variant:pat $(if $guard:expr)? $(,)?) => {
match $enum {
$variant(val) $(if $guard)? => Some(val),
_ => None,
}
};
}
#[cfg(test)]
mod tests;