---
name: "__gnu_parallel::_DRandomShufflingGlobalData"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_parallel::_DRandomShufflingGlobalData/3cxx"
---

# \_\_gnu\_parallel::\_DRandomShufflingGlobalData(3cxx)

Data known to every thread participating in \_\_gnu\_parallel::\_\_parallel\_random\_shuffle().

## NAME

\_\_gnu\_parallel::\_DRandomShufflingGlobalData\< \_RAIter \> - Data known to every thread participating in \_\_gnu\_parallel::\_\_parallel\_random\_shuffle().

## SYNOPSIS

`#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)\
 Constructor.

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

## Detailed Description

### template\<typename \_RAIter\>

struct \_\_gnu\_parallel::\_DRandomShufflingGlobalData\< \_RAIter \>"Data known to every thread participating in \_\_gnu\_parallel::\_\_parallel\_random\_shuffle().

## Constructor & Destructor Documentation

### template\<typename \_RAIter \> \_\_gnu\_parallel::\_DRandomShufflingGlobalData\< \_RAIter \>::\_DRandomShufflingGlobalData (\_RAIter & \_\_source)` [inline]`

Constructor.

## Member Data Documentation

### 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()**.

### 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).

Referenced by **\_\_gnu\_parallel::\_\_parallel\_random\_shuffle\_drs()**, and **\_\_gnu\_parallel::\_\_parallel\_random\_shuffle\_drs\_pu()**.

### 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()**.

### 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()**.

### template\<typename \_RAIter \> \_RAIter& \_\_gnu\_parallel::\_DRandomShufflingGlobalData\< \_RAIter \>::\_M\_source

Begin iterator of the \_\_source.

Referenced by **\_\_gnu\_parallel::\_\_parallel\_random\_shuffle\_drs\_pu()**.

### 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()**.

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