Trait stam::KeyIterator

source ·
pub trait KeyIterator<'store>: Iterator<Item = ResultItem<'store, DataKey>>
where Self: Sized,
{
Show 13 methods // Provided methods fn parallel(self) -> IntoIter<ResultItem<'store, DataKey>> { ... } fn annotations( self ) -> ResultIter<<Vec<ResultItem<'store, Annotation>> as IntoIterator>::IntoIter> { ... } fn annotations_as_metadata( self ) -> ResultIter<<Vec<ResultItem<'store, Annotation>> as IntoIterator>::IntoIter> { ... } fn filter_handle( self, set: AnnotationDataSetHandle, key: DataKeyHandle ) -> FilteredKeys<'store, Self> { ... } fn filter_key( self, key: &ResultItem<'store, DataKey> ) -> FilteredKeys<'store, Self> { ... } fn filter_set( self, set: &ResultItem<'store, AnnotationDataSet> ) -> FilteredKeys<'store, Self> { ... } fn filter_set_handle( self, set: AnnotationDataSetHandle ) -> FilteredKeys<'store, Self> { ... } fn filter_any(self, keys: Keys<'store>) -> FilteredKeys<'store, Self> { ... } fn filter_any_byref( self, keys: &'store Keys<'store> ) -> FilteredKeys<'store, Self> { ... } fn filter_all( self, keys: Keys<'store>, store: &'store AnnotationStore ) -> FilterAllIter<'store, DataKey, Self> { ... } fn filter_one( self, data: &ResultItem<'store, AnnotationData> ) -> FilteredKeys<'store, Self> { ... } fn filter_annotation( self, annotation: &ResultItem<'store, Annotation> ) -> FilteredKeys<'store, Self> { ... } fn filter_annotation_handle( self, annotation: AnnotationHandle ) -> FilteredKeys<'store, Self> { ... }
}
Expand description

Trait for iteration over data keys (ResultItem<DataKey>; encapsulation over DataKey). Implements numerous filter methods to further constrain the iterator, as well as methods to map from keys to other items.

Provided Methods§

source

fn parallel(self) -> IntoIter<ResultItem<'store, DataKey>>

source

fn annotations( self ) -> ResultIter<<Vec<ResultItem<'store, Annotation>> as IntoIterator>::IntoIter>

Iterate over the annotations that make use of data in this iterator. Annotations will be returned chronologically (add .textual_order() to sort textually) and contain no duplicates.

source

fn annotations_as_metadata( self ) -> ResultIter<<Vec<ResultItem<'store, Annotation>> as IntoIterator>::IntoIter>

Iterates over all the annotations for all keys in this iterator. This only returns annotations that target the key via a DataKeySelector, i.e. the annotations provide metadata for the keys.

The iterator will be consumed and an extra buffer is allocated. Annotations will be returned sorted chronologically and returned without duplicates

source

fn filter_handle( self, set: AnnotationDataSetHandle, key: DataKeyHandle ) -> FilteredKeys<'store, Self>

source

fn filter_key( self, key: &ResultItem<'store, DataKey> ) -> FilteredKeys<'store, Self>

source

fn filter_set( self, set: &ResultItem<'store, AnnotationDataSet> ) -> FilteredKeys<'store, Self>

source

fn filter_set_handle( self, set: AnnotationDataSetHandle ) -> FilteredKeys<'store, Self>

source

fn filter_any(self, keys: Keys<'store>) -> FilteredKeys<'store, Self>

source

fn filter_any_byref( self, keys: &'store Keys<'store> ) -> FilteredKeys<'store, Self>

source

fn filter_all( self, keys: Keys<'store>, store: &'store AnnotationStore ) -> FilterAllIter<'store, DataKey, Self>

Constrain this iterator to filter on all of the mentioned keys, that is. If not all of the items in the parameter exist in the iterator, the iterator returns nothing.

source

fn filter_one( self, data: &ResultItem<'store, AnnotationData> ) -> FilteredKeys<'store, Self>

source

fn filter_annotation( self, annotation: &ResultItem<'store, Annotation> ) -> FilteredKeys<'store, Self>

source

fn filter_annotation_handle( self, annotation: AnnotationHandle ) -> FilteredKeys<'store, Self>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'store, I> KeyIterator<'store> for I
where I: Iterator<Item = ResultItem<'store, DataKey>>,