Thrill  0.1
LoserTreePointer< Stable, ValueType, Comparator > Class Template Reference

Detailed Description

template<bool Stable, typename ValueType, typename Comparator = std::less<ValueType>>
class tlx::LoserTreePointer< Stable, ValueType, Comparator >

Guarded loser tree, using pointers to the elements instead of copying them into the tree nodes.

Unstable specialization of LoserTreeCopyBase.

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 418 of file loser_tree.hpp.

+ Inheritance diagram for LoserTreePointer< Stable, ValueType, Comparator >:
+ Collaboration diagram for LoserTreePointer< Stable, ValueType, Comparator >:

#include <loser_tree.hpp>

Public Types

using Source = typename Super::Source
 
using Super = LoserTreePointerBase< ValueType, Comparator >
 
- Public Types inherited from LoserTreePointerBase< ValueType, Comparator >
using Source = uint32_t
 size of counters and array indexes More...
 

Public Member Functions

 LoserTreePointer (Source k, const Comparator &cmp=Comparator())
 
void delete_min_insert (const ValueType *keyp, bool sup)
 
- Public Member Functions inherited from LoserTreePointerBase< ValueType, Comparator >
 LoserTreePointerBase (Source k, const Comparator &cmp=Comparator())
 
 LoserTreePointerBase (const LoserTreePointerBase &)=delete
 
 LoserTreePointerBase (LoserTreePointerBase &&)=default
 
void init ()
 
Source init_winner (const Source &root)
 Computes the winner of the competition at player root. More...
 
void insert_start (const ValueType *keyp, const Source &source, bool sup)
 Initializes the player source with the element key. More...
 
Source min_source ()
 return the index of the player with the smallest element. More...
 
LoserTreePointerBaseoperator= (const LoserTreePointerBase &)=delete
 
LoserTreePointerBaseoperator= (LoserTreePointerBase &&)=default
 

Additional Inherited Members

- Static Public Attributes inherited from LoserTreePointerBase< ValueType, Comparator >
static constexpr Source invalid_ = Source(-1)
 sentinel for invalid or finished Sources More...
 
- Protected Attributes inherited from LoserTreePointerBase< ValueType, Comparator >
Comparator cmp_
 the comparator object More...
 
const Source ik_
 number of nodes More...
 
const Source k_
 log_2(ik) next greater power of 2 More...
 
SimpleVector< Loserlosers_
 array containing loser tree nodes More...
 

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