# __gnu_parallel::PMWMSSortingData< RandomAccessIterator > Struct Template Reference

List of all members.

## Detailed Description

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

Data accessed by all threads.

PMWMS = parallel multiway mergesort

Definition at line 68 of file multiway_mergesort.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 Attributes

- RandomAccessIterator * merging_places
- thread_index_t num_threads
- difference_type * offsets
- std::vector< Piece< difference_type > > * pieces
- value_type * samples
- value_type ** sorting_places
- RandomAccessIterator source
- bool stable
- difference_type * starts
- value_type ** temporaries

## Member Data Documentation

template<typename RandomAccessIterator>

RandomAccessIterator* __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::merging_places

Storage into which to merge.

Definition at line 101 of file multiway_mergesort.h.

template<typename RandomAccessIterator>

thread_index_t __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::num_threads

Number of threads involved.

Definition at line 75 of file multiway_mergesort.h.

Referenced by __gnu_parallel::determine_samples(), and __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

difference_type* __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::offsets

Offsets to add to the found positions.

Definition at line 107 of file multiway_mergesort.h.

template<typename RandomAccessIterator>

std::vector<Piece<difference_type> >* __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::pieces

Pieces of data to merge ``[thread][sequence].

Definition at line 110 of file multiway_mergesort.h.

Referenced by __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

value_type* __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::samples

Samples.

Definition at line 104 of file multiway_mergesort.h.

Referenced by __gnu_parallel::determine_samples(), and __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

value_type** __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::sorting_places

Storage in which to sort.

Definition at line 98 of file multiway_mergesort.h.

Referenced by __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

RandomAccessIterator __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::source

Input begin.

Definition at line 78 of file multiway_mergesort.h.

Referenced by __gnu_parallel::determine_samples(), and __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

bool __gnu_parallel::PMWMSSortingData< RandomAccessIterator >::stable

Stable sorting desired.

Definition at line 113 of file multiway_mergesort.h.

Referenced by __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

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

Start indices, per thread.

Definition at line 81 of file multiway_mergesort.h.

Referenced by __gnu_parallel::determine_samples(), and __gnu_parallel::parallel_sort_mwms_pu().

template<typename RandomAccessIterator>

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

Temporary arrays for each thread.

Indirection Allows using the temporary storage in different ways, without code duplication.

See also:
  _GLIBCXX_MULTIWAY_MERGESORT_COPY_LAST

Definition at line 88 of file multiway_mergesort.h.

Referenced by __gnu_parallel::parallel_sort_mwms_pu().

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

- multiway_mergesort.h