dwww Home | Manual pages | Find package

__gnu_parallel::_LoserTreeBgnu<parallel::pLoserTreeBase< _Tp, _Compare >(3cxx)

NAME
       __gnu_parallel::_LoserTreeBase< _Tp, _Compare > - Guarded
       loser/tournament tree.

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

   Classes
       struct _Loser
           Internal representation of a _LoserTree element.

   Public Member Functions
       _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'.

   Protected Attributes
       _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

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>

Constructor & Destructor Documentation
   template<typename _Tp , typename _Compare > __gnu_parallel::_LoserTreeBase<
       _Tp, _Compare >::_LoserTreeBase (unsigned int __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.

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.

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 > unsigned int
       __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().

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

libstdc++                __gnu_parallel::3LoserTreeBase< _Tp, _Compare >(3cxx)

Generated by dwww version 1.14 on Thu Jan 23 21:14:25 CET 2025.