Skip to main content

RowSet

Trait RowSet 

Source
pub trait RowSet: Send + Sync {
    // Required methods
    fn len(&self) -> usize;
    fn is_full(&self) -> bool;
    fn iter(&self) -> RowIdIter<'_>;
    fn intersect(&self, other: &Self) -> Self
       where Self: Sized;
    fn union(&self, other: &Self) -> Self
       where Self: Sized;
    fn difference(&self, other: &Self) -> Self
       where Self: Sized;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}
Expand description

Abstract set of row identifiers that supports basic set algebra.

Required Methods§

Source

fn len(&self) -> usize

Returns the number of rows tracked by the set.

Source

fn is_full(&self) -> bool

Returns true when the set represents the whole universe of rows.

Source

fn iter(&self) -> RowIdIter<'_>

Returns an iterator over row identifiers.

Source

fn intersect(&self, other: &Self) -> Self
where Self: Sized,

Returns the intersection between this set and other.

Source

fn union(&self, other: &Self) -> Self
where Self: Sized,

Returns the union between this set and other.

Source

fn difference(&self, other: &Self) -> Self
where Self: Sized,

Returns the relative complement (self \ other).

Provided Methods§

Source

fn is_empty(&self) -> bool

Returns true when the set is empty.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§