pub struct PhysicalQuery { /* private fields */ }Expand description
A selection plan bound to one structure dictionary and policy.
Glob patterns have become stable symbol sets and constant branches have been removed. Reuse this value for repeated frames sharing the topology.
Implementations§
Source§impl PhysicalQuery
impl PhysicalQuery
Sourcepub fn evaluate(
&self,
structure: &Structure,
policy: &AnalysisPolicy,
groups: &Groups,
spatial: Option<&dyn SpatialResolver>,
) -> Result<Evaluation, Vec<Diagnostic>>
pub fn evaluate( &self, structure: &Structure, policy: &AnalysisPolicy, groups: &Groups, spatial: Option<&dyn SpatialResolver>, ) -> Result<Evaluation, Vec<Diagnostic>>
Executes this structure-bound plan over the complete topology.
§Errors
Returns diagnostics when data required by a predicate is unavailable.
Sourcepub fn evaluate_in(
&self,
structure: &Structure,
universe: &AtomSelection,
policy: &AnalysisPolicy,
groups: &Groups,
spatial: Option<&dyn SpatialResolver>,
) -> Result<Evaluation, Vec<Diagnostic>>
pub fn evaluate_in( &self, structure: &Structure, universe: &AtomSelection, policy: &AnalysisPolicy, groups: &Groups, spatial: Option<&dyn SpatialResolver>, ) -> Result<Evaluation, Vec<Diagnostic>>
Executes inside a current view; global logical fallbacks can escape it.
§Errors
Returns the same diagnostics as PhysicalQuery::evaluate.
Trait Implementations§
Source§impl Clone for PhysicalQuery
impl Clone for PhysicalQuery
Auto Trait Implementations§
impl Freeze for PhysicalQuery
impl RefUnwindSafe for PhysicalQuery
impl Send for PhysicalQuery
impl Sync for PhysicalQuery
impl Unpin for PhysicalQuery
impl UnsafeUnpin for PhysicalQuery
impl UnwindSafe for PhysicalQuery
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<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 more