Skip to main content

RelationalAtom

Enum RelationalAtom 

Source
pub enum RelationalAtom {
    Name(TaskName),
    Project(ProjectName),
    Tag(TagName),
}
Expand description

A typed relational atom per QRY-004.

Each variant carries the validated identifier that the atom’s predicate compares against. The relational filter flag (--child-of etc.) decides whether the relation walked is direct or transitive.

Variants§

§

Name(TaskName)

name:<TaskName>: the target task’s name equals the given identifier.

§

Project(ProjectName)

project:<ProjectName>: the target task’s owning project name equals the given identifier.

§

Tag(TagName)

tag:<TagName>: the target task’s owning project carries the given tag.

Implementations§

Source§

impl RelationalAtom

Source

pub fn matches( &self, project_name: &ProjectName, task_name: &TaskName, project_tags: &BTreeSet<TagName>, ) -> bool

Evaluate this atom against a candidate target task per QRY-004.

task_name is the task’s own name; project_name is the task’s owning project; project_tags is the project’s tags: set. Returns true iff the atom’s predicate matches the task.

Trait Implementations§

Source§

impl Clone for RelationalAtom

Source§

fn clone(&self) -> RelationalAtom

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RelationalAtom

Source§

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

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

impl Hash for RelationalAtom

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 PartialEq for RelationalAtom

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for RelationalAtom

Source§

impl StructuralPartialEq for RelationalAtom

Auto Trait Implementations§

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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> ToOwned for T
where T: Clone,

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.