Public Types | Public Member Functions

stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type > Class Template Reference
[Stream package]

Produces sorted stream from input stream. More...

#include <sort_stream.h>

Inherits noncopyable.

Collaboration diagram for stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Input_::value_type value_type
 Standard stream typedef.

Public Member Functions

 sort (Input_ &in, Cmp_ c, unsigned_type memory_to_use)
 Creates the object.
 sort (Input_ &in, Cmp_ c, unsigned_type memory_to_use_rc, unsigned_type memory_to_use_m)
 Creates the object.
bool empty () const
 Standard stream method.
const value_typeoperator* () const
 Standard stream method.
const value_typeoperator-> () const
sortoperator++ ()
 Standard stream method.

Detailed Description

template<class Input_, class Cmp_, unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
class stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >

Produces sorted stream from input stream.

Template Parameters:
Input_ type of the input stream
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
Remarks:
Implemented as the composition of runs_creator and runs_merger .

Member Typedef Documentation

template<class Input_ , class Cmp_ , unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
typedef Input_::value_type stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >::value_type

Standard stream typedef.


Constructor & Destructor Documentation

template<class Input_ , class Cmp_ , unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >::sort ( Input_ &  in,
Cmp_  c,
unsigned_type  memory_to_use 
) [inline]

Creates the object.

Parameters:
in input stream
c comparator object
memory_to_use memory amount that is allowed to used by the sorter in bytes
template<class Input_ , class Cmp_ , unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >::sort ( Input_ &  in,
Cmp_  c,
unsigned_type  memory_to_use_rc,
unsigned_type  memory_to_use_m 
) [inline]

Creates the object.

Parameters:
in input stream
c comparator object
memory_to_use_rc memory amount that is allowed to used by the runs creator in bytes
memory_to_use_m memory amount that is allowed to used by the merger in bytes

Member Function Documentation

template<class Input_ , class Cmp_ , unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
bool stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >::empty (  )  const [inline]

Standard stream method.

template<class Input_ , class Cmp_ , unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
const value_type& stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >::operator* (  )  const [inline]

Standard stream method.

template<class Input_ , class Cmp_ , unsigned BlockSize_ = (2 * 1024 * 1024), class AllocStr_ = stxxl::RC, class runs_creator_type = runs_creator<Input_, Cmp_, BlockSize_, AllocStr_>>
sort& stream::sort< Input_, Cmp_, BlockSize_, AllocStr_, runs_creator_type >::operator++ (  )  [inline]

Standard stream method.


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