pub enum RequiredCapability {
Tag(Tag),
Predicate(Predicate),
AxisAny(TaxonomyAxis),
AxisKey(TagKey),
}Expand description
One requirement an intent imposes on a candidate node.
Built from one of the three macros (require!, require_axis!,
require_axis_value!) or constructed directly via the variant
constructors. Cheap to clone; structural equality (no Eq
because the predicate variant carries f64 thresholds).
Variants§
Tag(Tag)
Specific tag must be present in the candidate’s tag set.
Built by require!("<axis>.<key>") (axis presence) or
require!("<axis>.<key>=<value>") / require!("<axis>.<key>:<value>")
(axis value).
Predicate(Predicate)
Predicate must evaluate to true against the candidate.
Built by require!("<axis>.<key> >= <n>") and similar
comparison forms.
AxisAny(TaxonomyAxis)
Any tag in this axis is sufficient. Built by
require_axis!("<axis>") — useful for “any device” /
“any loaded model” / etc.
AxisKey(TagKey)
Any tag with this (axis, key) is sufficient (presence or
value). Built by require_axis_value!("<axis>", "<key>").
Implementations§
Source§impl RequiredCapability
impl RequiredCapability
Sourcepub fn evaluate(&self, ctx: &EvalContext<'_>) -> bool
pub fn evaluate(&self, ctx: &EvalContext<'_>) -> bool
Evaluate against a candidate’s (tags, metadata). Pure
function; reuses Predicate::evaluate for the
Predicate variant.
Trait Implementations§
Source§impl Clone for RequiredCapability
impl Clone for RequiredCapability
Source§fn clone(&self) -> RequiredCapability
fn clone(&self) -> RequiredCapability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RequiredCapability
impl Debug for RequiredCapability
Source§impl PartialEq for RequiredCapability
impl PartialEq for RequiredCapability
Source§fn eq(&self, other: &RequiredCapability) -> bool
fn eq(&self, other: &RequiredCapability) -> bool
self and other values to be equal, and is used by ==.