1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
//! External sort algorithm implementation. External sorting is a class of sorting algorithms
//! that can handle massive amounts of data. External sorting is required when the data being
//! sorted do not fit into the main memory (RAM) of a computer and instead must be resided in
//! slower external memory, usually a hard disk drive. Sorting is achieved in two passes.
//! During the first pass it sorts chunks of data that each fit in RAM, during the second pass
//! it merges the sorted chunks together.
//! For more information see https://en.wikipedia.org/wiki/External_sorting.

pub mod buffer;
pub mod chunk;
pub mod merger;
pub mod sort;

pub use buffer::{ChunkBuffer, ChunkBufferBuilder, LimitedBuffer, LimitedBufferBuilder};
pub use chunk::{ExternalChunk, RmpExternalChunk};
pub use merger::BinaryHeapMerger;
pub use sort::{ExternalSorter, ExternalSorterBuilder, SortError};