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

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
 

Detailed Description

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

Information local to one thread in the parallel quicksort run.

Definition at line 62 of file balanced_quicksort.h.

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 69 of file balanced_quicksort.h.

Constructor & Destructor Documentation

template<typename RandomAccessIterator>
__gnu_parallel::QSBThreadLocal< RandomAccessIterator >::QSBThreadLocal ( int  queue_size)
inline

Constructor.

Parameters
queue_sizeSize of the work-stealing queue.

Definition at line 88 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 81 of file balanced_quicksort.h.

Referenced by __gnu_parallel::parallel_sort_qsb(), __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 84 of file balanced_quicksort.h.

template<typename RandomAccessIterator>
Piece __gnu_parallel::QSBThreadLocal< RandomAccessIterator >::initial

Initial piece to work on.

Definition at line 72 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 75 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 78 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: