__GNU_PARALLEL::_LOSERTREEUNGUARDEDBASE(3cxx)
π¦ __gnu_parallel::_LoserTreeUnguardedBase< _Tp, _Compare > β the man page, but make it make sense π
okay bestie, so this is one of those 3cxx pages (that's the manual section, slay) and it's documenting __gnu_parallel::_LoserTreeUnguardedBase< _Tp, _Compare >, which is literally just the base class for the unguarded _LoserTree implementation. no cap. it's giving "foundation, not the whole house" energy π
πΈ NAME πΈ
__gnu_parallel::_LoserTreeUnguardedBase< _Tp, _Compare > β the base class for the unguarded _LoserTree implementation. that's the whole vibe. it's the parent, it's the blueprint, it's the main character's backstory β¨
β¨ SYNOPSIS β¨
#include <losertree.h>
and also, the little nepo-babies that inherit from it π«Ά:
__gnu_parallel::_LoserTreeUnguarded< __stable, _Tp, _Compare >__gnu_parallel::_LoserTreeUnguarded< false, _Tp, _Compare >
π PUBLIC MEMBER FUNCTIONS π
here's the roster, the whole friend group:
_LoserTreeUnguardedBase (unsigned int __k, const _Tp &__sentinel, _Compare __comp=std::less< _Tp >())β the constructor, the origin story. it takes__k, a__sentinel, and__compwhich defaults tostd::less< _Tp >(). iykyk.int __get_min_source ()β hands you back the source of the current minimum, as anint. iconic.void __insert_start (const _Tp &__key, int __source, bool)β inserts a starting element into the tree, given__key,__source, and abool. that third one's just vibes, no name, we respect the mysteriousness π
π§ PROTECTED ATTRIBUTES π§
the internals, the behind-the-scenes, the group chat nobody else gets to see:
_Compare _M_compβ the comparator, stored. periodt.unsigned int _M_ikβ anunsigned int. keeping it lowkey.unsigned int _M_kβ anotherunsigned int, also living its best life._Loser * _M_losersβ a pointer to_Loser. yes, a whole array of them, and yes, the name is a little mean but that's the data structure's problem not ours πunsigned int _M_offsetβunsigned int, offset edition.
π DETAILED DESCRIPTION π
template<typename _Tp, typename _Compare>
class __gnu_parallel::_LoserTreeUnguardedBase< _Tp, _Compare >"Base class for unguarded _LoserTree implementation.
(the original line really does have that quote mark jammed in there like that β we keep it exactly as-is, we do not fix, we do not judge π«Ά)
so what's the tea? this is the base class for the unguarded _LoserTree implementation. here's the important stuff:
- the whole element gets copied into the tree structure. not a pointer, not a reference, the whole thing. carry it with you π
- no guarding is done β so not a single input sequence must run empty. like, at all. that's the rule, bestie, respect it π
- unused
__sequenceheads are marked with a sentinel, and that sentinel is > all elements that are to be merged. it's the ultimate bigger fish π - and, direct quote energy: this is a very fast variant π₯
β AUTHOR β
Generated automatically by Doxygen for libstdc++ from the source code. so nobody actually hand-wrote this, a robot did, and honestly? it ate π
real talk: this whole thing is a template on< _Tp, _Compare >, so those two are placeholders and you fill in your own types. don't come for me, that's literally whattemplate<typename _Tp, typename _Compare>means π¦
and that's the page!! mwah π written by a Doxygen bot on behalf of libstdc++ from the source code, footer and all, dated libst__gnu_parallel:..._Tp, _Compare >(3cxx) in that glorious 3cxx manual section. go merge some sequences, unguarded, sentinel and all. periodt πβ¨
π¦ where this page comes from
- debian trixie: libstdc++-12-doc 12.4.0-5
- debian trixie: libstdc++-13-doc 13.3.0-16
- debian trixie: libstdc++-14-doc 14.2.0-19
- ubuntu noble: libstdc++-10-doc 10.5.0-4ubuntu2
- ubuntu noble: libstdc++-10-doc 10.5.0-4ubuntu2.1
- ubuntu noble: libstdc++-11-doc 11.4.0-9ubuntu1
- ubuntu noble: libstdc++-11-doc 11.5.0-1ubuntu1~24.04.1
- ubuntu noble: libstdc++-12-doc 12.3.0-17ubuntu1
- ubuntu noble: libstdc++-12-doc 12.4.0-2ubuntu1~24.04.1
- ubuntu noble: libstdc++-13-doc 13.2.0-23ubuntu4
- ubuntu noble: libstdc++-13-doc 13.3.0-6ubuntu2~24.04.1
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- ubuntu noble: libstdc++-14-doc 14.2.0-4ubuntu2~24.04.1
- ubuntu questing: libstdc++-11-doc 11.5.0-7ubuntu1
- ubuntu questing: libstdc++-11-doc 11.5.0-7ubuntu1.1
- ubuntu questing: libstdc++-12-doc 12.5.0-6ubuntu1
- ubuntu questing: libstdc++-13-doc 13.4.0-4ubuntu1
- ubuntu questing: libstdc++-14-doc 14.3.0-8ubuntu1
- ubuntu questing: libstdc++-15-doc 15.2.0-4ubuntu4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms