__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.

References _M_source.

## 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 _DRandomShufflingGlobalData(), and __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:

- random_shuffle.h