pub trait Subtree: Sized {
type Node;
// Required methods
fn get_pos(&self) -> usize;
fn value(&self) -> Self::Node;
fn parent(&self) -> Option<Self>;
fn children(&self) -> Vec<Self>;
fn child_values(&self) -> Vec<Self::Node>;
fn first_child(&self) -> Option<Self>;
fn prev_sibling(&self) -> Option<Self>;
fn next_sibling(&self) -> Option<Self>;
}
Required Associated Types§
Required Methods§
fn get_pos(&self) -> usize
fn value(&self) -> Self::Node
fn parent(&self) -> Option<Self>
fn children(&self) -> Vec<Self>
fn child_values(&self) -> Vec<Self::Node>
fn first_child(&self) -> Option<Self>
fn prev_sibling(&self) -> Option<Self>
fn next_sibling(&self) -> Option<Self>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.