arduino-audio-tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Stack.h
1#pragma once
2#include "AudioTools/CoreAudio/AudioBasic/Collections/List.h"
3
4namespace audio_tools {
5
13template <class T>
14class Stack {
15 public:
16 Stack() = default;
17
18 bool push(T& data){
19 return l.push_back(data);
20 }
21
22 bool pop(T& data){
23 return l.pop_back(data);
24 }
25
26 bool peek(T& data){
27 if (size()==0) return false;
28 data = *(--l.end());
29 return true;
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
53}
Memory allocateator which uses malloc.
Definition Allocator.h:23
Double linked list.
Definition List.h:18
LIFO Stack which is based on a List.
Definition Stack.h:14
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10