datafusion_common::tree_node

Trait DynTreeNode

Source
pub trait DynTreeNode {
    // Required methods
    fn arc_children(&self) -> Vec<&Arc<Self>>;
    fn with_new_arc_children(
        &self,
        arc_self: Arc<Self>,
        new_children: Vec<Arc<Self>>,
    ) -> Result<Arc<Self>>;
}
Expand description

Helper trait for implementing TreeNode that have children stored as Arcs. If some trait object, such as dyn T, implements this trait, its related Arc<dyn T> will automatically implement TreeNode.

Required Methods§

Source

fn arc_children(&self) -> Vec<&Arc<Self>>

Returns all children of the specified TreeNode.

Source

fn with_new_arc_children( &self, arc_self: Arc<Self>, new_children: Vec<Arc<Self>>, ) -> Result<Arc<Self>>

Constructs a new node with the specified children.

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.

Implementors§