mod box_transformer;
pub use box_transformer::BoxTransformer;
#[cfg(feature = "rc")]
mod rc_transformer;
#[cfg(feature = "rc")]
pub use rc_transformer::RcTransformer;
mod arc_transformer;
pub use arc_transformer::ArcTransformer;
mod unary_operator;
pub use unary_operator::UnaryOperator;
mod box_unary_operator;
pub use box_unary_operator::BoxUnaryOperator;
mod arc_unary_operator;
pub use arc_unary_operator::ArcUnaryOperator;
#[cfg(feature = "rc")]
mod rc_unary_operator;
#[cfg(feature = "rc")]
pub use rc_unary_operator::RcUnaryOperator;
mod box_conditional_transformer;
pub use box_conditional_transformer::BoxConditionalTransformer;
#[cfg(feature = "rc")]
mod rc_conditional_transformer;
#[cfg(feature = "rc")]
pub use rc_conditional_transformer::RcConditionalTransformer;
mod arc_conditional_transformer;
pub use arc_conditional_transformer::ArcConditionalTransformer;
pub trait Transformer<T, R> {
#[must_use = "the computed callback result should be used"]
fn apply(&self, input: T) -> R;
}
crate::macros::impl_closure_trait!(
Transformer<T, R>,
apply,
Fn(input: T) -> R
);