From 179a65c9767b7b72049b21d86234ab776e612e11 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 4 Nov 2025 20:26:21 +0100 Subject: [PATCH] - use std::vector - removed views --- delay/buffer.hpp | 1 + delay/buffer_multi_view.hpp | 89 ------------------------------- delay/buffer_view.hpp | 87 ------------------------------ delay/tests/test_buffer.cpp | 12 ++--- delay/tests/test_buffer_multi.cpp | 1 - dsp_types.hpp | 6 --- 6 files changed, 5 insertions(+), 191 deletions(-) delete mode 100644 delay/buffer_multi_view.hpp delete mode 100644 delay/buffer_view.hpp diff --git a/delay/buffer.hpp b/delay/buffer.hpp index 4396462..1599bbf 100644 --- a/delay/buffer.hpp +++ b/delay/buffer.hpp @@ -26,6 +26,7 @@ #ifndef DSP_BUFFER_H #define DSP_BUFFER_H +#include #include #include #include diff --git a/delay/buffer_multi_view.hpp b/delay/buffer_multi_view.hpp deleted file mode 100644 index c43d702..0000000 --- a/delay/buffer_multi_view.hpp +++ /dev/null @@ -1,89 +0,0 @@ -/* - * jayDSP, A cross-platform Digital Signal Processing library written in modern C++. - * Copyright (C) 2025 Jens Ahrensfeld, All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - * File: buffer_view.hpp - * Author Jens Ahrensfeld on 26.10.2025. - */ - -#ifndef DSP_BUFFER_VIEW_H -#define DSP_BUFFER_VIEW_H - -#include "buffer_multi.hpp" - - -namespace dsp { - -template -class BufferMultiView -{ - BufferMulti &m_buffer; - uint m_offset; - uint m_channel; - - public: - BufferMultiView(BufferMulti &buffer, int offset, int channel) - : m_buffer(buffer) - , m_offset(offset) - , m_channel(channel) - { - } - - T & operator[](int offset) - { - return m_buffer.at(m_channel, m_offset + offset); - } - - const T & operator[](int offset) const - { - return m_buffer[m_offset + offset]; - } - - size_t size() - { - return m_buffer.size(); - } - - typedef std::vector::iterator iterator; - typedef std::vector::const_iterator const_iterator; - iterator begin() - { - return m_buffer.begin(); - } - - iterator end() - { - return m_buffer.end(); - } - - const_iterator begin() const - { - return m_buffer.begin(); - } - - const_iterator end() const - { - return m_buffer.end(); - } - -}; -} - -#endif // DSP_BUFFER_VIEW_H diff --git a/delay/buffer_view.hpp b/delay/buffer_view.hpp deleted file mode 100644 index 9d83145..0000000 --- a/delay/buffer_view.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * jayDSP, A cross-platform Digital Signal Processing library written in modern C++. - * Copyright (C) 2025 Jens Ahrensfeld, All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - * File: buffer_view.hpp - * Author Jens Ahrensfeld on 26.10.2025. - */ - -#ifndef DSP_BUFFER_VIEW_H -#define DSP_BUFFER_VIEW_H - -#include "buffer.hpp" - - -namespace dsp { - -template -class BufferView -{ - Buffer &m_buffer; - uint m_offset; - - public: - BufferView(Buffer &buffer, int offset) - : m_buffer(buffer) - , m_offset(offset) - { - } - - T & operator[](int offset) - { - return m_buffer[m_offset + offset]; - } - - const T & operator[](int offset) const - { - return m_buffer[m_offset + offset]; - } - - size_t size() - { - return m_buffer.size(); - } - - typedef std::vector::iterator iterator; - typedef std::vector::const_iterator const_iterator; - iterator begin() - { - return m_buffer.begin(); - } - - iterator end() - { - return m_buffer.end(); - } - - const_iterator begin() const - { - return m_buffer.begin(); - } - - const_iterator end() const - { - return m_buffer.end(); - } - -}; -} - -#endif // DSP_BUFFER_VIEW_H diff --git a/delay/tests/test_buffer.cpp b/delay/tests/test_buffer.cpp index 9de7709..49ca9be 100644 --- a/delay/tests/test_buffer.cpp +++ b/delay/tests/test_buffer.cpp @@ -1,7 +1,5 @@ #include "test_common.hpp" - #include -#include #include #include @@ -27,13 +25,11 @@ int test_buffer_1() printf("i=%d: v=%d\n", i, v); } - auto v1 = dsp::BufferView(buffer, 0); - auto v2 = dsp::BufferView(buffer, -5); + auto v1 = dsp::Buffer(buffer, 0); + auto v2 = dsp::Buffer(buffer, -5); - for(int i=0; i < buffer.capacity(); i++) - { - std::cout << buffer[i] << std::endl; - } + print(v1, v1.capacity()); + print(v2, v2.capacity()); return 0; } diff --git a/delay/tests/test_buffer_multi.cpp b/delay/tests/test_buffer_multi.cpp index 5e74414..ebe5ec5 100644 --- a/delay/tests/test_buffer_multi.cpp +++ b/delay/tests/test_buffer_multi.cpp @@ -1,4 +1,3 @@ -#include "dsp_types.hpp" #include "test_common.hpp" #include #include diff --git a/dsp_types.hpp b/dsp_types.hpp index 912b69e..26da8bd 100644 --- a/dsp_types.hpp +++ b/dsp_types.hpp @@ -26,15 +26,9 @@ #ifndef DSP_TYPES_HPP #define DSP_TYPES_HPP -#include namespace dsp { - template - class vector : public std::vector - { - - }; }