orx_tree/dary/
variant.rs

1use super::reclaimer::DaryReclaimer;
2use crate::TreeVariant;
3use core::marker::PhantomData;
4use orx_selfref_col::{RefsArrayLeftMost, RefsSingle, Variant};
5
6/// A dynamic tree where each of the nodes might have any number of child nodes.
7pub struct Dary<const D: usize, T> {
8    p: PhantomData<T>,
9}
10
11impl<const D: usize, T> Variant for Dary<D, T> {
12    type Item = T;
13
14    type Prev = RefsSingle<Self>;
15
16    type Next = RefsArrayLeftMost<D, Self>;
17
18    type Ends = RefsSingle<Self>;
19}
20
21impl<const D: usize, T> TreeVariant for Dary<D, T> {
22    type Reclaimer = DaryReclaimer;
23
24    type Children = RefsArrayLeftMost<D, Self>;
25}