pub use certain_map_macros::certain_map;
pub use service_async::{Param, ParamMut, ParamRef};
pub trait ParamSet<T> {
type Transformed;
fn param_set(self, item: T) -> Self::Transformed;
}
pub trait ParamRemove<T> {
type Transformed;
fn param_remove(self) -> Self::Transformed;
}
pub trait ParamTake<T> {
type Transformed;
fn param_take(self) -> (Self::Transformed, T);
}
#[derive(Default, Clone, Copy, PartialEq, Eq, Debug)]
pub struct Occupied<T>(pub T);
#[derive(Default, Clone, Copy, PartialEq, Eq, Debug)]
pub struct Vacancy;