pub enum DomainComputation {
Filter {
base: String,
predicate: String,
},
Union {
domains: Vec<String>,
},
Intersection {
domains: Vec<String>,
},
Difference {
base: String,
subtract: String,
},
Product {
domains: Vec<String>,
},
PowerSet {
base: String,
},
Projection {
product: String,
index: usize,
},
Custom {
description: String,
formula: String,
},
}Expand description
Types of domain computations.
Each variant represents a different way of deriving a new domain from existing domains.
Variants§
Filter
Filter a base domain by a predicate.
Creates a subset of the base domain containing only elements satisfying the predicate.
Union
Union of multiple domains.
Creates a domain containing elements from all source domains.
Intersection
Intersection of multiple domains.
Creates a domain containing only elements present in all source domains.
Difference
Difference between two domains (A - B).
Creates a domain containing elements in the first domain but not in the second.
Product
Product of domains.
Creates a cartesian product of the source domains.
PowerSet
Power set of a domain.
Creates a domain containing all subsets of the base domain.
Projection
Projection from a product domain.
Extracts a component from a product domain.
Custom
Custom computation with a formula.
Allows user-defined domain computations with arbitrary logic.
Trait Implementations§
Source§impl Clone for DomainComputation
impl Clone for DomainComputation
Source§fn clone(&self) -> DomainComputation
fn clone(&self) -> DomainComputation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DomainComputation
impl Debug for DomainComputation
Source§impl<'de> Deserialize<'de> for DomainComputation
impl<'de> Deserialize<'de> for DomainComputation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for DomainComputation
impl Display for DomainComputation
Source§impl PartialEq for DomainComputation
impl PartialEq for DomainComputation
Source§impl Serialize for DomainComputation
impl Serialize for DomainComputation
impl Eq for DomainComputation
impl StructuralPartialEq for DomainComputation
Auto Trait Implementations§
impl Freeze for DomainComputation
impl RefUnwindSafe for DomainComputation
impl Send for DomainComputation
impl Sync for DomainComputation
impl Unpin for DomainComputation
impl UnwindSafe for DomainComputation
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
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
key and return true if they are equal.