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

Detailed Description

template<class ValueType, class CompareType, unsigned BlockSize, class AllocStr>
class stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >

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.

Template Parameters
ValueTypetype of values (parameter for from_sorted_sequences strategy)
CompareTypetype of comparison object used for sorting the runs
BlockSizesize of blocks used to store the runs
AllocStrfunctor that defines allocation strategy for the runs

Definition at line 722 of file sort_stream.h.

+ Inheritance diagram for stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >:
+ Collaboration diagram for stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >:

Public Types

typedef AllocStr alloc_strategy_type
 
typedef typed_block< BlockSize,
value_type
block_type
 
typedef CompareType cmp_type
 
typedef sorted_runs_type result_type
 
typedef sorted_runs
< trigger_entry_type, cmp_type
sorted_runs_data_type
 
typedef counting_ptr
< sorted_runs_data_type
sorted_runs_type
 
typedef
sort_helper::trigger_entry
< block_type
trigger_entry_type
 
typedef ValueType value_type
 

Public Member Functions

 runs_creator (CompareType c, unsigned_type memory_to_use)
 Creates the object. More...
 
void finish ()
 Finishes current run and begins new one. More...
 
void push (const value_type &val)
 Adds new element to the current run. More...
 
sorted_runs_typeresult ()
 Returns the sorted runs object. More...
 

Private Types

typedef
sorted_runs_data_type::run_type 
run_type
 

Private Attributes

alloc_strategy_type alloc_strategy
 needs to be reset after each run More...
 
CompareType cmp
 
block_typecur_block
 
unsigned_type iblock
 
unsigned_type irun
 
unsigned_type m_
 memory for internal use in blocks More...
 
unsigned_type offset
 
sorted_runs_type result_
 stores the result (sorted runs) More...
 
buffered_writer< block_typewriter
 

Additional Inherited Members

- Private Member Functions inherited from stxxl::noncopyable
 noncopyable ()
 

Member Typedef Documentation

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef AllocStr stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::alloc_strategy_type

Definition at line 733 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef typed_block<BlockSize, value_type> stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::block_type

Definition at line 731 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef CompareType stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::cmp_type

Definition at line 736 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef sorted_runs_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::result_type

Definition at line 739 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef sorted_runs_data_type::run_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::run_type
private

Definition at line 742 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef sorted_runs<trigger_entry_type, cmp_type> stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::sorted_runs_data_type

Definition at line 737 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef counting_ptr<sorted_runs_data_type> stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::sorted_runs_type

Definition at line 738 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef sort_helper::trigger_entry<block_type> stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::trigger_entry_type

Definition at line 732 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
typedef ValueType stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::value_type

Definition at line 730 of file sort_stream.h.

Constructor & Destructor Documentation

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::runs_creator ( CompareType  c,
unsigned_type  memory_to_use 
)
inline

Creates the object.

Parameters
ccomparator object
memory_to_usememory amount that is allowed to used by the sorter in bytes. Recommended value: 2 * block_size * D

Definition at line 763 of file sort_stream.h.

References stxxl::sort_memory_usage_factor(), and stxxl::sort_helper::verify_sentinel_strict_weak_ordering().

Member Function Documentation

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
void stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::finish ( )
inline

Finishes current run and begins new one.

Definition at line 817 of file sort_stream.h.

References stxxl::make_bid_iterator(), and stxxl::block_manager::new_blocks().

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
void stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::push ( const value_type val)
inline

Adds new element to the current run.

Parameters
valvalue to be added to the current run

Definition at line 784 of file sort_stream.h.

References stxxl::make_bid_iterator(), and stxxl::block_manager::new_blocks().

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
sorted_runs_type& stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::result ( )
inline

Returns the sorted runs object.

Returns
Sorted runs object
Remarks
Returned object is intended to be used by runs_merger object as input

Definition at line 859 of file sort_stream.h.

Member Data Documentation

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
alloc_strategy_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::alloc_strategy
private

needs to be reset after each run

Definition at line 756 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
CompareType stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::cmp
private

Definition at line 744 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
block_type* stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::cur_block
private

Definition at line 751 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
unsigned_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::iblock
private

Definition at line 753 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
unsigned_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::irun
private

Definition at line 754 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
unsigned_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::m_
private

memory for internal use in blocks

Definition at line 749 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
unsigned_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::offset
private

Definition at line 752 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
sorted_runs_type stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::result_
private

stores the result (sorted runs)

Definition at line 747 of file sort_stream.h.

template<class ValueType , class CompareType , unsigned BlockSize, class AllocStr >
buffered_writer<block_type> stxxl::stream::runs_creator< from_sorted_sequences< ValueType >, CompareType, BlockSize, AllocStr >::writer
private

Definition at line 750 of file sort_stream.h.


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