mod applicative_async;
pub mod fibra;
mod flumen;
#[cfg(feature = "fusion")]
mod flumen_fusus;
mod functor_async;
mod futurus;
mod monad_async;
pub mod praefectus;
pub mod res;
pub mod runtime;
mod traversable_async;
pub mod concurrent;
pub mod scheduler;
pub mod zio;
pub use applicative_async::{ApplicatioAsync, ApplicatioAsyncMut};
pub use fibra::{
Fibra, FibraAmbitus, FibraError, FibraExitus, FibraId, FibraManubrium, FibraStatus, certamen,
certamen_multi, deficere, fibra, furca, par, par_omnes, par_sequence, purus, race, sequence,
sequentia, spawn, transire, transire_par, zip_par,
};
pub use flumen::{BoxStream, Flumen};
#[cfg(feature = "fusion")]
pub use flumen_fusus::{ChunksState, FlumenFusus, Gradus, ZipFusus};
pub use functor_async::{FunctorAsync, FunctorAsyncMut};
pub use futurus::Futurus;
pub use monad_async::{MonadAsync, MonadAsyncMut, flatten_option_async, flatten_result_async};
pub use praefectus::{
EventusSupervisio, InfansSpecificatio, IntensitasRestart, PolitiaDefectus, Praefectus,
StatusInfans, StrategiaMora, StrategiaRestart, supervisor_omnes_pro_uno,
supervisor_reliqui_pro_uno, supervisor_unus_pro_uno,
};
pub use res::{
Piscina, Res, ResAsync, amplexus, amplexus_async, bracket, bracket_async, finaliter,
finaliter_async, zip_all_res, zip_res,
};
pub use runtime::{
CurrentRuntime, FutureRuntimeExt, JoinError, JoinManubrium, NullRuntime, RuntimeGenerare,
};
pub use traversable_async::{
OptionTraverseAsync, ResultTraverseAsync, TraversableAsync, TraversableAsyncParallel,
map_option_async, map_result_async, traverse_vec_async,
};
pub use scheduler::{
IndiciumExecutionis, MunusFibrae, OrdinariusConfig, PolitiaCircularis, PolitiaFortuita,
PolitiaFurti, Prioritas, Statisticae,
};
pub use zio::{
Ambitus, Causa, Exitus, Io, Task, UTask, Uio, Zio, environment, fail, from_option, from_result,
succeed,
};
#[cfg(feature = "std")]
pub use concurrent::{CaudaBackpressure, MVarSync, Permissum, Referentia, Semaphorum};
#[cfg(feature = "std")]
pub use concurrent::Dilatum;
#[cfg(feature = "std")]
pub use scheduler::{OrdoGlobalis, OrdoLocalis};
pub type BoxFuture<'a, T> =
core::pin::Pin<alloc::boxed::Box<dyn core::future::Future<Output = T> + Send + 'a>>;
pub type BoxFutureStatic<T> =
core::pin::Pin<alloc::boxed::Box<dyn core::future::Future<Output = T> + Send + 'static>>;