__gnu_parallel::_LoserTree.3cxx
Contents
Detailed Description
template<bool__stable,typename_Tp,typename_Compare>
class __gnu_parallel::_LoserTree< __stable, _Tp, _Compare >"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.
Member Data Documentation
template<typename_Tp,typename_Compare>unsignedint__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_log_k[protected],[inherited]
log_2{_M_k}
Referenced by __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_LoserTreeBase().
Member Function Documentation
template<bool__stable,typename_Tp,typename_Compare>void__gnu_parallel::_LoserTree<__stable,_Tp,_Compare>::__delete_min_insert(_Tp__key,bool__sup)[inline]
Delete the smallest element and insert a new element from the previously smallest element's sequence.
This implementation is stable.
template<typename_Tp,typename_Compare>int__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::__get_min_source()[inline],[inherited]Returns
the index of the sequence with the smallest element.
References __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_losers, and
__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_Loser::_M_source.
template<typename_Tp,typename_Compare>void__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::__insert_start(const_Tp&__key,int__source,bool__sup)[inline],[inherited]
Initializes the sequence '_M_source' with the element '__key'.
Parameters__key the element to insert
__source __index of the __source __sequence
__sup flag that determines whether the value to insert is an explicit __supremum.
References __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_first_insert,
__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_Loser::_M_key, __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_losers, __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_Loser::_M_source, and
__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_Loser::_M_sup.
Name
__gnu_parallel::_LoserTree< __stable, _Tp, _Compare > - Stable _LoserTree variant.
Synopsis
#include <losertree.h>
Inherits __gnu_parallel::_LoserTreeBase<_Tp,_Compare>.
PublicMemberFunctions_LoserTree (unsigned int __k, _Compare __comp)
void __delete_min_insert (_Tp __key, bool __sup)
Delete the smallest element and insert a new element from the previously smallest element's sequence.
int __get_min_source ()
void __init ()
unsigned int __init_winner (unsigned int __root)
void __insert_start (const _Tp &__key, int __source, bool __sup)
Initializes the sequence '_M_source' with the element '__key'.
ProtectedAttributes
unsigned int _M_ik
unsigned int _M_log_k
unsigned int _M_offset