# __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator > Struct Template Reference

List of all members.

## Detailed Description

### template<typename RandomAccessIterator>
struct __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >

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

Definition at line 58 of file random_shuffle.h.

## Public Types

- typedef traits_type::difference_type difference_type
- typedef std::iterator_traits<
  RandomAccessIterator > traits_type
- typedef traits_type::value_type value_type

## Public Member Functions

- DRandomShufflingGlobalData (RandomAccessIterator &_source)

## Public Attributes

- thread_index_t * bin_proc
- difference_type ** dist
- int num_bins
- int num_bits
- RandomAccessIterator & source
- difference_type * starts
- value_type ** temporaries

## Constructor & Destructor Documentation

template<typename RandomAccessIterator>

__gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::DRandomShufflingGlobalData | ( | RandomAccessIterator & | _source | ) | `[inline]`

Constructor.

Definition at line 89 of file random_shuffle.h.

## Member Data Documentation

template<typename RandomAccessIterator>

thread_index_t* __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::bin_proc

Number of the thread that will further process the corresponding bin.

Definition at line 80 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs().

template<typename RandomAccessIterator>

difference_type** __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::dist

Two-dimensional array to hold the thread-bin distribution.

Dimensions (num_threads + 1) x (num_bins + 1).

Definition at line 73 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

template<typename RandomAccessIterator>

int __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::num_bins

Number of bins to distribute to.

Definition at line 83 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

template<typename RandomAccessIterator>

int __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::num_bits

Number of bits needed to address the bins.

Definition at line 86 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

template<typename RandomAccessIterator>

RandomAccessIterator& __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::source

Begin iterator of the source.

Definition at line 65 of file random_shuffle.h.

template<typename RandomAccessIterator>

difference_type* __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::starts

Start indexes of the threads' chunks.

Definition at line 76 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

template<typename RandomAccessIterator>

value_type** __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::temporaries

Temporary arrays for each thread.

Definition at line 68 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs().

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

- random_shuffle.h