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
 
void Flush ()
 
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

EIGEN_ALWAYS_INLINE unsigned CalculateSize (unsigned front, unsigned back) const
 
void operator= (const RunQueue &)=delete
 
 RunQueue (const RunQueue &)=delete
 
template<bool NeedSizeEstimate>
unsigned SizeOrNotEmpty () const
 

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 38 of file RunQueue.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 170 of file RunQueue.h.

Constructor & Destructor Documentation

◆ RunQueue() [1/2]

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

Definition at line 40 of file RunQueue.h.

◆ ~RunQueue()

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

Definition at line 49 of file RunQueue.h.

◆ RunQueue() [2/2]

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

Member Function Documentation

◆ CalculateSize()

template<typename Work, unsigned kSize>
EIGEN_ALWAYS_INLINE unsigned Eigen::RunQueue< Work, kSize >::CalculateSize ( unsigned  front,
unsigned  back 
) const
inlineprivate

Definition at line 218 of file RunQueue.h.

◆ Empty()

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

Definition at line 154 of file RunQueue.h.

◆ Flush()

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

Definition at line 157 of file RunQueue.h.

◆ operator=()

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

◆ PopBack()

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

Definition at line 100 of file RunQueue.h.

◆ PopBackHalf()

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

Definition at line 117 of file RunQueue.h.

◆ PopFront()

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

Definition at line 68 of file RunQueue.h.

◆ PushBack()

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

Definition at line 84 of file RunQueue.h.

◆ PushFront()

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

Definition at line 53 of file RunQueue.h.

◆ Size()

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

Definition at line 150 of file RunQueue.h.

◆ SizeOrNotEmpty()

template<typename Work, unsigned kSize>
template<bool NeedSizeEstimate>
unsigned Eigen::RunQueue< Work, kSize >::SizeOrNotEmpty ( ) const
inlineprivate

Definition at line 191 of file RunQueue.h.

Member Data Documentation

◆ array_

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

Definition at line 185 of file RunQueue.h.

◆ back_

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

Definition at line 184 of file RunQueue.h.

◆ front_

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

Definition at line 183 of file RunQueue.h.

◆ kMask

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

Definition at line 164 of file RunQueue.h.

◆ kMask2

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

Definition at line 165 of file RunQueue.h.

◆ mutex_

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

Definition at line 175 of file RunQueue.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:43:04