STXXL  1.4.0
 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
RunsType_type of the sorted runs, available as runs_creator::sorted_runs_type ,
CompareType_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
Examples:
examples/stream/stream1.cpp.

Definition at line 1456 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 1459 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 1465 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 1464 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 1462 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 1463 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 1472 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 1481 of file sort_stream.h.


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