Marcus Lee / LinearArray
Committer:
UHSLMarcus
Date:
Tue Mar 14 12:16:34 2017 +0000
Revision:
11:1e27a6f0b0cf
Parent:
10:864b79e79ca8
Parent:
6:314f180362cb
acts more like a queue. removed mod maths

Who changed what in which revision?

UserRevisionLine numberNew contents of line
UHSLMarcus 0:23c500341c13 1 #ifndef LINEAR_ARRAY_H
UHSLMarcus 0:23c500341c13 2 #define LINEAR_ARRAY_H
UHSLMarcus 0:23c500341c13 3
UHSLMarcus 0:23c500341c13 4 #include "mbed.h"
UHSLMarcus 10:864b79e79ca8 5 #include "temp_const.h"
UHSLMarcus 10:864b79e79ca8 6
UHSLMarcus 0:23c500341c13 7
UHSLMarcus 5:0f65cdadb1a4 8 template<class type>
UHSLMarcus 0:23c500341c13 9 class LinearArray {
UHSLMarcus 5:0f65cdadb1a4 10 public:
UHSLMarcus 5:0f65cdadb1a4 11 LinearArray(int size, bool forced = false);
UHSLMarcus 5:0f65cdadb1a4 12 ~LinearArray();
UHSLMarcus 5:0f65cdadb1a4 13 int push(type item);
UHSLMarcus 5:0f65cdadb1a4 14 type& pop();
UHSLMarcus 9:68d882e457c5 15 bool try_pop(type& item);
UHSLMarcus 5:0f65cdadb1a4 16 type& peek();
UHSLMarcus 9:68d882e457c5 17 type& peek(int idx);
UHSLMarcus 5:0f65cdadb1a4 18 int size();
UHSLMarcus 5:0f65cdadb1a4 19 bool empty();
UHSLMarcus 5:0f65cdadb1a4 20 bool full();
UHSLMarcus 5:0f65cdadb1a4 21 int count();
UHSLMarcus 5:0f65cdadb1a4 22 private:
UHSLMarcus 5:0f65cdadb1a4 23 type* _array;
UHSLMarcus 5:0f65cdadb1a4 24 int _elem_count;
UHSLMarcus 5:0f65cdadb1a4 25 int _array_size;
UHSLMarcus 9:68d882e457c5 26 int _front;
UHSLMarcus 5:0f65cdadb1a4 27 int _rear;
UHSLMarcus 5:0f65cdadb1a4 28 bool _forced;
UHSLMarcus 3:8e9f85814809 29
UHSLMarcus 5:0f65cdadb1a4 30 };
UHSLMarcus 0:23c500341c13 31
UHSLMarcus 10:864b79e79ca8 32
UHSLMarcus 5:0f65cdadb1a4 33 #include "LinearArray.hpp"
UHSLMarcus 1:49758f1e1317 34
UHSLMarcus 3:8e9f85814809 35 #endif /* LINEAR_ARRAY_H */