__gnu_parallel::_QSBThreadLocal< _RAIter > Struct Template Reference

`#include <balanced_quicksort.h>`

## Public Types

typedef _TraitsType::difference_type | _DifferenceType
typedef std::pair< _RAIter, _RAIter > | _Piece
typedef std::iterator_traits< _RAIter > | _TraitsType

## Public Member Functions

| _QSBThreadLocal (int __queue_size)

## Public Attributes

volatile _DifferenceType * | _M_elements_leftover
_Piece | _M_global
_Piece | _M_initial
_RestrictedBoundedConcurrentQueue< _Piece > | _M_leftover_parts
_ThreadIndex | _M_num_threads

## Detailed Description

template<typename _RAIter>
struct __gnu_parallel::_QSBThreadLocal< _RAIter >

Information local to one thread in the parallel quicksort run.

Definition at line 65 of file balanced_quicksort.h.

## Member Typedef Documentation

## _DifferenceType

template<typename _RAIter >

typedef _TraitsType::difference_type __gnu_parallel::_QSBThreadLocal< _RAIter >::_DifferenceType

Definition at line 68 of file balanced_quicksort.h.

## _Piece

template<typename _RAIter >

typedef std::pair<_RAIter, _RAIter> __gnu_parallel::_QSBThreadLocal< _RAIter >::_Piece

Continuous part of the sequence, described by an iterator pair.

Definition at line 72 of file balanced_quicksort.h.

## _TraitsType

template<typename _RAIter >

typedef std::iterator_traits<_RAIter> __gnu_parallel::_QSBThreadLocal< _RAIter >::_TraitsType

Definition at line 67 of file balanced_quicksort.h.

## Constructor & Destructor Documentation

## _QSBThreadLocal()

template<typename _RAIter >

__gnu_parallel::_QSBThreadLocal< _RAIter >::_QSBThreadLocal | ( | int | __queue_size | ) |

inline

Constructor.

Parameters

  __queue_size | size of the work-stealing queue.

Definition at line 91 of file balanced_quicksort.h.

## Member Data Documentation

## _M_elements_leftover

template<typename _RAIter >

volatile _DifferenceType* __gnu_parallel::_QSBThreadLocal< _RAIter >::_M_elements_leftover

Pointer to a counter of elements left over to sort.

Definition at line 84 of file balanced_quicksort.h.

Referenced by __gnu_parallel::__parallel_sort_qsb(), __gnu_parallel::__qsb_conquer(), and __gnu_parallel::__qsb_local_sort_with_helping().

## _M_global

template<typename _RAIter >

_Piece __gnu_parallel::_QSBThreadLocal< _RAIter >::_M_global

The complete sequence to sort.

Definition at line 87 of file balanced_quicksort.h.

## _M_initial

template<typename _RAIter >

_Piece __gnu_parallel::_QSBThreadLocal< _RAIter >::_M_initial

Initial piece to work on.

Definition at line 75 of file balanced_quicksort.h.

Referenced by __gnu_parallel::__qsb_conquer(), and __gnu_parallel::__qsb_local_sort_with_helping().

## _M_leftover_parts

template<typename _RAIter >

_RestrictedBoundedConcurrentQueue<_Piece> __gnu_parallel::_QSBThreadLocal< _RAIter >::_M_leftover_parts

Work-stealing queue.

Definition at line 78 of file balanced_quicksort.h.

Referenced by __gnu_parallel::__qsb_local_sort_with_helping().

## _M_num_threads

template<typename _RAIter >

_ThreadIndex __gnu_parallel::_QSBThreadLocal< _RAIter >::_M_num_threads

Number of threads involved in this algorithm.

Definition at line 81 of file balanced_quicksort.h.

Referenced by __gnu_parallel::__qsb_local_sort_with_helping().

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

- balanced_quicksort.h