Stxxl  1.3.2
Public Member Functions | List of all members
stream::runs_merger< RunsType_, Cmp_, AllocStr_ > Class Template Reference

Merges sorted runs. More...

#include <sort_stream.h>

Inheritance diagram for stream::runs_merger< RunsType_, Cmp_, AllocStr_ >:
Inheritance graph
[legend]
Collaboration diagram for stream::runs_merger< RunsType_, Cmp_, AllocStr_ >:
Collaboration graph
[legend]

Public Member Functions

 runs_merger (const sorted_runs_type &r, value_cmp c, unsigned_type memory_to_use)
 Creates a runs merger object. More...
 
- Public Member Functions inherited from stream::basic_runs_merger< RunsType_, Cmp_, AllocStr_ >
 basic_runs_merger (const sorted_runs_type &r, value_cmp c, unsigned_type memory_to_use)
 Creates a runs merger object. More...
 
bool empty () const
 Standard stream method. More...
 
const value_typeoperator* () const
 Standard stream method. More...
 
const value_typeoperator-> () const
 Standard stream method. More...
 
basic_runs_mergeroperator++ ()
 Standard stream method. More...
 
virtual ~basic_runs_merger ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from stream::basic_runs_merger< RunsType_, Cmp_, AllocStr_ >
typedef
sorted_runs_type::value_type 
value_type
 Standard stream typedef. More...
 
- Protected Types inherited from stream::basic_runs_merger< RunsType_, Cmp_, AllocStr_ >
typedef RunsType_ sorted_runs_type
 
typedef AllocStr_ alloc_strategy
 
typedef sorted_runs_type::size_type size_type
 
typedef Cmp_ value_cmp
 
typedef sorted_runs_type::run_type run_type
 
typedef
sorted_runs_type::block_type 
block_type
 
typedef block_type out_block_type
 
typedef run_type::value_type trigger_entry_type
 
typedef block_prefetcher
< block_type, typename
run_type::iterator > 
prefetcher_type
 
typedef run_cursor2
< block_type, prefetcher_type
run_cursor_type
 
typedef
sort_helper::run_cursor2_cmp
< block_type, prefetcher_type,
value_cmp > 
run_cursor2_cmp_type
 
typedef loser_tree
< run_cursor_type,
run_cursor2_cmp_type > 
loser_tree_type
 
typedef stxxl::int64 diff_type
 
typedef std::pair< typename
block_type::iterator, typename
block_type::iterator > 
sequence
 
typedef std::vector< sequence >
::size_type 
seqs_size_type
 
- Protected Member Functions inherited from stream::basic_runs_merger< RunsType_, Cmp_, AllocStr_ >
void initialize (const sorted_runs_type &r, unsigned_type memory_to_use)
 

Detailed Description

template<class RunsType_, class Cmp_, class AllocStr_ = STXXL_DEFAULT_ALLOC_STRATEGY>
class stream::runs_merger< RunsType_, Cmp_, AllocStr_ >

Merges sorted runs.

Template Parameters
RunsType_type of the sorted runs, available as runs_creator::sorted_runs_type ,
Cmp_type of comparison object used for merging
AllocStr_allocation strategy used to allocate the blocks for storing intermediate results if several merge passes are required

Constructor & Destructor Documentation

template<class RunsType_, class Cmp_, class AllocStr_ = STXXL_DEFAULT_ALLOC_STRATEGY>
stream::runs_merger< RunsType_, Cmp_, AllocStr_ >::runs_merger ( const sorted_runs_type &  r,
value_cmp  c,
unsigned_type  memory_to_use 
)
inline

Creates a runs merger object.

Parameters
rinput sorted runs object
ccomparison object
memory_to_useamount of memory available for the merger in bytes

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