Base class for unguarded _LoserTree implementation. More...
#include <losertree.h>
Classes | |
struct | _Loser |
Public Member Functions | |
_LoserTreeUnguardedBase (unsigned int __k, const _Tp &__sentinel, _Compare __comp=std::less< _Tp >()) | |
~_LoserTreeUnguardedBase () | |
int | __get_min_source () |
void | __insert_start (const _Tp &__key, int __source, bool) |
Protected Attributes | |
_Compare | _M_comp |
unsigned int | _M_ik |
unsigned int | _M_k |
_Loser * | _M_losers |
unsigned int | _M_offset |
Base class for unguarded _LoserTree implementation.
The whole element is copied into the tree structure.
No guarding is done, therefore not a single input sequence must run empty. Unused __sequence heads are marked with a sentinel which is > all elements that are to be merged.
This is a very fast variant.
|
inline |
References __gnu_parallel::__rd_log2(), __gnu_parallel::_LoserTreeUnguardedBase< _Tp, _Compare >::_M_k, and __gnu_parallel::_LoserTreeUnguardedBase< _Tp, _Compare >::_Loser::_M_source.
|
inline |
|
inline |
|
inline |
|
protected |
Referenced by __gnu_parallel::_LoserTreeUnguarded< __stable, _Tp, _Compare >::__delete_min_insert(), __gnu_parallel::_LoserTreeUnguarded< false, _Tp, _Compare >::__delete_min_insert(), __gnu_parallel::_LoserTreeUnguarded< __stable, _Tp, _Compare >::__init_winner(), and __gnu_parallel::_LoserTreeUnguarded< false, _Tp, _Compare >::__init_winner().
|
protected |
|
protected |
|
protected |
|
protected |