STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::parallel::LoserTreeReference< T, Comparator > Class Template Reference

Detailed Description

template<typename T, typename Comparator = std::less<T>>
class stxxl::parallel::LoserTreeReference< T, Comparator >

Guarded loser tree, either copying the whole element into the tree structure, or looking up the element via the index.

Guarding is done explicitly through one flag sup per element, inf is not needed due to a better initialization routine. This is a well-performing variant.

Definition at line 292 of file losertree.h.

+ Collaboration diagram for stxxl::parallel::LoserTreeReference< T, Comparator >:

Classes

struct  Loser
 

Public Member Functions

 LoserTreeReference (unsigned int _k, Comparator _comp=std::less< T >())
 
 ~LoserTreeReference ()
 
void delete_min_insert (T, bool sup)
 
void delete_min_insert_stable (T, bool sup)
 
int get_min_source ()
 
void init ()
 
void init_stable ()
 
unsigned int init_winner (unsigned int root)
 
unsigned int init_winner_stable (unsigned int root)
 
void insert_start (T key, int source, bool sup)
 
void insert_start_stable (T key, int source, bool sup)
 
void print (std::ostream &os)
 

Private Attributes

Comparator comp
 
unsigned int ik
 
unsigned int k
 
T * keys
 
Loserlosers
 

Constructor & Destructor Documentation

template<typename T , typename Comparator = std::less<T>>
stxxl::parallel::LoserTreeReference< T, Comparator >::LoserTreeReference ( unsigned int  _k,
Comparator  _comp = std::less<T>() 
)
inline

Definition at line 321 of file losertree.h.

References stxxl::round_up_to_power_of_two().

template<typename T , typename Comparator = std::less<T>>
stxxl::parallel::LoserTreeReference< T, Comparator >::~LoserTreeReference ( )
inline

Definition at line 333 of file losertree.h.

Member Function Documentation

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::delete_min_insert ( ,
bool  sup 
)
inline

Definition at line 390 of file losertree.h.

References KEY, and KEY_SOURCE.

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::delete_min_insert_stable ( ,
bool  sup 
)
inline

Definition at line 450 of file losertree.h.

References KEY, and KEY_SOURCE.

template<typename T , typename Comparator = std::less<T>>
int stxxl::parallel::LoserTreeReference< T, Comparator >::get_min_source ( )
inline

Definition at line 347 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::init ( )
inline

Definition at line 385 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::init_stable ( )
inline

Definition at line 445 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
unsigned int stxxl::parallel::LoserTreeReference< T, Comparator >::init_winner ( unsigned int  root)
inline

Definition at line 361 of file losertree.h.

References KEY.

template<typename T , typename Comparator = std::less<T>>
unsigned int stxxl::parallel::LoserTreeReference< T, Comparator >::init_winner_stable ( unsigned int  root)
inline

Definition at line 421 of file losertree.h.

References KEY.

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::insert_start ( key,
int  source,
bool  sup 
)
inline

Definition at line 352 of file losertree.h.

References KEY.

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::insert_start_stable ( key,
int  source,
bool  sup 
)
inline

Definition at line 416 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
void stxxl::parallel::LoserTreeReference< T, Comparator >::print ( std::ostream &  os)
inline

Definition at line 341 of file losertree.h.

References KEY.

Member Data Documentation

template<typename T , typename Comparator = std::less<T>>
Comparator stxxl::parallel::LoserTreeReference< T, Comparator >::comp
private

Definition at line 318 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
unsigned int stxxl::parallel::LoserTreeReference< T, Comparator >::ik
private

Definition at line 313 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
unsigned int stxxl::parallel::LoserTreeReference< T, Comparator >::k
private

Definition at line 313 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
T* stxxl::parallel::LoserTreeReference< T, Comparator >::keys
private

Definition at line 316 of file losertree.h.

template<typename T , typename Comparator = std::less<T>>
Loser* stxxl::parallel::LoserTreeReference< T, Comparator >::losers
private

Definition at line 314 of file losertree.h.


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