__GNU_PARALLEL::_LOSERTREE(3cxx)

πŸ’– NAME πŸ’–

okay bestie, welcome to the 3cxx manual page for __gnu_parallel::_LoserTree< __stable, _Tp, _Compare > β€” the stable _LoserTree variant. That's the whole name vibe, and it's giving template realness ✨.

🌸 SYNOPSIS 🌸

#include <losertree.h>

Inherits __gnu_parallel::_LoserTreeBase< _Tp, _Compare >. That's the parent class, iykyk.

πŸ‘‘ Public Member Functions

  • _LoserTree (unsigned int __k, _Compare __comp) β€” the constructor, with unsigned int __k and _Compare __comp; no extra description in this list πŸ’….
  • 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 () β€” no extra description in this list; see the full doc below 🫢.
  • void __init () β€” no extra description in this list.
  • unsigned int __init_winner (unsigned int __root) β€” no extra description in this list.
  • void __insert_start (const _Tp &__key, int __source, bool __sup) β€” Initializes the sequence '_M_source' with the element '__key'.

πŸŽ€ Protected Attributes

  • unsigned int _M_ik
  • unsigned int _M_log_k
  • unsigned int _M_offset

the protected trio, no extra deets in this list ✨

πŸ¦‹ Detailed Description πŸ¦‹

The template line and class line are exactly this (yes, including that quote situation):

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 Function Documentation πŸ’…

__delete_min_insert πŸ”₯

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.

__get_min_source ✨

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.

__insert_start πŸŽ€

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.

🧚 Member Data Documentation 🧚

_M_log_k πŸ’œ

template<typename _Tp , typename _Compare > unsigned int
__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_M_log_k [protected], [inherited]

log_2{_M_k}

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

πŸ‘‘ Author πŸ‘‘

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


okay bestie, sign-off time: source/version is libstdc++, and the date isn't shown in the footer, so I'm not making one up 😭. mwah πŸ’–