__GNU_PARALLEL::_DRANDOMSHUFFLINGGLOBALDATA(3cxx)
πΈ NAME πΈ
ok so bestie, gather round β __gnu_parallel::_DRandomShufflingGlobalData< _RAIter > is the shared-state struct that holds Data known to every thread participating in __gnu_parallel::__parallel_random_shuffle().` Like, every thread in the shuffle party gets a copy of this and they all see the same info. teamwork makes the dream work fr fr π
(this page lives in section 3cxx of the manual, iykyk π)
β¨ SYNOPSIS β¨
#include <random_shuffle.h>
π¦ Public Types
_DifferenceTypeβ it's atypedeffor_TraitsType::difference_type, no cap._TraitsTypeβ atypedefforstd::iterator_traits< _RAIter >β yes, the whole traits bundle._ValueTypeβ atypedeffor_TraitsType::value_type, literally the value type, periodt.
π«Ά Public Member Functions
_DRandomShufflingGlobalData (_RAIter &__source)β Constructor. that's the whole description bestie, iconic of it.
π Public Attributes
_ThreadIndex * _M_bin_procβ Number of the thread that will further process the corresponding bin._DifferenceType ** _M_distβ Two-dimensional array to hold the thread-bin distribution.int _M_num_binsβ Number of bins to distribute to.int _M_num_bitsβ Number of bits needed to address the bins._RAIter & _M_sourceβ Begin iterator of the__source._DifferenceType * _M_startsβ Start indexes of the threads'__chunks._ValueType ** _M_temporariesβ Temporary arrays for each thread. one per thread, cute.
π Detailed Description π
template<typename _RAIter>
struct __gnu_parallel::_DRandomShufflingGlobalData< _RAIter >
ok so it's a template struct on _RAIter, and its whole personality is: "Data known to every thread participating in __gnu_parallel::__parallel_random_shuffle()." that's the vibe. shared data, all threads invited to the group chat. π§β¨
π Constructor & Destructor Documentation π
template<typename _RAIter >
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_DRandomShufflingGlobalData (_RAIter & __source) [inline]
Constructor. takes a reference to _RAIter called __source. it's [inline] btw. that's it, that's the constructor, she's lowkey mysterious π
π Member Data Documentation π
π _M_bin_proc
template<typename _RAIter > _ThreadIndex*
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_bin_proc
Number of the thread that will further process the corresponding bin.
Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().
π _M_dist
template<typename _RAIter > _DifferenceType**
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_dist
Two-dimensional array to hold the thread-bin distribution. Dimensions are (_M_num_threads + 1) __x (_M_num_bins + 1). β¨
Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().
π _M_num_bins
template<typename _RAIter > int
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_num_bins
Number of bins to distribute to.
Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().
π _M_num_bits
template<typename _RAIter > int
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_num_bits
Number of bits needed to address the bins.
Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().
π _M_source
template<typename _RAIter > _RAIter&
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_source
Begin iterator of the __source.
Referenced by __gnu_parallel::__parallel_random_shuffle_drs_pu().
ok note the glow-up here:_M_sourceis only referenced by the_pu()function, not both. she's exclusive π
π _M_starts
template<typename _RAIter > _DifferenceType*
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_starts
Start indexes of the threads' __chunks.
Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().
π _M_temporaries
template<typename _RAIter > _ValueType**
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_temporaries
Temporary arrays for each thread.
Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().
π Author π
Generated automatically by Doxygen for libstdc++ from the source code. not a human author bestie, a robot did this, and honestly? slay π€β¨
so yeah, that's the whole page β footer says libstdc++ (the manual/source it came from) and the date line got absolutely chopped in the original, giving us that iconic libst__gnu_parallel:...Data< _RAIter >(3cxx) situation. love that for us. bye bestie, go shuffle something ππ¦
π¦ 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