libstdc++
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter > Struct Template Reference

#include <random_shuffle.h>

Public Types

typedef _TraitsType::difference_type _DifferenceType
 
typedef std::iterator_traits< _RAIter > _TraitsType
 
typedef _TraitsType::value_type _ValueType
 

Public Member Functions

 _DRandomShufflingGlobalData (_RAIter &__source)
 

Public Attributes

_ThreadIndex_M_bin_proc
 
_DifferenceType ** _M_dist
 
int _M_num_bins
 
int _M_num_bits
 
_RAIter & _M_source
 
_DifferenceType * _M_starts
 
_ValueType ** _M_temporaries
 

Detailed Description

template<typename _RAIter>
struct __gnu_parallel::_DRandomShufflingGlobalData< _RAIter >

Data known to every thread participating in __gnu_parallel::__parallel_random_shuffle().

Definition at line 52 of file random_shuffle.h.

Member Typedef Documentation

◆ _DifferenceType

template<typename _RAIter >
typedef _TraitsType::difference_type __gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_DifferenceType

Definition at line 56 of file random_shuffle.h.

◆ _TraitsType

template<typename _RAIter >
typedef std::iterator_traits<_RAIter> __gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_TraitsType

Definition at line 54 of file random_shuffle.h.

◆ _ValueType

template<typename _RAIter >
typedef _TraitsType::value_type __gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_ValueType

Definition at line 55 of file random_shuffle.h.

Constructor & Destructor Documentation

◆ _DRandomShufflingGlobalData()

template<typename _RAIter >
__gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_DRandomShufflingGlobalData ( _RAIter &  __source)
inline

Constructor.

Definition at line 83 of file random_shuffle.h.

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.

Definition at line 74 of file random_shuffle.h.

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 (_M_num_threads + 1) __x (_M_num_bins + 1).

Definition at line 67 of file random_shuffle.h.

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.

Definition at line 77 of file random_shuffle.h.

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.

Definition at line 80 of file random_shuffle.h.

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.

Definition at line 59 of file random_shuffle.h.

Referenced by __gnu_parallel::__parallel_random_shuffle_drs_pu().

◆ _M_starts

template<typename _RAIter >
_DifferenceType* __gnu_parallel::_DRandomShufflingGlobalData< _RAIter >::_M_starts

Start indexes of the threads' __chunks.

Definition at line 70 of file random_shuffle.h.

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.

Definition at line 62 of file random_shuffle.h.

Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__parallel_random_shuffle_drs_pu().


The documentation for this struct was generated from the following file: