use tree::NodeId; pub mod layout_attributes; pub mod node; pub mod node_ref; pub mod passes; pub mod real_dom; pub mod state; pub mod tree; pub mod utils; /// A id for a node that lives in the real dom. type RealNodeId = NodeId; /// Used in derived state macros #[derive(Eq, PartialEq)] #[doc(hidden)] pub struct HeightOrdering { pub height: u16, pub id: RealNodeId, } impl HeightOrdering { pub fn new(height: u16, id: RealNodeId) -> Self { HeightOrdering { height, id } } } // not the ordering after height is just for deduplication it can be any ordering as long as it is consistent impl Ord for HeightOrdering { fn cmp(&self, other: &Self) -> std::cmp::Ordering { self.height.cmp(&other.height).then(self.id.cmp(&other.id)) } } impl PartialOrd for HeightOrdering { fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } }