Skip to main content

ExprEncoding

Trait ExprEncoding 

Source
pub trait ExprEncoding:
    'static
    + Send
    + Sync
    + Debug
    + Sealed {
    // Required methods
    fn as_any(&self) -> &dyn Any;
    fn id(&self) -> ExprId;
    fn build(
        &self,
        metadata: &[u8],
        children: Vec<ExprRef>,
    ) -> VortexResult<ExprRef>;
}
Expand description

Encoding trait for a Vortex expression.

An ExprEncoding can be registered with a Vortex session in order to support deserialization via the expression protobuf representation.

Required Methods§

Source

fn as_any(&self) -> &dyn Any

Source

fn id(&self) -> ExprId

Returns the ID of the expression encoding.

Source

fn build( &self, metadata: &[u8], children: Vec<ExprRef>, ) -> VortexResult<ExprRef>

Deserializes an expression from its serialized form.

Returns None if the expression is not serializable.

Implementations§

Source§

impl dyn ExprEncoding + '_

Source

pub fn is<V: VTable>(&self) -> bool

Source

pub fn as_<V: VTable>(&self) -> &V::Encoding

Source

pub fn as_opt<V: VTable>(&self) -> Option<&V::Encoding>

Trait Implementations§

Source§

impl AsRef<dyn ExprEncoding> for BetweenExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for BinaryExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for CastExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for ConcatExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for DynamicComparisonExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for GetItemExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for IsNullExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for LikeExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for ListContainsExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for LiteralExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for MergeExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for NotExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for PackExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for RootExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn ExprEncoding> for SelectExprEncoding

Source§

fn as_ref(&self) -> &dyn ExprEncoding

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Display for dyn ExprEncoding + '_

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for dyn ExprEncoding + '_

Source§

impl PartialEq for dyn ExprEncoding + '_

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§