# __gnu_parallel::QSBThreadLocal< RandomAccessIterator > Struct Template Reference

List of all members.

## Detailed Description

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

Information local to one thread in the parallel quicksort run.

Definition at line 68 of file balanced_quicksort.h.

## Public Types

- typedef traits_type::difference_type difference_type
- typedef std::pair< RandomAccessIterator,
  RandomAccessIterator > Piece
- typedef std::iterator_traits<
  RandomAccessIterator > traits_type

## Public Member Functions

- QSBThreadLocal (int queue_size)

## Public Attributes

- volatile difference_type * elements_leftover
- Piece global
- Piece initial
- RestrictedBoundedConcurrentQueue<
  Piece > leftover_parts
- thread_index_t num_threads

## Member Typedef Documentation

template<typename RandomAccessIterator>

typedef std::pair<RandomAccessIterator, RandomAccessIterator> __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::Piece

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

Definition at line 75 of file balanced_quicksort.h.

## Constructor & Destructor Documentation

template<typename RandomAccessIterator>

__gnu_parallel::QSBThreadLocal< RandomAccessIterator >::QSBThreadLocal | ( | int | queue_size | ) | `[inline]`

Constructor.

Parameters:

  | queue_size | Size of the work-stealing queue.

Definition at line 94 of file balanced_quicksort.h.

## Member Data Documentation

template<typename RandomAccessIterator>

volatile difference_type* __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::elements_leftover

Pointer to a counter of elements left over to sort.

Definition at line 87 of file balanced_quicksort.h.

Referenced by __gnu_parallel::qsb_conquer(), and __gnu_parallel::qsb_local_sort_with_helping().

template<typename RandomAccessIterator>

Piece __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::global

The complete sequence to sort.

Definition at line 90 of file balanced_quicksort.h.

template<typename RandomAccessIterator>

Piece __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::initial

Initial piece to work on.

Definition at line 78 of file balanced_quicksort.h.

Referenced by __gnu_parallel::qsb_conquer(), and __gnu_parallel::qsb_local_sort_with_helping().

template<typename RandomAccessIterator>

RestrictedBoundedConcurrentQueue<Piece> __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::leftover_parts

Work-stealing queue.

Definition at line 81 of file balanced_quicksort.h.

Referenced by __gnu_parallel::qsb_local_sort_with_helping().

template<typename RandomAccessIterator>

thread_index_t __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::num_threads

Number of threads involved in this algorithm.

Definition at line 84 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