AudiClean
src
BlockingQueue.h
Go to the documentation of this file.
1
//
2
// Created by ross on 18/02/2022.
3
//
4
5
#ifndef AUDICLEAN_BLOCKINGQUEUE_H
6
#define AUDICLEAN_BLOCKINGQUEUE_H
7
#include <deque>
8
#include <mutex>
9
#include <condition_variable>
10
11
12
template
<
typename
T>
14
22
class
BlockingQueue
{
23
public
:
24
BlockingQueue
(
int
maxSize=1);
25
void
Push
(T toPush);
26
T
Pop
();
27
bool
IsEmpty
();
28
int
Size
();
29
bool
Full
();
30
private
:
31
int
maxSize;
32
std::deque<T> internalQueue;
33
std::mutex mutex;
34
std::condition_variable isFull;
35
std::condition_variable isEmpty;
36
};
37
38
39
#endif //AUDICLEAN_BLOCKINGQUEUE_H
BlockingQueue::Full
bool Full()
Definition:
BlockingQueue.cpp:69
BlockingQueue::Size
int Size()
Definition:
BlockingQueue.cpp:46
BlockingQueue::IsEmpty
bool IsEmpty()
Definition:
BlockingQueue.cpp:36
BlockingQueue::Pop
T Pop()
Definition:
BlockingQueue.cpp:22
BlockingQueue
BlockingQueue Class.
Definition:
BlockingQueue.h:22
BlockingQueue::BlockingQueue
BlockingQueue(int maxSize=1)
Definition:
BlockingQueue.cpp:12
BlockingQueue::Push
void Push(T toPush)
Definition:
BlockingQueue.cpp:56
Generated by
1.8.17