diff options
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | raul/ArrayStack.hpp | 73 |
2 files changed, 2 insertions, 78 deletions
@@ -1,15 +1,12 @@ raul (9999) unstable; * Remove glib dpendency + * Remove OSC and RDF library dependent code * Improve RingBuffer * Add ThreadVar, a thread-specific variable class * Implement Semaphore for Windows * Improve test suite - * Remove EventRingBuffer - * Remove SMFReader and SMFWriter - * Remove OSC and RDF library dependent code - * Remove Quantizer - * Remove Thread context stuff in favour of ThreadVar + * Remove several questionable classes * Add INSTALL file * Update license to GPL3+ diff --git a/raul/ArrayStack.hpp b/raul/ArrayStack.hpp deleted file mode 100644 index c62e876..0000000 --- a/raul/ArrayStack.hpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - This file is part of Raul. - Copyright 2007-2012 David Robillard <http://drobilla.net> - - Raul is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or any later version. - - Raul is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Raul. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef RAUL_ARRAYSTACK_HPP -#define RAUL_ARRAYSTACK_HPP - -#include <algorithm> -#include <cassert> -#include <cstddef> - -#include "raul/Array.hpp" -#include "raul/Deletable.hpp" - -namespace Raul { - -/** An array that can also be used as a stack (with a fixed maximum size). - * \ingroup raul - */ -template <class T> -class ArrayStack : public Array<T> -{ -public: - explicit ArrayStack(size_t size = 0) : Array<T>(size), _top(0) {} - - ArrayStack(size_t size, T initial_value) : Array<T>(size, initial_value), _top(0) {} - - ArrayStack(size_t size, const Array<T>& contents) : Array<T>(size, contents), _top(size + 1) {} - - ~Array() { - delete[] _elems; - } - - void alloc(size_t num_elems) { - Array<T>::alloc(num_elems); - _top = 0; - } - - void alloc(size_t num_elems, T initial_value) { - Array<T>::alloc(num_elems, initial_value); - _top = 0; - } - - void push_back(T n) { - assert(_top < _size); - _elems[_top++] = n; - } - - inline size_t size() const { return _size; } - - inline T& operator[](size_t i) const { assert(i < _size); return _elems[i]; } - - inline T& at(size_t i) const { assert(i < _size); return _elems[i]; } - -private: - size_t _top; // Index of empty element following the top element -}; - -} // namespace Raul - -#endif // RAUL_ARRAY_HPP |