arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
CoreAudio
AudioBasic
Collections
Queue.h
Go to the documentation of this file.
1
#pragma once
2
#include "
AudioTools/CoreAudio/AudioBasic/Collections/List.h
"
3
4
namespace
audio_tools
{
5
13
template
<
class
T>
14
class
Queue
{
15
public
:
16
Queue
() =
default
;
17
18
bool
enqueue
(
T
& data){
19
return
l
.push_front(data);
20
}
21
22
bool
peek
(
T
& data){
23
if
(
l
.end()->prior==
nullptr
)
return
false
;
24
data = *(
l
.end()->prior);
25
return
true
;
26
}
27
28
bool
dequeue
(
T
& data){
29
return
l
.pop_back(data);
30
}
31
32
size_t
size
() {
33
return
l
.size();
34
}
35
36
bool
clear
() {
37
return
l
.clear();
38
}
39
40
bool
empty
() {
41
return
l
.empty();
42
}
43
44
void
setAllocator
(
Allocator
&allocator){
45
l
.setAllocator(allocator);
46
}
47
48
protected
:
49
List<T>
l
;
50
};
51
52
}
List.h
audio_tools::Allocator
Memory allocateator which uses malloc.
Definition
Allocator.h:23
audio_tools::List
Double linked list.
Definition
List.h:18
audio_tools::Queue
FIFO Queue which is based on a List.
Definition
Queue.h:14
audio_tools::Queue::size
size_t size()
Definition
Queue.h:32
audio_tools::Queue::empty
bool empty()
Definition
Queue.h:40
audio_tools::Queue::peek
bool peek(T &data)
Definition
Queue.h:22
audio_tools::Queue::Queue
Queue()=default
audio_tools::Queue::dequeue
bool dequeue(T &data)
Definition
Queue.h:28
audio_tools::Queue::clear
bool clear()
Definition
Queue.h:36
audio_tools::Queue::enqueue
bool enqueue(T &data)
Definition
Queue.h:18
audio_tools::Queue::setAllocator
void setAllocator(Allocator &allocator)
Definition
Queue.h:44
audio_tools::Queue::l
List< T > l
Definition
Queue.h:49
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
AudioCodecsBase.h:10
audio_tools::writeData
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition
AudioTypes.h:512
Generated by
1.9.8