libstdc++
__gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator > Struct Template Reference

List of all members.

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_tbin_proc
difference_type ** dist
int num_bins
int num_bits
RandomAccessIterator & source
difference_type * starts
value_type ** temporaries

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 52 of file random_shuffle.h.


Constructor & Destructor Documentation

template<typename RandomAccessIterator>
__gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::DRandomShufflingGlobalData ( RandomAccessIterator &  _source)
inline

Constructor.

Definition at line 83 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 74 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 67 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 77 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 80 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 59 of file random_shuffle.h.

template<typename RandomAccessIterator>
difference_type* __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::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().

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

Temporary arrays for each thread.

Definition at line 62 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs().


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