__GNU_PARALLEL::__GENERATE_SELECTOR(3cxx)
π __gnu_parallel::__generate_selector< _It > (3cxx) β bestie's guide to the std::generate() selector
okay so real talk, this page is from the <italic>...selector< _It >(3cxx)</italic> corner of the manual (libstdc++'s own little corner, iykyk) and it's literally the whole personality of one tiny struct. Let's get into it π«Ά
β¨ NAME β¨
__gnu_parallel::__generate_selector< _It > β the std::generate() selector. that's it, that's the whole name, and honestly? iconic.
β¨ SYNOPSIS β¨
#include <for_each_selectors.h>
Inherits __gnu_parallel::__generic_for_each_selector< _It >. yes bestie, it's a nepo baby β it inherits everything from its parent struct and we love that for it π
πΈ Public Member Functions πΈ
template<typename _Op > bool operator() (_Op &__o, _It __i)β functor execution. that's the main character energy right there, the actual "do the thing" moment β
π Public Attributes π
_It _M_finish_iteratorβ the Iterator on last element processed; needed for some algorithms (e. g.std::transform()). it remembers where you stopped, lowkey the responsible friend of the group π
π Detailed Description π
template<typename _It>
struct __gnu_parallel::__generate_selector< _It >
It's the std::generate() selector. periodt. like, that's genuinely the whole vibe β this struct exists so parallel std::generate() has a selector to do its little selector dance π¦
π₯ Member Function Documentation π₯
π« template<typename _It > template<typename _Op > bool __gnu_parallel::__generate_selector< _It >::operator() (_Op & __o, _It __i) [inline]
Functor execution. (inline, no cap β it's right there in the header, it doesn't need a whole separate trip to the linker π)
Parameters
__oβ Operator.__iβ iterator referencing object.
ngl that's a very tidy two-argument situation. so clean. so concise. she said "I take an operator and an iterator and I handle it" π
π§ Member Data Documentation π§
π template<typename _It > _It __gnu_parallel::__generic_for_each_selector< _It >::_M_finish_iterator [inherited]
Iterator on last element processed; needed for some algorithms (e. g. std::transform()).
it's [inherited], bestie β so it lives up in __generic_for_each_selector< _It > and __generate_selector< _It > just gets to use it for free. generational wealth of iterators fr fr πΈ
heads up: it's the last element processed, not "one past the end" or anything sneaky β needed for some algorithms, e. g. std::transform(). don't @ me, that's literally what the page says π
π Author π
Generated automatically by Doxygen for libstdc++ from the source code. so nobody hand-wrote this and yet here we are, treating it like a masterpiece β¨
okay that's the whole page, you made it, I'm so proud of you π₯Ήπ this little selector came straight out of libstdc++ (the __gnu_parallel:...selector< _It >(3cxx) zone β you know the one) with a date that the footer keeps to itself, so consider this your cute little sign-off: go forth and generate, bestie. ππ
π¦ 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