Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Eigen::RunQueue< Work, kSize > Class Template Reference

#include <RunQueue.h>

Classes

struct  Elem
 

Public Member Functions

bool Empty () const
 
Work PopBack ()
 
unsigned PopBackHalf (std::vector< Work > *result)
 
Work PopFront ()
 
Work PushBack (Work w)
 
Work PushFront (Work w)
 
 RunQueue ()
 
unsigned Size () const
 
 ~RunQueue ()
 

Private Types

enum  { kEmpty, kBusy, kReady }
 

Private Member Functions

void operator= (const RunQueue &)=delete
 
 RunQueue (const RunQueue &)=delete
 

Private Attributes

Elem array_ [kSize]
 
std::atomic< unsigned > back_
 
std::atomic< unsigned > front_
 
std::mutex mutex_
 

Static Private Attributes

static const unsigned kMask = kSize - 1
 
static const unsigned kMask2 = (kSize << 1) - 1
 

Detailed Description

template<typename Work, unsigned kSize>
class Eigen::RunQueue< Work, kSize >

Definition at line 39 of file RunQueue.h.

Member Enumeration Documentation

template<typename Work , unsigned kSize>
anonymous enum
private
Enumerator
kEmpty 
kBusy 
kReady 

Definition at line 187 of file RunQueue.h.

Constructor & Destructor Documentation

template<typename Work , unsigned kSize>
Eigen::RunQueue< Work, kSize >::RunQueue ( )
inline

Definition at line 41 of file RunQueue.h.

template<typename Work , unsigned kSize>
Eigen::RunQueue< Work, kSize >::~RunQueue ( )
inline

Definition at line 50 of file RunQueue.h.

template<typename Work , unsigned kSize>
Eigen::RunQueue< Work, kSize >::RunQueue ( const RunQueue< Work, kSize > &  )
privatedelete

Member Function Documentation

template<typename Work , unsigned kSize>
bool Eigen::RunQueue< Work, kSize >::Empty ( ) const
inline

Definition at line 178 of file RunQueue.h.

template<typename Work , unsigned kSize>
void Eigen::RunQueue< Work, kSize >::operator= ( const RunQueue< Work, kSize > &  )
privatedelete
template<typename Work , unsigned kSize>
Work Eigen::RunQueue< Work, kSize >::PopBack ( )
inline

Definition at line 102 of file RunQueue.h.

template<typename Work , unsigned kSize>
unsigned Eigen::RunQueue< Work, kSize >::PopBackHalf ( std::vector< Work > *  result)
inline

Definition at line 120 of file RunQueue.h.

template<typename Work , unsigned kSize>
Work Eigen::RunQueue< Work, kSize >::PopFront ( )
inline

Definition at line 69 of file RunQueue.h.

template<typename Work , unsigned kSize>
Work Eigen::RunQueue< Work, kSize >::PushBack ( Work  w)
inline

Definition at line 85 of file RunQueue.h.

template<typename Work , unsigned kSize>
Work Eigen::RunQueue< Work, kSize >::PushFront ( Work  w)
inline

Definition at line 54 of file RunQueue.h.

template<typename Work , unsigned kSize>
unsigned Eigen::RunQueue< Work, kSize >::Size ( ) const
inline

Definition at line 155 of file RunQueue.h.

Member Data Documentation

template<typename Work , unsigned kSize>
Elem Eigen::RunQueue< Work, kSize >::array_[kSize]
private

Definition at line 202 of file RunQueue.h.

template<typename Work , unsigned kSize>
std::atomic<unsigned> Eigen::RunQueue< Work, kSize >::back_
private

Definition at line 201 of file RunQueue.h.

template<typename Work , unsigned kSize>
std::atomic<unsigned> Eigen::RunQueue< Work, kSize >::front_
private

Definition at line 200 of file RunQueue.h.

template<typename Work , unsigned kSize>
const unsigned Eigen::RunQueue< Work, kSize >::kMask = kSize - 1
staticprivate

Definition at line 181 of file RunQueue.h.

template<typename Work , unsigned kSize>
const unsigned Eigen::RunQueue< Work, kSize >::kMask2 = (kSize << 1) - 1
staticprivate

Definition at line 182 of file RunQueue.h.

template<typename Work , unsigned kSize>
std::mutex Eigen::RunQueue< Work, kSize >::mutex_
private

Definition at line 192 of file RunQueue.h.


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


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:10:19