Forms sorted runs of data taking elements in sorted order (element by element). More...
#include <sort_stream.h>
Inherits noncopyable.
Public Types | |
typedef Cmp_ | cmp_type |
typedef sorted_runs < trigger_entry_type > | sorted_runs_type |
typedef sorted_runs_type | result_type |
Public Member Functions | |
runs_creator (Cmp_ c, unsigned_type memory_to_use) | |
Creates the object. | |
void | push (const value_type &val) |
Adds new element to the current run. | |
void | finish () |
Finishes current run and begins new one. | |
const sorted_runs_type & | result () |
Returns the sorted runs object. |
Forms sorted runs of data taking elements in sorted order (element by element).
A specialization of runs_creator
that allows to create sorted runs data structure usable for runs_merger
from sequences of elements in sorted order.
ValueType_ | type of values (parameter for from_sorted_sequences strategy) | |
Cmp_ | type of comparison object used for sorting the runs | |
BlockSize_ | size of blocks used to store the runs | |
AllocStr_ | functor that defines allocation strategy for the runs |
stream::runs_creator< from_sorted_sequences< ValueType_ >, Cmp_, BlockSize_, AllocStr_ >::runs_creator | ( | Cmp_ | c, | |
unsigned_type | memory_to_use | |||
) | [inline] |
Creates the object.
c | comparator object | |
memory_to_use | memory amount that is allowed to used by the sorter in bytes. Recommended value: 2 * block_size * D |
void stream::runs_creator< from_sorted_sequences< ValueType_ >, Cmp_, BlockSize_, AllocStr_ >::finish | ( | ) | [inline] |
Finishes current run and begins new one.
References block_manager::new_blocks().
void stream::runs_creator< from_sorted_sequences< ValueType_ >, Cmp_, BlockSize_, AllocStr_ >::push | ( | const value_type & | val | ) | [inline] |
Adds new element to the current run.
val | value to be added to the current run |
References block_manager::new_blocks().
const sorted_runs_type& stream::runs_creator< from_sorted_sequences< ValueType_ >, Cmp_, BlockSize_, AllocStr_ >::result | ( | ) | [inline] |
Returns the sorted runs object.
runs_merger
object as input