Kochol Game Engine  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
kge::core::TSQueue< Data > Class Template Reference

A thread safe queue. More...

#include <TSQueue.h>

Public Member Functions

void push (Data const &data)
 Push an element to the queue.
bool empty () const
 Is queue empty?
bool try_pop (Data &popped_value)
void wait_and_pop (Data &popped_value)
 Pop an element from queue and if queue is empty then waits for an element to come.
int Size ()
 Returns the queue size.

Private Attributes

std::queue< Data > m_queue
KgeMutex m_mutex
KgeCond m_cond

Detailed Description

template<typename Data>
class kge::core::TSQueue< Data >

A thread safe queue.

Definition at line 13 of file TSQueue.h.

Member Function Documentation

template<typename Data>
bool kge::core::TSQueue< Data >::empty ( ) const
inline

Is queue empty?

Definition at line 27 of file TSQueue.h.

template<typename Data>
void kge::core::TSQueue< Data >::push ( Data const &  data)
inline

Push an element to the queue.

Definition at line 18 of file TSQueue.h.

template<typename Data>
int kge::core::TSQueue< Data >::Size ( )
inline

Returns the queue size.

Definition at line 65 of file TSQueue.h.

template<typename Data>
bool kge::core::TSQueue< Data >::try_pop ( Data &  popped_value)
inline

Try to pop an element.

Returns
Returns false when queue is empty

Definition at line 36 of file TSQueue.h.

template<typename Data>
void kge::core::TSQueue< Data >::wait_and_pop ( Data &  popped_value)
inline

Pop an element from queue and if queue is empty then waits for an element to come.

Definition at line 51 of file TSQueue.h.

Member Data Documentation

template<typename Data>
KgeCond kge::core::TSQueue< Data >::m_cond
private

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