tabled::object

Trait Object

Source
pub trait Object: Sized {
    type Iter: Iterator<Item = Entity>;

    // Required method
    fn cells<R>(&self, table: &Table<R>) -> Self::Iter
       where R: Records;

    // Provided methods
    fn and<O>(self, rhs: O) -> UnionCombination<Self, O>
       where O: Object { ... }
    fn not<O>(self, rhs: O) -> DiffCombination<Self, O>
       where O: Object { ... }
    fn intersect<O>(self, rhs: O) -> IntersectionCombination<Self, O>
       where O: Object { ... }
    fn inverse(self) -> InversionCombination<Self> { ... }
}
Expand description

Object helps to locate a necessary part of a Table.

Required Associated Types§

Source

type Iter: Iterator<Item = Entity>

An Iterator which returns a list of cells.

Required Methods§

Source

fn cells<R>(&self, table: &Table<R>) -> Self::Iter
where R: Records,

Cells returns a set of coordinates of cells

Provided Methods§

Source

fn and<O>(self, rhs: O) -> UnionCombination<Self, O>
where O: Object,

Combines cells. It doesn’t repeat cells.

Source

fn not<O>(self, rhs: O) -> DiffCombination<Self, O>
where O: Object,

Excludes rhs cells from this cells.

Source

fn intersect<O>(self, rhs: O) -> IntersectionCombination<Self, O>
where O: Object,

Returns cells which are present in both Objects only.

Source

fn inverse(self) -> InversionCombination<Self>

Returns cells which are not present in target Object.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Object for Cell

Source§

impl Object for Column

Source§

impl Object for FirstColumn

Source§

impl Object for FirstRow

Source§

impl Object for Frame

Source§

impl Object for LastColumn

Source§

impl Object for LastColumnOffset

Source§

impl Object for LastRow

Source§

impl Object for LastRowOffset

Source§

impl Object for Row

Source§

impl Object for SegmentAll

Source§

impl<C, R> Object for Segment<C, R>

Source§

impl<L, R> Object for DiffCombination<L, R>
where L: Object, R: Object,

Source§

impl<L, R> Object for IntersectionCombination<L, R>
where L: Object, R: Object,

Source§

impl<L, R> Object for UnionCombination<L, R>
where L: Object, R: Object,

Source§

type Iter = UnionIter<<L as Object>::Iter, <R as Object>::Iter>

Source§

impl<O> Object for InversionCombination<O>
where O: Object,

Source§

impl<R> Object for Columns<R>
where R: RangeBounds<usize>,

Source§

impl<R> Object for Rows<R>
where R: RangeBounds<usize>,

Source§

impl<S> Object for ByColumnName<S>
where S: AsRef<str>,