All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
op::QueueBase< TDatums, TQueue > Class Template Referenceabstract

`#include <queueBase.hpp>`

Inherited by op::PriorityQueue< TDatums, TQueue >, and op::Queue< TDatums, TQueue >.

## Public Member Functions

| QueueBase (const long long maxSize=-1)
virtual | ~QueueBase ()
bool | forceEmplace (TDatums &tDatums)
bool | tryEmplace (TDatums &tDatums)
bool | waitAndEmplace (TDatums &tDatums)
bool | forcePush (const TDatums &tDatums)
bool | tryPush (const TDatums &tDatums)
bool | waitAndPush (const TDatums &tDatums)
bool | tryPop (TDatums &tDatums)
bool | tryPop ()
bool | waitAndPop (TDatums &tDatums)
bool | waitAndPop ()
bool | empty () const
void | stop ()
void | stopPusher ()
void | addPopper ()
void | addPusher ()
bool | isRunning () const
bool | isFull () const
size_t | size () const
void | clear ()
virtual TDatums | front () const =0

## Protected Member Functions

virtual bool | pop (TDatums &tDatums)=0
unsigned long long | getMaxSize () const

## Protected Attributes

std::mutex | mMutex
long long | mPoppers
long long | mPushers
long long | mMaxPoppersPushers
bool | mPopIsStopped
bool | mPushIsStopped
std::condition_variable | mConditionVariable
TQueue | mTQueue

## Constructor & Destructor Documentation

template<typename TDatums , typename TQueue >

op::QueueBase< TDatums, TQueue >::QueueBase | ( | const long long | maxSize = `-1` | ) |

explicit

template<typename TDatums , typename TQueue >

op::QueueBase< TDatums, TQueue >::~QueueBase | ( |  | ) |

virtual

## Member Function Documentation

template<typename TDatums , typename TQueue >

void op::QueueBase< TDatums, TQueue >::addPopper | ( |  | ) |

template<typename TDatums , typename TQueue >

void op::QueueBase< TDatums, TQueue >::addPusher | ( |  | ) |

template<typename TDatums , typename TQueue >

void op::QueueBase< TDatums, TQueue >::clear | ( |  | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::empty | ( |  | ) | const

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::forceEmplace | ( | TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::forcePush | ( | const TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

virtual TDatums op::QueueBase< TDatums, TQueue >::front | ( |  | ) | const

pure virtual

Implemented in op::PriorityQueue< TDatums, TQueue >, and op::Queue< TDatums, TQueue >.

template<typename TDatums , typename TQueue >

unsigned long long op::QueueBase< TDatums, TQueue >::getMaxSize | ( |  | ) | const

protected

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::isFull | ( |  | ) | const

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::isRunning | ( |  | ) | const

template<typename TDatums , typename TQueue >

virtual bool op::QueueBase< TDatums, TQueue >::pop | ( | TDatums & | tDatums | ) |

protectedpure virtual

template<typename TDatums , typename TQueue >

size_t op::QueueBase< TDatums, TQueue >::size | ( |  | ) | const

template<typename TDatums , typename TQueue >

void op::QueueBase< TDatums, TQueue >::stop | ( |  | ) |

template<typename TDatums , typename TQueue >

void op::QueueBase< TDatums, TQueue >::stopPusher | ( |  | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::tryEmplace | ( | TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::tryPop | ( | TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::tryPop | ( |  | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::tryPush | ( | const TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::waitAndEmplace | ( | TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::waitAndPop | ( | TDatums & | tDatums | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::waitAndPop | ( |  | ) |

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::waitAndPush | ( | const TDatums & | tDatums | ) |

## Member Data Documentation

template<typename TDatums , typename TQueue >

std::condition_variable op::QueueBase< TDatums, TQueue >::mConditionVariable

protected

template<typename TDatums , typename TQueue >

long long op::QueueBase< TDatums, TQueue >::mMaxPoppersPushers

protected

template<typename TDatums , typename TQueue >

std::mutex op::QueueBase< TDatums, TQueue >::mMutex

mutableprotected

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::mPopIsStopped

protected

template<typename TDatums , typename TQueue >

long long op::QueueBase< TDatums, TQueue >::mPoppers

protected

template<typename TDatums , typename TQueue >

long long op::QueueBase< TDatums, TQueue >::mPushers

protected

template<typename TDatums , typename TQueue >

bool op::QueueBase< TDatums, TQueue >::mPushIsStopped

protected

template<typename TDatums , typename TQueue >

TQueue op::QueueBase< TDatums, TQueue >::mTQueue

protected

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

- /home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/thread/queueBase.hpp