STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::loser_tree< RunCursorType, RunCursorCmpType > Class Template Reference

Detailed Description

template<typename RunCursorType, typename RunCursorCmpType>
class stxxl::loser_tree< RunCursorType, RunCursorCmpType >

Definition at line 27 of file losertree.h.

+ Inheritance diagram for stxxl::loser_tree< RunCursorType, RunCursorCmpType >:
+ Collaboration diagram for stxxl::loser_tree< RunCursorType, RunCursorCmpType >:

Public Types

typedef
RunCursorType::prefetcher_type 
prefetcher_type
 
typedef RunCursorType::value_type value_type
 

Public Member Functions

 loser_tree (prefetcher_type *p, int_type nruns, RunCursorCmpType c)
 
 ~loser_tree ()
 
void multi_merge (value_type *out_first, value_type *out_last)
 
void swap (loser_tree &obj)
 

Private Member Functions

int_type init_winner (int_type root)
 
void multi_merge_k (value_type *out_first, value_type *out_last)
 
template<int LogK>
void multi_merge_unrolled (value_type *out_first, value_type *out_last)
 
void multi_merge_unrolled_0 (value_type *out_first, value_type *out_last)
 
- Private Member Functions inherited from stxxl::noncopyable
 noncopyable ()
 

Private Attributes

RunCursorCmpType cmp
 
RunCursorType * current
 
int_typeentry
 
int_type k
 
int logK
 

Member Typedef Documentation

template<typename RunCursorType, typename RunCursorCmpType>
typedef RunCursorType::prefetcher_type stxxl::loser_tree< RunCursorType, RunCursorCmpType >::prefetcher_type

Definition at line 59 of file losertree.h.

template<typename RunCursorType, typename RunCursorCmpType>
typedef RunCursorType::value_type stxxl::loser_tree< RunCursorType, RunCursorCmpType >::value_type

Definition at line 60 of file losertree.h.

Constructor & Destructor Documentation

template<typename RunCursorType, typename RunCursorCmpType>
stxxl::loser_tree< RunCursorType, RunCursorCmpType >::loser_tree ( prefetcher_type p,
int_type  nruns,
RunCursorCmpType  c 
)
inline

Definition at line 62 of file losertree.h.

References stxxl::ilog2_ceil(), and STXXL_VERBOSE2.

template<typename RunCursorType, typename RunCursorCmpType>
stxxl::loser_tree< RunCursorType, RunCursorCmpType >::~loser_tree ( )
inline

Definition at line 99 of file losertree.h.

Member Function Documentation

template<typename RunCursorType, typename RunCursorCmpType>
int_type stxxl::loser_tree< RunCursorType, RunCursorCmpType >::init_winner ( int_type  root)
inlineprivate

Definition at line 35 of file losertree.h.

template<typename RunCursorType, typename RunCursorCmpType>
void stxxl::loser_tree< RunCursorType, RunCursorCmpType >::multi_merge ( value_type out_first,
value_type out_last 
)
inline

Definition at line 200 of file losertree.h.

Referenced by stxxl::sort_local::merge_runs().

template<typename RunCursorType, typename RunCursorCmpType>
void stxxl::loser_tree< RunCursorType, RunCursorCmpType >::multi_merge_k ( value_type out_first,
value_type out_last 
)
inlineprivate

Definition at line 170 of file losertree.h.

References LIKELY.

template<typename RunCursorType, typename RunCursorCmpType>
template<int LogK>
void stxxl::loser_tree< RunCursorType, RunCursorCmpType >::multi_merge_unrolled ( value_type out_first,
value_type out_last 
)
inlineprivate

Definition at line 116 of file losertree.h.

References LIKELY, and TreeStep.

template<typename RunCursorType, typename RunCursorCmpType>
void stxxl::loser_tree< RunCursorType, RunCursorCmpType >::multi_merge_unrolled_0 ( value_type out_first,
value_type out_last 
)
inlineprivate

Definition at line 160 of file losertree.h.

References LIKELY.

Member Data Documentation

template<typename RunCursorType, typename RunCursorCmpType>
RunCursorCmpType stxxl::loser_tree< RunCursorType, RunCursorCmpType >::cmp
private
template<typename RunCursorType, typename RunCursorCmpType>
RunCursorType* stxxl::loser_tree< RunCursorType, RunCursorCmpType >::current
private
template<typename RunCursorType, typename RunCursorCmpType>
int_type* stxxl::loser_tree< RunCursorType, RunCursorCmpType >::entry
private
template<typename RunCursorType, typename RunCursorCmpType>
int_type stxxl::loser_tree< RunCursorType, RunCursorCmpType >::k
private
template<typename RunCursorType, typename RunCursorCmpType>
int stxxl::loser_tree< RunCursorType, RunCursorCmpType >::logK
private

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