gctree 0.35.0

A library for cache-friendly, graph-like, arena-allocated datastructures.
Documentation
//!

#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum Phase {
    /// Before visiting a node
    Before,
    /// While visiting a node, between visiting child {0} and {1}
    Between(usize, usize),
    /// After visiting a node
    After,
}

impl std::fmt::Display for Phase {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match self {
            Self::Before => write!(f, "before"),
            Self::Between(prev, next) => write!(f, "between {prev} & {next}"),
            Self::After => write!(f, "after"),
        }
    }
}