macro_rules! declare_backend_aliases {
(
table = $Table:ident,
// map, no lifetime: `<K, V, S, A>` -> `map::Target<K, V, Table<K, V, S, A>>`
map_no_lifetime { $($mp_doc:literal $mp_alias:ident => $mp_target:ident),* $(,)? },
// map, borrowing (`'a`): `map::Target<'a, K, V, Table<K, V, S, A>>`
map_ref { $($mr_doc:literal $mr_alias:ident => $mr_target:ident),* $(,)? },
map_extract_if { $mx_doc:literal $mx_alias:ident },
set_no_lifetime { $($sp_doc:literal $sp_alias:ident => $sp_target:ident),* $(,)? },
set_ref { $($sr_doc:literal $sr_alias:ident => $sr_target:ident),* $(,)? },
) => {
$(
#[doc = $mp_doc]
pub type $mp_alias<
K,
V,
S = $crate::DefaultHashBuilder,
A = allocator_api2::alloc::Global,
> = $crate::map::$mp_target<K, V, $Table<K, V, S, A>>;
)*
$(
#[doc = $mr_doc]
pub type $mr_alias<
'a,
K,
V,
S = $crate::DefaultHashBuilder,
A = allocator_api2::alloc::Global,
> = $crate::map::$mr_target<'a, K, V, $Table<K, V, S, A>>;
)*
#[doc = $mx_doc]
pub type $mx_alias<
'a,
K,
V,
F,
S = $crate::DefaultHashBuilder,
A = allocator_api2::alloc::Global,
> = $crate::map::ExtractIf<'a, K, V, $Table<K, V, S, A>, F>;
$(
#[doc = $sp_doc]
pub type $sp_alias<
T,
S = $crate::DefaultHashBuilder,
A = allocator_api2::alloc::Global,
> = $crate::set::$sp_target<T, $Table<T, (), S, A>>;
)*
$(
#[doc = $sr_doc]
pub type $sr_alias<
'a,
T,
S = $crate::DefaultHashBuilder,
A = allocator_api2::alloc::Global,
> = $crate::set::$sr_target<'a, T, $Table<T, (), S, A>>;
)*
};
}
pub(crate) use declare_backend_aliases;