Stable LoserTree variant. More...
Stable LoserTree variant.
Provides the stable implementations of insert_start, init_winner, init and delete_min_insert.
Unstable variant is done using partial specialisation below.
Definition at line 165 of file losertree.h.
void __gnu_parallel::LoserTree< stable, T, Comparator >::delete_min_insert | ( | T | key, | |
bool | sup | |||
) | [inline] |
Delete the smallest element and insert a new element from the previously smallest element's sequence.
This implementation is stable.
Definition at line 215 of file losertree.h.
int __gnu_parallel::LoserTreeBase< T, Comparator >::get_min_source | ( | ) | [inline, inherited] |
Definition at line 152 of file losertree.h.
References __gnu_parallel::LoserTreeBase< T, Comparator >::losers, and __gnu_parallel::LoserTreeBase< T, Comparator >::Loser::source.
void __gnu_parallel::LoserTreeBase< T, Comparator >::insert_start | ( | const T & | key, | |
int | source, | |||
bool | sup | |||
) | [inline, inherited] |
Initializes the sequence "source" with the element "key".
key | the element to insert | |
source | index of the source sequence | |
sup | flag that determines whether the value to insert is an explicit supremum. |
Definition at line 131 of file losertree.h.
References __gnu_parallel::LoserTreeBase< T, Comparator >::first_insert, __gnu_parallel::LoserTreeBase< T, Comparator >::Loser::key, __gnu_parallel::LoserTreeBase< T, Comparator >::losers, __gnu_parallel::LoserTreeBase< T, Comparator >::Loser::source, and __gnu_parallel::LoserTreeBase< T, Comparator >::Loser::sup.
unsigned int __gnu_parallel::LoserTreeBase< T, Comparator >::_M_log_k [protected, inherited] |
log_2{k}
Definition at line 74 of file losertree.h.
Referenced by __gnu_parallel::LoserTreeBase< T, Comparator >::LoserTreeBase().
Comparator __gnu_parallel::LoserTreeBase< T, Comparator >::comp [protected, inherited] |
Comparator to use.
Definition at line 80 of file losertree.h.
bool __gnu_parallel::LoserTreeBase< T, Comparator >::first_insert [protected, inherited] |
State flag that determines whether the LoserTree is empty.
Only used for building the LoserTree.
Definition at line 87 of file losertree.h.
Referenced by __gnu_parallel::LoserTreeBase< T, Comparator >::insert_start(), and __gnu_parallel::LoserTreeBase< T, Comparator >::LoserTreeBase().
Loser* __gnu_parallel::LoserTreeBase< T, Comparator >::losers [protected, inherited] |
LoserTree elements.
Definition at line 77 of file losertree.h.
Referenced by __gnu_parallel::LoserTreeBase< T, Comparator >::get_min_source(), __gnu_parallel::LoserTreeBase< T, Comparator >::insert_start(), __gnu_parallel::LoserTreeBase< T, Comparator >::LoserTreeBase(), and __gnu_parallel::LoserTreeBase< T, Comparator >::~LoserTreeBase().