STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Private Attributes | Friends | List of all members
Concurrency::details::_Concurrent_queue_rep Class Reference

#include <concurrent_queue.h>

Public Member Functions

 __declspec (align(64)) _Subatomic< _Ticket > _Head_counter
 
 __declspec (align(64)) _Subatomic< _Ticket > _Tail_counter
 
 __declspec (align(64)) _Micro_queue _Array[_N_queue]
 
_Micro_queue_Choose (_Ticket _K)
 

Static Public Member Functions

static size_t _Index (_Ticket _K)
 

Static Public Attributes

static const size_t _N_queue = 8
 

Static Private Attributes

static const size_t _Phi = 3
 

Friends

struct _Micro_queue
 

Detailed Description

For efficiency, this class has no constructor. The caller is expected to zero-initialize it.

Member Function Documentation

Concurrency::details::_Concurrent_queue_rep::__declspec ( align(64)  )
Concurrency::details::_Concurrent_queue_rep::__declspec ( align(64)  )
Concurrency::details::_Concurrent_queue_rep::__declspec ( align(64)  )
_Micro_queue& Concurrency::details::_Concurrent_queue_rep::_Choose ( _Ticket  _K)
inline
200  {
201  // The formula here approximates LRU in a cache-oblivious way.
202  return _Array[_Index(_K)];
203  }
static size_t _Index(_Ticket _K)
Definition: concurrent_queue.h:185
static size_t Concurrency::details::_Concurrent_queue_rep::_Index ( _Ticket  _K)
inlinestatic
186  {
187  return _K*_Phi%_N_queue;
188  }
static const size_t _N_queue
Definition: concurrent_queue.h:182
static const size_t _Phi
Definition: concurrent_queue.h:178

Friends And Related Function Documentation

friend struct _Micro_queue
friend

Member Data Documentation

const size_t Concurrency::details::_Concurrent_queue_rep::_N_queue = 8
static
const size_t Concurrency::details::_Concurrent_queue_rep::_Phi = 3
staticprivate

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