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 annotations (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§
fn parallel(self) -> IntoIter<ResultItem<'store, DataKey>>
sourcefn annotations(
self
) -> ResultIter<<Vec<ResultItem<'store, Annotation>> as IntoIterator>::IntoIter> ⓘ
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.
sourcefn annotations_as_metadata(
self
) -> ResultIter<<Vec<ResultItem<'store, Annotation>> as IntoIterator>::IntoIter> ⓘ
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
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> ⓘ
sourcefn filter_all(
self,
keys: Keys<'store>,
store: &'store AnnotationStore
) -> FilterAllIter<'store, DataKey, Self> ⓘ
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.