1#[cfg(feature = "alloc")]
2use super::storage::Heap;
3use super::{
4 rb::SharedRb,
5 storage::Array,
6 wrap::{CachingCons, CachingProd},
7};
8#[cfg(feature = "alloc")]
9use alloc::sync::Arc;
10
11pub type StaticRb<T, const N: usize> = SharedRb<Array<T, N>>;
15
16pub type StaticProd<'a, T, const N: usize> = CachingProd<&'a StaticRb<T, N>>;
18
19pub type StaticCons<'a, T, const N: usize> = CachingCons<&'a StaticRb<T, N>>;
21
22#[cfg(feature = "alloc")]
24pub type HeapRb<T> = SharedRb<Heap<T>>;
25
26#[cfg(feature = "alloc")]
27pub type HeapProd<T> = CachingProd<Arc<HeapRb<T>>>;
29
30#[cfg(feature = "alloc")]
31pub type HeapCons<T> = CachingCons<Arc<HeapRb<T>>>;