GRUTinizer
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
ThreadsafeQueue< T > Class Template Reference

#include <ThreadsafeQueue.h>

Public Member Functions

 ThreadsafeQueue ()
 ~ThreadsafeQueue ()
void Push (T obj)
int Pop (T &output, int millisecond_wait=1000)
size_t ItemsPushed ()
size_t ItemsPopped ()
size_t Size ()

Private Attributes

std::mutex mutex
std::queue< T > queue
std::condition_variable can_push
std::condition_variable can_pop
size_t max_queue_size
size_t items_in_queue
size_t items_pushed
size_t items_popped

Constructor & Destructor Documentation

template<typename T >
ThreadsafeQueue< T >::ThreadsafeQueue ( )
template<typename T >
ThreadsafeQueue< T >::~ThreadsafeQueue ( )

Member Function Documentation

template<typename T >
size_t ThreadsafeQueue< T >::ItemsPopped ( )
template<typename T >
size_t ThreadsafeQueue< T >::ItemsPushed ( )
template<typename T>
int ThreadsafeQueue< T >::Pop ( T &  output,
int  millisecond_wait = 1000 
)
template<typename T>
void ThreadsafeQueue< T >::Push ( obj)
template<typename T >
size_t ThreadsafeQueue< T >::Size ( )

Member Data Documentation

template<typename T>
std::condition_variable ThreadsafeQueue< T >::can_pop
private
template<typename T>
std::condition_variable ThreadsafeQueue< T >::can_push
private
template<typename T>
size_t ThreadsafeQueue< T >::items_in_queue
private
template<typename T>
size_t ThreadsafeQueue< T >::items_popped
private
template<typename T>
size_t ThreadsafeQueue< T >::items_pushed
private
template<typename T>
size_t ThreadsafeQueue< T >::max_queue_size
private
template<typename T>
std::mutex ThreadsafeQueue< T >::mutex
private
template<typename T>
std::queue<T> ThreadsafeQueue< T >::queue
private

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