#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[macro_use]
extern crate alloc;
pub mod actor;
pub mod address;
pub mod blocker;
pub mod context;
pub mod delayer;
#[cfg(not(feature = "log"))]
#[cfg_attr(docsrs, doc(cfg(not(feature = "log"))))]
#[macro_use]
pub mod log;
pub mod message;
pub(crate) mod queue;
pub mod reactor;
pub mod register;
#[cfg(feature = "rt")]
#[cfg_attr(docsrs, doc(cfg(feature = "rt")))]
pub mod rt;
pub mod stream;
#[cfg(feature = "time")]
#[cfg_attr(docsrs, doc(cfg(feature = "time")))]
pub mod time;
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use crossbus_derive::{main, Message};
pub mod prelude {
pub use crate::actor::{ActingState, Actor, ActorId, ActorState, Future};
pub use crate::address::{Addr, QueueError, Receiver, Sender};
pub use crate::context::Context;
pub use crate::reactor::{ReactingOrder, Reactor, ReactorPair};
pub use crate::register::{ActorRegister, Register};
#[cfg(feature = "rt")]
pub use crate::rt::{self, SpawnJoinHandle, Spawning};
pub use crate::{actor, address, context, message, reactor, register};
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use crossbus_derive::{main, Message};
}