Trait ExtSortByExtension

Source
pub trait ExtSortByExtension: Iterator {
    type Run: Run<Self::Item>;

    // Required methods
    fn external_sort_by<F>(
        self,
        options: ExtsortConfig,
        comparator: F,
    ) -> Result<LoserTree<Self::Item, ExternalRun<Self::Item, Box<dyn Read + Send>>, FuncOrderer<F>>>
       where F: Fn(&Self::Item, &Self::Item) -> Ordering;
    fn external_sort_by_key<F, K>(
        self,
        options: ExtsortConfig,
        key_extractor: F,
    ) -> Result<LoserTree<Self::Item, ExternalRun<Self::Item, Box<dyn Read + Send>>, KeyOrderer<F>>>
       where F: Fn(&Self::Item) -> K,
             K: Ord;
}

Required Associated Types§

Source

type Run: Run<Self::Item>

Required Methods§

Source

fn external_sort_by<F>( self, options: ExtsortConfig, comparator: F, ) -> Result<LoserTree<Self::Item, ExternalRun<Self::Item, Box<dyn Read + Send>>, FuncOrderer<F>>>
where F: Fn(&Self::Item, &Self::Item) -> Ordering,

Sorts the provided Iterator according to the provided config using a custom comparator function

§Errors

This function may error if a sort file fails to be written. In this case the library will do its best to clean up the already written files, but no guarantee is made.

Source

fn external_sort_by_key<F, K>( self, options: ExtsortConfig, key_extractor: F, ) -> Result<LoserTree<Self::Item, ExternalRun<Self::Item, Box<dyn Read + Send>>, KeyOrderer<F>>>
where F: Fn(&Self::Item) -> K, K: Ord,

Sorts the provided Iterator according to the provided config using a key extraction function.

§Errors

This function may error if a sort file fails to be written. In this case the library will do its best to clean up the already written files, but no guarantee is made.

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<I, T> ExtSortByExtension for I
where I: Iterator<Item = T>,

Source§

type Run = ExternalRun<T, Box<dyn Read + Send>>