#[non_exhaustive]pub struct Operator {
pub name: Cow<'static, str>,
pub family: OperatorFamily,
pub scoping: bool,
pub deterministic: bool,
}Expand description
One operator an engine can evaluate.
This crate’s own, not datalogic_rs::OperatorInfo, which it is built
from: its family is this crate’s OperatorFamily.
use dataflow_rs::datalogic_rs::{Family, OperatorInfo};
use dataflow_rs::expr::{Operator, OperatorFamily};
let _: Option<Operator> = None;
let _: Option<OperatorFamily> = None;
let _: Option<OperatorInfo> = None;
let _: Option<Family> = None;Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: Cow<'static, str>The name an expression spells it with.
family: OperatorFamilyThe family it belongs to.
scoping: boolIt evaluates an argument once per element, with var reading the element.
deterministic: boolThe same arguments always give the same result.
Implementations§
Source§impl Operator
impl Operator
Sourcepub fn custom(name: impl Into<Cow<'static, str>>) -> Self
pub fn custom(name: impl Into<Cow<'static, str>>) -> Self
A host operator: not scoping, not deterministic, until told otherwise.
Sourcepub fn scoping(self, yes: bool) -> Self
pub fn scoping(self, yes: bool) -> Self
Sets whether the operator evaluates an argument once per element.
Sourcepub fn deterministic(self, yes: bool) -> Self
pub fn deterministic(self, yes: bool) -> Self
Sets whether the same arguments always give the same result.
Trait Implementations§
impl Eq for Operator
impl StructuralPartialEq for Operator
Auto Trait Implementations§
impl Freeze for Operator
impl RefUnwindSafe for Operator
impl Send for Operator
impl Sync for Operator
impl Unpin for Operator
impl UnsafeUnpin for Operator
impl UnwindSafe for Operator
Blanket Implementations§
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§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.