diff options
| -rw-r--r-- | src/StaticStack.h | 43 | ||||
| -rw-r--r-- | src/displayapp/DisplayApp.h | 6 | ||||
| -rw-r--r-- | src/utility/StaticStack.h | 47 |
3 files changed, 50 insertions, 46 deletions
diff --git a/src/StaticStack.h b/src/StaticStack.h deleted file mode 100644 index 598febce..00000000 --- a/src/StaticStack.h +++ /dev/null @@ -1,43 +0,0 @@ -#include <array> -#include <cstddef> - -template <typename T, size_t N> -class StaticStack { -public: - T Pop(); - void Push(T element); - void Reset(); - T Top(); - -private: - std::array<T, N> elementArray; - // Number of elements in stack, points to the next empty slot - size_t stackPointer = 0; -}; - -// Returns random data when popping from empty array. -template <typename T, size_t N> -T StaticStack<T, N>::Pop() { - if (stackPointer > 0) { - stackPointer--; - } - return elementArray[stackPointer]; -} - -template <typename T, size_t N> -void StaticStack<T, N>::Push(T element) { - if (stackPointer < elementArray.size()) { - elementArray[stackPointer] = element; - stackPointer++; - } -} - -template <typename T, size_t N> -void StaticStack<T, N>::Reset() { - stackPointer = 0; -} - -template <typename T, size_t N> -T StaticStack<T, N>::Top() { - return elementArray[stackPointer - 1]; -} diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 58df99c0..28d29cd4 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -19,7 +19,7 @@ #include "displayapp/Messages.h" #include "BootErrors.h" -#include "StaticStack.h" +#include "utility/StaticStack.h" namespace Pinetime { @@ -126,8 +126,8 @@ namespace Pinetime { void ApplyBrightness(); static constexpr size_t returnAppStackSize = 10; - StaticStack<Apps, returnAppStackSize> returnAppStack; - StaticStack<FullRefreshDirections, returnAppStackSize> appStackDirections; + Utility::StaticStack<Apps, returnAppStackSize> returnAppStack; + Utility::StaticStack<FullRefreshDirections, returnAppStackSize> appStackDirections; bool isDimmed = false; }; diff --git a/src/utility/StaticStack.h b/src/utility/StaticStack.h new file mode 100644 index 00000000..40df9354 --- /dev/null +++ b/src/utility/StaticStack.h @@ -0,0 +1,47 @@ +#include <array> +#include <cstddef> + +namespace Pinetime { + namespace Utility { + template <typename T, size_t N> + class StaticStack { + public: + T Pop(); + void Push(T element); + void Reset(); + T Top(); + + private: + std::array<T, N> elementArray; + // Number of elements in stack, points to the next empty slot + size_t stackPointer = 0; + }; + + // Returns random data when popping from empty array. + template <typename T, size_t N> + T StaticStack<T, N>::Pop() { + if (stackPointer > 0) { + stackPointer--; + } + return elementArray[stackPointer]; + } + + template <typename T, size_t N> + void StaticStack<T, N>::Push(T element) { + if (stackPointer < elementArray.size()) { + elementArray[stackPointer] = element; + stackPointer++; + } + } + + template <typename T, size_t N> + void StaticStack<T, N>::Reset() { + stackPointer = 0; + } + + template <typename T, size_t N> + T StaticStack<T, N>::Top() { + return elementArray[stackPointer - 1]; + } + } +} |
