pub struct Merge { /* private fields */ }
Expand description
Merge zero or more expressions that ALL return structs.
If any field names are duplicated, the field from later expressions wins.
NOTE: Fields are not recursively merged, i.e. the later field REPLACES the earlier field. This makes struct fields behaviour consistent with other dtypes.
Implementations§
Trait Implementations§
Source§impl VortexExpr for Merge
impl VortexExpr for Merge
Source§fn unchecked_evaluate(&self, batch: &Array) -> VortexResult<Array>
fn unchecked_evaluate(&self, batch: &Array) -> VortexResult<Array>
Compute result of expression on given batch producing a new batch Read more
fn children(&self) -> Vec<&ExprRef>
fn replacing_children(self: Arc<Self>, children: Vec<ExprRef>) -> ExprRef
Source§fn evaluate(&self, batch: &Array) -> VortexResult<Array>
fn evaluate(&self, batch: &Array) -> VortexResult<Array>
Compute result of expression on given batch producing a new batch
Source§fn return_dtype(&self, scope_dtype: &DType) -> VortexResult<DType>
fn return_dtype(&self, scope_dtype: &DType) -> VortexResult<DType>
Compute the type of the array returned by VortexExpr::evaluate.
impl Eq for Merge
impl StructuralPartialEq for Merge
Auto Trait Implementations§
impl Freeze for Merge
impl !RefUnwindSafe for Merge
impl Send for Merge
impl Sync for Merge
impl Unpin for Merge
impl !UnwindSafe for Merge
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out
indicating that a T
is niched.