MapOrderedExt

Trait MapOrderedExt 

Source
pub trait MapOrderedExt<T>: Stream<Item = StreamItem<T>> + Sized
where T: Fluxion, T::Inner: Clone + Debug + Ord + Unpin + Send + Sync + 'static, T::Timestamp: Debug + Ord + Copy + Send + Sync + 'static,
{ // Required method fn map_ordered<U, F>( self, f: F, ) -> impl Stream<Item = StreamItem<U>> + Send + Sync where Self: Unpin + Send + Sync + 'static, U: Fluxion, U::Inner: Clone + Debug + Ord + Unpin + Send + Sync + 'static, U::Timestamp: Debug + Ord + Copy + Send + Sync + 'static, F: FnMut(T) -> U + Send + Sync + 'static; }
Expand description

Extension trait providing the map_ordered operator for streams.

This trait allows any stream of StreamItem<T> to transform items while preserving temporal ordering semantics.

Required Methods§

Source

fn map_ordered<U, F>( self, f: F, ) -> impl Stream<Item = StreamItem<U>> + Send + Sync
where Self: Unpin + Send + Sync + 'static, U: Fluxion, U::Inner: Clone + Debug + Ord + Unpin + Send + Sync + 'static, U::Timestamp: Debug + Ord + Copy + Send + Sync + 'static, F: FnMut(T) -> U + Send + Sync + 'static,

Maps each item to a new value while preserving temporal ordering.

See the module-level documentation for detailed examples and usage patterns.

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<S, T> MapOrderedExt<T> for S
where S: Stream<Item = StreamItem<T>>, T: Fluxion, T::Inner: Clone + Debug + Ord + Unpin + Send + Sync + 'static, T::Timestamp: Debug + Ord + Copy + Send + Sync + 'static,