pub type ExprRef = Arc<dyn VortexExpr>;
Aliased Type§
pub struct ExprRef { /* private fields */ }
Trait Implementations§
Source§impl From<BetweenExpr> for ExprRef
impl From<BetweenExpr> for ExprRef
Source§fn from(value: BetweenExpr) -> ExprRef
fn from(value: BetweenExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<BinaryExpr> for ExprRef
impl From<BinaryExpr> for ExprRef
Source§fn from(value: BinaryExpr) -> ExprRef
fn from(value: BinaryExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<DynamicComparisonExpr> for ExprRef
impl From<DynamicComparisonExpr> for ExprRef
Source§fn from(value: DynamicComparisonExpr) -> ExprRef
fn from(value: DynamicComparisonExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<GetItemExpr> for ExprRef
impl From<GetItemExpr> for ExprRef
Source§fn from(value: GetItemExpr) -> ExprRef
fn from(value: GetItemExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<IsNullExpr> for ExprRef
impl From<IsNullExpr> for ExprRef
Source§fn from(value: IsNullExpr) -> ExprRef
fn from(value: IsNullExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<ListContainsExpr> for ExprRef
impl From<ListContainsExpr> for ExprRef
Source§fn from(value: ListContainsExpr) -> ExprRef
fn from(value: ListContainsExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<LiteralExpr> for ExprRef
impl From<LiteralExpr> for ExprRef
Source§fn from(value: LiteralExpr) -> ExprRef
fn from(value: LiteralExpr) -> ExprRef
Converts to this type from the input type.
Source§impl From<SelectExpr> for ExprRef
impl From<SelectExpr> for ExprRef
Source§fn from(value: SelectExpr) -> ExprRef
fn from(value: SelectExpr) -> ExprRef
Converts to this type from the input type.
Source§impl Node for ExprRef
impl Node for ExprRef
Source§fn apply_children<'a, F: FnMut(&'a Self) -> VortexResult<TraversalOrder>>(
&'a self,
f: F,
) -> VortexResult<TraversalOrder>
fn apply_children<'a, F: FnMut(&'a Self) -> VortexResult<TraversalOrder>>( &'a self, f: F, ) -> VortexResult<TraversalOrder>
Walk the node’s children by applying
f
to them. Read moreSource§fn map_children<F: FnMut(Self) -> VortexResult<Transformed<Self>>>(
self,
f: F,
) -> VortexResult<Transformed<Self>>
fn map_children<F: FnMut(Self) -> VortexResult<Transformed<Self>>>( self, f: F, ) -> VortexResult<Transformed<Self>>
Rewrite the node’s children by applying
f
to them. Read moreSource§fn iter_children<T>(
&self,
f: impl FnOnce(&mut dyn Iterator<Item = &Self>) -> T,
) -> T
fn iter_children<T>( &self, f: impl FnOnce(&mut dyn Iterator<Item = &Self>) -> T, ) -> T
This is a lower level API that other functions rely on for their implementation.
Source§fn children_count(&self) -> usize
fn children_count(&self) -> usize
This is a lower level API that other functions rely on for their implementation.
Source§impl<'a> NodeContainer<'a, Arc<dyn VortexExpr>> for ExprRef
impl<'a> NodeContainer<'a, Arc<dyn VortexExpr>> for ExprRef
Source§fn apply_elements<F: FnMut(&'a Self) -> VortexResult<TraversalOrder>>(
&'a self,
f: F,
) -> VortexResult<TraversalOrder>
fn apply_elements<F: FnMut(&'a Self) -> VortexResult<TraversalOrder>>( &'a self, f: F, ) -> VortexResult<TraversalOrder>
Applies
f
to all elements of the container, accepting them by referenceSource§fn map_elements<F: FnMut(Self) -> VortexResult<Transformed<Self>>>(
self,
f: F,
) -> VortexResult<Transformed<Self>>
fn map_elements<F: FnMut(Self) -> VortexResult<Transformed<Self>>>( self, f: F, ) -> VortexResult<Transformed<Self>>
Consumes all the children of the node, replacing them with the result of
f
.Source§impl VortexExprExt for ExprRef
impl VortexExprExt for ExprRef
Source§fn field_references(&self) -> HashSet<FieldName>
fn field_references(&self) -> HashSet<FieldName>
Accumulate all field references from this expression and its children in a set