libtasks Documentation  1.6
tasks::tools::queue< T > Class Template Reference

#include <queue.h>

Collaboration diagram for tasks::tools::queue< T >:

Classes

struct  node
 

Public Member Functions

 queue ()
 
 ~queue ()
 
bool pop (T &res)
 
bool push (const T &v)
 

Private Attributes

char pad0 [CACHE_LINE_SIZE]
 
nodem_first
 
char pad1 [CACHE_LINE_SIZE]
 
spinlock m_pop_lock
 
char pad2 [CACHE_LINE_SIZE]
 
nodem_last
 
char pad3 [CACHE_LINE_SIZE]
 
spinlock m_push_lock
 
char pad4 [CACHE_LINE_SIZE]
 

Detailed Description

template<typename T>
class tasks::tools::queue< T >

Definition at line 27 of file queue.h.

Constructor & Destructor Documentation

template<typename T >
tasks::tools::queue< T >::queue ( )
inline

Definition at line 29 of file queue.h.

template<typename T >
tasks::tools::queue< T >::~queue ( )
inline

Definition at line 30 of file queue.h.

Member Function Documentation

template<typename T >
bool tasks::tools::queue< T >::pop ( T &  res)
inline

Definition at line 38 of file queue.h.

Here is the call graph for this function:

template<typename T >
bool tasks::tools::queue< T >::push ( const T &  v)
inline

Definition at line 56 of file queue.h.

Member Data Documentation

template<typename T >
node* tasks::tools::queue< T >::m_first
private

Definition at line 73 of file queue.h.

template<typename T >
node* tasks::tools::queue< T >::m_last
private

Definition at line 77 of file queue.h.

template<typename T >
spinlock tasks::tools::queue< T >::m_pop_lock
private

Definition at line 75 of file queue.h.

template<typename T >
spinlock tasks::tools::queue< T >::m_push_lock
private

Definition at line 79 of file queue.h.

template<typename T >
char tasks::tools::queue< T >::pad0[CACHE_LINE_SIZE]
private

Definition at line 72 of file queue.h.

template<typename T >
char tasks::tools::queue< T >::pad1[CACHE_LINE_SIZE]
private

Definition at line 74 of file queue.h.

template<typename T >
char tasks::tools::queue< T >::pad2[CACHE_LINE_SIZE]
private

Definition at line 76 of file queue.h.

template<typename T >
char tasks::tools::queue< T >::pad3[CACHE_LINE_SIZE]
private

Definition at line 78 of file queue.h.

template<typename T >
char tasks::tools::queue< T >::pad4[CACHE_LINE_SIZE]
private

Definition at line 80 of file queue.h.


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