mod barrier;
mod handle;
mod reader;
mod source;
mod state;
mod state_machine;
pub use barrier::*;
pub use reader::Reader;
pub use state::*;
pub use state_m_macro::state_tag;
pub use state_machine::*;
use std::{
fmt::{Debug, Display},
hash::Hash,
};
pub trait KvAssoc {
type Value;
}
pub trait AsState: Clone + Debug + Default + Display + PartialEq {}
impl<T> AsState for T where T: Clone + Debug + Default + Display + PartialEq {}
pub trait AsTag: Clone + Debug + Eq + Hash + Ord + Send + Sync {}
impl<T> AsTag for T where T: Clone + Debug + Eq + Hash + Ord + Send + Sync {}