logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

__gnu_parallel::_LoserTreeBase.3cxx

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libstdc__gnu_parallel::_LoserTreeBase<_Tp,_Compare>(3cxx)

Constructor & Destructor Documentation

template<typename_Tp,typename_Compare>__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_LoserTreeBase(unsignedint__k,_Compare__comp)[inline]
       The constructor.

       Parameters__k The number of sequences to merge.
           __comp The comparator to use.

       References __gnu_parallel::__rd_log2(), __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_first_insert,
       __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_log_k, and __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_losers.

   template<typename_Tp,typename_Compare>__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::~_LoserTreeBase()[inline]
       The destructor.

       References __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_losers.

Detailed Description

template<typename_Tp,typename_Compare>
       class __gnu_parallel::_LoserTreeBase< _Tp, _Compare >"Guarded loser/tournament tree.

       The smallest element is at the top.

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

       Parameters_Tp the element type
           _Compare the comparator to use, defaults to std::less<_Tp>

Member Data Documentation

template<typename_Tp,typename_Compare>_Compare__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_comp[protected]
       _Compare to use.

   template<typename_Tp,typename_Compare>bool__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_first_insert[protected]
       State flag that determines whether the _LoserTree is empty. Only used for building the _LoserTree.

       Referenced by __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_LoserTreeBase(), and
       __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::__insert_start().

   template<typename_Tp,typename_Compare>unsignedint__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_log_k[protected]
       log_2{_M_k}

       Referenced by __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_LoserTreeBase().

   template<typename_Tp,typename_Compare>_Loser*__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_M_losers[protected]
       _LoserTree __elements.

       Referenced by __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::_LoserTreeBase(),
       __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::~_LoserTreeBase(), __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::__get_min_source(), and __gnu_parallel::_LoserTreeBase<_Tp,_Compare>::__insert_start().

Member Function Documentation

template<typename_Tp,typename_Compare>int__gnu_parallel::_LoserTreeBase<_Tp,_Compare>::__get_min_source()[inline]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]
       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::_LoserTreeBase< _Tp, _Compare > - Guarded loser/tournament tree.

Synopsis

       #include <losertree.h>

       Inherited by __gnu_parallel::_LoserTree<__stable,_Tp,_Compare>, and __gnu_parallel::_LoserTree<false,_Tp,_Compare>.

   Classes
       struct _Loser
           Internal representation of a _LoserTree element.

   PublicMemberFunctions_LoserTreeBase (unsigned int __k, _Compare __comp)
           The constructor.
       ~_LoserTreeBase ()
           The destructor.
       int __get_min_source ()
       void __insert_start (const _Tp &__key, int __source, bool __sup)
           Initializes the sequence '_M_source' with the element '__key'.

   ProtectedAttributes
       _Compare _M_comp
           _Compare to use.
       bool _M_first_insert
           State flag that determines whether the _LoserTree is empty.
       unsigned int _M_ik
       unsigned int _M_k
       unsigned int _M_log_k_Loser * _M_losers
           _LoserTree __elements.
       unsigned int _M_offset

See Also