replicode
Public Member Functions | Private Attributes | List of all members
r_exec::_Mem::JobQueue< Type > Struct Template Reference

#include <mem.h>

Inheritance diagram for r_exec::_Mem::JobQueue< Type >:
Inheritance graph
Collaboration diagram for r_exec::_Mem::JobQueue< Type >:
Collaboration graph

Public Member Functions

void pushJob (Type *job)
 
Type * popJob ()
 

Private Attributes

std::mutex m_mutex
 
std::queue< Type * > m_jobs
 
std::mutex m_pushMutex
 
std::condition_variable m_canPushCondition
 
std::mutex m_popMutex
 
std::condition_variable m_canPopCondition
 

Member Function Documentation

template<class Type>
Type* r_exec::_Mem::JobQueue< Type >::popJob ( )
inline
template<class Type>
void r_exec::_Mem::JobQueue< Type >::pushJob ( Type *  job)
inline

Member Data Documentation

template<class Type>
std::condition_variable r_exec::_Mem::JobQueue< Type >::m_canPopCondition
private
template<class Type>
std::condition_variable r_exec::_Mem::JobQueue< Type >::m_canPushCondition
private
template<class Type>
std::queue<Type*> r_exec::_Mem::JobQueue< Type >::m_jobs
private
template<class Type>
std::mutex r_exec::_Mem::JobQueue< Type >::m_mutex
private
template<class Type>
std::mutex r_exec::_Mem::JobQueue< Type >::m_popMutex
private
template<class Type>
std::mutex r_exec::_Mem::JobQueue< Type >::m_pushMutex
private

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