STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::stream::runs_merger< RunsType, CompareType, AllocStr > Class Template Reference

Detailed Description

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
class stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >

Merges sorted runs.

Template Parameters
RunsTypetype of the sorted runs, available as runs_creator::sorted_runs_type ,
CompareTypetype of comparison object used for merging
AllocStrallocation strategy used to allocate the blocks for storing intermediate results if several merge passes are required
Examples:
examples/stream/stream1.cpp.

Definition at line 1488 of file sort_stream.h.

+ Inheritance diagram for stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >:
+ Collaboration diagram for stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >:

Public Types

typedef base::block_type block_type
 
typedef base::value_cmp cmp_type
 
typedef RunsType sorted_runs_type
 
typedef base::value_cmp value_cmp
 
- Public Types inherited from stxxl::stream::basic_runs_merger< RunsType, CompareType, AllocStr >
typedef AllocStr alloc_strategy
 
typedef
sorted_runs_data_type::block_type 
block_type
 
typedef stxxl::int64 diff_type
 
typedef loser_tree
< run_cursor_type,
run_cursor2_cmp_type
loser_tree_type
 
typedef block_type out_block_type
 
typedef block_prefetcher
< block_type, typename
run_type::iterator > 
prefetcher_type
 
typedef
sort_helper::run_cursor2_cmp
< block_type, prefetcher_type,
value_cmp
run_cursor2_cmp_type
 
typedef run_cursor2
< block_type, prefetcher_type
run_cursor_type
 
typedef
sorted_runs_data_type::run_type 
run_type
 
typedef std::vector< sequence >
::size_type 
seqs_size_type
 
typedef std::pair< typename
block_type::iterator, typename
block_type::iterator > 
sequence
 
typedef
sorted_runs_data_type::size_type 
size_type
 
typedef
sorted_runs_type::element_type 
sorted_runs_data_type
 
typedef RunsType sorted_runs_type
 
typedef run_type::value_type trigger_entry_type
 
typedef CompareType value_cmp
 
typedef
sorted_runs_data_type::value_type 
value_type
 Standard stream typedef. More...
 

Public Member Functions

 runs_merger (sorted_runs_type &sruns, value_cmp cmp, unsigned_type memory_to_use)
 Creates a runs merger object. More...
 
 runs_merger (value_cmp cmp, unsigned_type memory_to_use)
 Creates a runs merger object without initializing a round of sorted_runs. More...
 
- Public Member Functions inherited from stxxl::stream::basic_runs_merger< RunsType, CompareType, AllocStr >
 basic_runs_merger (value_cmp c, unsigned_type memory_to_use)
 Creates a runs merger object. More...
 
virtual ~basic_runs_merger ()
 Destructor. More...
 
void deallocate ()
 Deallocate temporary structures freeing memory prior to next initialize(). More...
 
bool empty () const
 Standard stream method. More...
 
void initialize (const sorted_runs_type &sruns)
 Initialize the runs merger object with a new round of sorted_runs. More...
 
const value_typeoperator* () const
 Standard stream method. More...
 
basic_runs_mergeroperator++ ()
 Standard stream method. More...
 
const value_typeoperator-> () const
 Standard stream method. More...
 
void set_memory_to_use (unsigned_type memory_to_use)
 Set memory amount to use for the merger in bytes. More...
 
size_type size () const
 Standard size method. More...
 

Protected Types

typedef basic_runs_merger
< RunsType, CompareType,
AllocStr > 
base
 

Member Typedef Documentation

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
typedef basic_runs_merger<RunsType, CompareType, AllocStr> stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::base
protected

Definition at line 1491 of file sort_stream.h.

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
typedef base::block_type stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::block_type

Definition at line 1497 of file sort_stream.h.

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
typedef base::value_cmp stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::cmp_type

Definition at line 1496 of file sort_stream.h.

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
typedef RunsType stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::sorted_runs_type

Definition at line 1494 of file sort_stream.h.

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
typedef base::value_cmp stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::value_cmp

Definition at line 1495 of file sort_stream.h.

Constructor & Destructor Documentation

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::runs_merger ( sorted_runs_type sruns,
value_cmp  cmp,
unsigned_type  memory_to_use 
)
inline

Creates a runs merger object.

Parameters
srunsinput sorted runs object
cmpcomparison object
memory_to_useamount of memory available for the merger in bytes

Definition at line 1504 of file sort_stream.h.

template<class RunsType, class CompareType = typename RunsType::element_type::cmp_type, class AllocStr = STXXL_DEFAULT_ALLOC_STRATEGY>
stxxl::stream::runs_merger< RunsType, CompareType, AllocStr >::runs_merger ( value_cmp  cmp,
unsigned_type  memory_to_use 
)
inline

Creates a runs merger object without initializing a round of sorted_runs.

Parameters
cmpcomparison object
memory_to_useamount of memory available for the merger in bytes

Definition at line 1514 of file sort_stream.h.


The documentation for this class was generated from the following file: