Enum qrlew::expr::Expr

source ·
pub enum Expr {
    Column(Column),
    Value(Value),
    Function(Function),
    Aggregate(Aggregate),
    Struct(Struct),
}
Expand description

A Expr enum inspired by: https://docs.rs/sqlparser/latest/sqlparser/ast/enum.Expr.html and mostly: https://docs.rs/polars/latest/polars/prelude/enum.Expr.html or https://docs.rs/polars-lazy/latest/polars_lazy/dsl/enum.Expr.html

Variants§

§

Column(Column)

§

Value(Value)

§

Function(Function)

§

Aggregate(Aggregate)

§

Struct(Struct)

Implementations§

source§

impl Expr

source

pub fn dot<W: Write>( &self, data_type: DataType, w: &mut W, opts: &[&str] ) -> Result<()>

Render the Expr to dot

source

pub fn dot_value<W: Write>( &self, val: Value, w: &mut W, opts: &[&str] ) -> Result<()>

Render the Expr to dot

source§

impl Expr

source

pub fn gaussian_noise() -> Self

Gaussian noise based on Box Muller transform

source

pub fn add_gaussian_noise(self, sigma: f64) -> Self

Gaussian noise based on Box Muller transform

source§

impl Expr

source

pub fn reduce_modulo_bijection(&self) -> &Expr

Reduce the expression modulo a bijection

source

pub fn into_column_modulo_bijection(&self) -> Option<Column>

Some column if it reduces to a column, None else.

source

pub fn is_unique(&self) -> bool

True if reduces into a unique 0-ary function.

source

pub fn eq_modulo_bijection(&self, expr: &Expr) -> bool

True if 2 expressions are equal modulo a bijection

source§

impl Expr

Implement random expression constructor (same thing but no macro here)

source

pub fn random(n: usize) -> Expr

source

pub fn filter_column( name: &str, min: Option<Value>, max: Option<Value>, possible_values: Vec<Value> ) -> Option<Expr>

source

pub fn and_iter<I: IntoIterator<Item = Expr>>(exprs: I) -> Expr

source

pub fn filter( columns: BTreeMap<&str, (Option<Value>, Option<Value>, Vec<Value>)> ) -> Expr

Returns an Expr for filtering the columns

§Arguments
  • columns: Vec<(column_name, minimal_value, maximal_value, possible_values)>

For example,

  • filter(vec![("my_col", Value::float(2.), Value::float(10.), vec![])])(my_col > 2.) and (my_col < 10)
  • filter(vec![("my_col", None, Value::float(10.), vec![Value::integer(1), Value::integer(2), Value::integer(5)])])(my_col < 10.) and (my_col in (1, 2, 5))
  • filter(vec![("my_col1", None, Value::integer(10), vec![]), ("my_col2", Value::float(1.), None, vec![])])])(my_col1 < 10) and (my_col2 > 1.)
source§

impl Expr

source§

impl Expr

source

pub fn opposite<E: Into<Expr>>(expr: E) -> Expr

source

pub fn not<E: Into<Expr>>(expr: E) -> Expr

source

pub fn exp<E: Into<Expr>>(expr: E) -> Expr

source

pub fn ln<E: Into<Expr>>(expr: E) -> Expr

source

pub fn log<E: Into<Expr>>(expr: E) -> Expr

source

pub fn abs<E: Into<Expr>>(expr: E) -> Expr

source

pub fn sin<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cos<E: Into<Expr>>(expr: E) -> Expr

source

pub fn sqrt<E: Into<Expr>>(expr: E) -> Expr

source

pub fn md5<E: Into<Expr>>(expr: E) -> Expr

source

pub fn lower<E: Into<Expr>>(expr: E) -> Expr

source

pub fn upper<E: Into<Expr>>(expr: E) -> Expr

source

pub fn char_length<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_text<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_integer<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_float<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_boolean<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_date_time<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_date<E: Into<Expr>>(expr: E) -> Expr

source

pub fn cast_as_time<E: Into<Expr>>(expr: E) -> Expr

source

pub fn ceil<E: Into<Expr>>(expr: E) -> Expr

source

pub fn floor<E: Into<Expr>>(expr: E) -> Expr

source

pub fn sign<E: Into<Expr>>(expr: E) -> Expr

source

pub fn unhex<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_year<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_month<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_day<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_hour<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_minute<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_second<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_microsecond<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_millisecond<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_dow<E: Into<Expr>>(expr: E) -> Expr

source

pub fn extract_week<E: Into<Expr>>(expr: E) -> Expr

source

pub fn dayname<E: Into<Expr>>(expr: E) -> Expr

source

pub fn quarter<E: Into<Expr>>(expr: E) -> Expr

source

pub fn date<E: Into<Expr>>(expr: E) -> Expr

source

pub fn unix_timestamp<E: Into<Expr>>(expr: E) -> Expr

source

pub fn is_null<E: Into<Expr>>(expr: E) -> Expr

source§

impl Expr

source

pub fn plus<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn minus<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn multiply<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn modulo<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn string_concat<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn gt<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn lt<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn gt_eq<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn lt_eq<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn eq<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn not_eq<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn and<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn or<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn xor<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn bitwise_or<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn bitwise_and<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn bitwise_xor<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn pow<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn position<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn in_list<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn least<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn greatest<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn coalesce<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn rtrim<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn ltrim<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn substr<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn trunc<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn round<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn regexp_contains<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn encode<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn decode<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn date_format<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn from_unixtime<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn like<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn ilike<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn choose<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source

pub fn is_bool<L: Into<Expr>, R: Into<Expr>>(left: L, right: R) -> Expr

source§

impl Expr

source

pub fn divide<L: Into<Expr>, R: Into<Expr> + Clone>(left: L, right: R) -> Expr

source§

impl Expr

source

pub fn case<F: Into<Expr>, S: Into<Expr>, T: Into<Expr>>( first: F, second: S, third: T ) -> Expr

source

pub fn substr_with_size<F: Into<Expr>, S: Into<Expr>, T: Into<Expr>>( first: F, second: S, third: T ) -> Expr

source

pub fn regexp_replace<F: Into<Expr>, S: Into<Expr>, T: Into<Expr>>( first: F, second: S, third: T ) -> Expr

source

pub fn datetime_diff<F: Into<Expr>, S: Into<Expr>, T: Into<Expr>>( first: F, second: S, third: T ) -> Expr

source§

impl Expr

source

pub fn regexp_extract<F: Into<Expr>, S: Into<Expr>, T: Into<Expr>, U: Into<Expr>>( first: F, second: S, third: T, fourth: U ) -> Expr

source§

impl Expr

source

pub fn concat<E: Into<Expr>>(args: Vec<E>) -> Expr

source§

impl Expr

source

pub fn first<E: Into<Expr>>(expr: E) -> Expr

source

pub fn last<E: Into<Expr>>(expr: E) -> Expr

source

pub fn min<E: Into<Expr>>(expr: E) -> Expr

source

pub fn max<E: Into<Expr>>(expr: E) -> Expr

source

pub fn count<E: Into<Expr>>(expr: E) -> Expr

source

pub fn mean<E: Into<Expr>>(expr: E) -> Expr

source

pub fn sum<E: Into<Expr>>(expr: E) -> Expr

source

pub fn var<E: Into<Expr>>(expr: E) -> Expr

source

pub fn std<E: Into<Expr>>(expr: E) -> Expr

source

pub fn count_distinct<E: Into<Expr>>(expr: E) -> Expr

source

pub fn mean_distinct<E: Into<Expr>>(expr: E) -> Expr

source

pub fn sum_distinct<E: Into<Expr>>(expr: E) -> Expr

source

pub fn var_distinct<E: Into<Expr>>(expr: E) -> Expr

source

pub fn std_distinct<E: Into<Expr>>(expr: E) -> Expr

source§

impl Expr

Basic constructors They are short because they are supposed to be the primary API for the module

source

pub fn col<S: Into<String>>(field: S) -> Expr

source

pub fn qcol<S: Into<String>>(relation: S, field: S) -> Expr

source

pub fn val<V: Into<Value>>(value: V) -> Expr

source

pub fn list<L: IntoIterator<Item = V>, V: Into<Value>>(values: L) -> Expr

source

pub fn structured<S: Clone + Into<String>, E: Clone + Into<Arc<Expr>>, F: AsRef<[(S, E)]>>( fields: F ) -> Expr

source

pub fn all<F: IntoIterator<Item = Expr>>(factors: F) -> Expr

source§

impl Expr

source

pub fn columns(&self) -> Vec<&Column>

Collect all columns in an expression

source§

impl Expr

source

pub fn has_column(&self) -> bool

source§

impl Expr

source

pub fn rename<'a>(&'a self, columns: &'a Hierarchy<Identifier>) -> Expr

source§

impl Expr

source

pub fn replace(&self, map: Vec<(Expr, Expr)>) -> (Expr, Vec<(Expr, Expr)>)

Replace matched left expressions by corresponding right expressions

source

pub fn alias( &self, named_exprs: Vec<(String, Expr)> ) -> (Expr, Vec<(String, Expr)>)

Alias expressions by name

source

pub fn into_aggregate(self) -> Expr

Transform an expression into an aggregation

Trait Implementations§

source§

impl<'a> Acceptor<'a> for Expr

Implement the Acceptor trait

source§

fn dependencies(&'a self) -> Dependencies<'a, Self>

All the sub-objects to visit
source§

fn accept<O: Clone, V: Visitor<'a, Self, O>>(&'a self, visitor: V) -> O

source§

fn iter(&'a self) -> Iter<'a, Self>

source§

fn iter_with<O: Clone, V: Visitor<'a, Self, O>>( &'a self, visitor: V ) -> IterWith<'a, O, Self, V>

source§

impl Add for Expr

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl And<Expr> for Map

Propagate expr columns into the Map and return the modified expression

§

type Product = (Map, Expr)

source§

fn and(self, expr: Expr) -> Self::Product

source§

impl And<Expr> for Reduce

Propagate expr columns into the Reduce and return the modified expression

§

type Product = (Reduce, Expr)

source§

fn and(self, expr: Expr) -> Self::Product

source§

impl BitAnd for Expr

§

type Output = Expr

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
source§

impl BitOr for Expr

§

type Output = Expr

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
source§

impl BitXor for Expr

§

type Output = Expr

The resulting type after applying the ^ operator.
source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
source§

impl Clone for Expr

source§

fn clone(&self) -> Expr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Expr

source§

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

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

impl Display for Expr

source§

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

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

impl Div for Expr

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Self) -> Self::Output

Performs the / operation. Read more
source§

impl From<&Expr> for Expr

Based on the FromExprVisitor implement the From trait

source§

fn from(value: &Expr) -> Self

Converts to this type from the input type.
source§

impl From<Aggregate> for Expr

source§

fn from(v: Aggregate) -> Self

Converts to this type from the input type.
source§

impl From<AggregateColumn> for Expr

source§

fn from(value: AggregateColumn) -> Self

Converts to this type from the input type.
source§

impl From<Function> for Expr

source§

fn from(v: Function) -> Self

Converts to this type from the input type.
source§

impl From<Identifier> for Expr

source§

fn from(v: Column) -> Self

Converts to this type from the input type.
source§

impl From<Struct> for Expr

source§

fn from(v: Struct) -> Self

Converts to this type from the input type.
source§

impl From<Value> for Expr

source§

fn from(v: Value) -> Self

Converts to this type from the input type.
source§

impl Function for Expr

source§

fn domain(&self) -> DataType

The domain, given as a Cartesian product
source§

fn super_image(&self, set: &DataType) -> Result<DataType, Error>

A super-image of a set (a set containing the image of the set and included in the co-domain)
source§

fn value(&self, arg: &Value) -> Result<Value, Error>

The actual implementation of the function
source§

fn co_domain(&self) -> DataType

The co-domain
source§

impl Hash for Expr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<'a> IntoIterator for &'a Expr

§

type Item = &'a Expr

The type of the elements being iterated over.
§

type IntoIter = FilterMap<Iterator<'a, &'a Expr, Identity, Expr>, fn(_: (&'a Expr, State<&'a Expr>)) -> Option<&'a Expr>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl Mul for Expr

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
source§

impl Neg for Expr

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl Not for Expr

§

type Output = Expr

The resulting type after applying the ! operator.
source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
source§

impl PartialEq for Expr

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Rem for Expr

§

type Output = Expr

The resulting type after applying the % operator.
source§

fn rem(self, rhs: Self) -> Self::Output

Performs the % operation. Read more
source§

impl Sub for Expr

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
source§

impl<'a> TryFrom<&'a Expr> for Expr

Based on the TryIntoExprVisitor implement the TryFrom trait

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(value: &'a Expr) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Expr> for Aggregate

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(expr: Expr) -> Result<Self>

Performs the conversion.
source§

impl TryFrom<Expr> for AggregateColumn

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(value: Expr) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Expr> for Function

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(expr: Expr) -> Result<Self>

Performs the conversion.
source§

impl TryFrom<Expr> for Column

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(expr: Expr) -> Result<Self>

Performs the conversion.
source§

impl TryFrom<Expr> for Struct

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(expr: Expr) -> Result<Self>

Performs the conversion.
source§

impl TryFrom<Expr> for Value

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(expr: Expr) -> Result<Self>

Performs the conversion.
source§

impl<'a> TryFrom<WithContext<&'a Expr, &'a Hierarchy<Identifier>>> for Expr

Based on the TryIntoExprVisitor implement the TryFrom trait

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( value: WithContext<&'a Expr, &'a Hierarchy<Identifier>> ) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<'a> Visitor<'a, Expr> for RenameVisitor<'a>

source§

fn column(&self, column: &'a Column) -> Expr

source§

fn value(&self, value: &'a Value) -> Expr

source§

fn function(&self, function: &'a Function, arguments: Vec<Expr>) -> Expr

source§

fn aggregate(&self, aggregate: &'a Aggregate, argument: Expr) -> Expr

source§

fn structured(&self, fields: Vec<(Identifier, Expr)>) -> Expr

source§

impl<'a> Visitor<'a, Expr, (Expr, Vec<(Expr, Expr)>)> for ReplaceVisitor

source§

fn visit( &self, acceptor: &'a Expr, dependencies: Visited<'a, Expr, (Expr, Vec<(Expr, Expr)>)> ) -> (Expr, Vec<(Expr, Expr)>)

A function called on each node of a structured object with its dependencies already visited
source§

fn dependencies(&self, acceptor: &'a A) -> Dependencies<'a, A>

Describe the dependencies of the acceptor The dependencies can be customized
source§

impl<RequireInput> With<Expr> for MapBuilder<RequireInput>

source§

fn with(self, expr: Expr) -> Self

source§

impl<RequireInput> With<Expr> for ReduceBuilder<RequireInput>

source§

fn with(self, expr: Expr) -> Self

source§

impl Eq for Expr

source§

impl StructuralPartialEq for Expr

source§

impl Variant for Expr

Auto Trait Implementations§

§

impl Freeze for Expr

§

impl !RefUnwindSafe for Expr

§

impl Send for Expr

§

impl Sync for Expr

§

impl Unpin for Expr

§

impl !UnwindSafe for Expr

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Fun> DataTyped for Fun
where Fun: Function + ?Sized,

source§

fn data_type(&self) -> DataType

Return the DataType atached to the object
source§

fn has_data_type(&self, data_type: &DataType) -> bool

Return whether the object has exactly the given type
source§

fn is_contained_by(&self, data_type: &DataType) -> bool

Return whether the object has a type contained in the given type
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<'a, T, V> Visitor<'a, Expr, T> for V
where T: Clone, V: Visitor<'a, T>,

source§

fn visit(&self, acceptor: &'a Expr, dependencies: Visited<'a, Expr, T>) -> T

A function called on each node of a structured object with its dependencies already visited
source§

fn dependencies(&self, acceptor: &'a A) -> Dependencies<'a, A>

Describe the dependencies of the acceptor The dependencies can be customized
source§

impl<T> ClosedNeg for T
where T: Neg<Output = T>,

source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,