From ed188e0e63e844cb74031bb384ad39e09bdb5ed2 Mon Sep 17 00:00:00 2001 From: Melefo <42809472+Melefo@users.noreply.github.com> Date: Thu, 11 Feb 2021 09:43:58 +0100 Subject: [PATCH] Update C++ to v20 Using span inside renderers --- CMakeLists.txt | 2 +- sources/APU/APU.cpp | 2 +- sources/CPU/Instruction.hpp | 5 ----- sources/Renderer/IRenderer.hpp | 3 ++- sources/Renderer/NoRenderer.cpp | 2 +- sources/Renderer/NoRenderer.hpp | 2 +- sources/Renderer/QtRenderer/QtSFML.cpp | 2 +- sources/Renderer/QtRenderer/QtSFML.hpp | 2 +- sources/Renderer/SFRenderer.cpp | 4 ++-- sources/Renderer/SFRenderer.hpp | 2 +- 10 files changed, 11 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28b1656..f38def3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.12) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) # set the project name project(ComSquare) diff --git a/sources/APU/APU.cpp b/sources/APU/APU.cpp index 221af87..8613883 100644 --- a/sources/APU/APU.cpp +++ b/sources/APU/APU.cpp @@ -728,7 +728,7 @@ namespace ComSquare::APU this->_dsp.update(); samples = this->_dsp.getSamplesCount(); if (samples > 0) - this->_renderer.playAudio(this->_soundBuffer.data(), samples / 2); + this->_renderer.playAudio(std::span{this->_soundBuffer}, samples / 2); } void APU::_setNZflags(uint8_t value) diff --git a/sources/CPU/Instruction.hpp b/sources/CPU/Instruction.hpp index f6ef811..59115c1 100644 --- a/sources/CPU/Instruction.hpp +++ b/sources/CPU/Instruction.hpp @@ -55,11 +55,6 @@ namespace ComSquare::CPU std::string name = ""; AddressingMode addressingMode = Implied; int size = 0; - - Instruction() = default; - Instruction(const Instruction &) = default; - Instruction &operator=(const Instruction &) = default; - ~Instruction() = default; }; } #endif //COMSQUARE_INSTRUCTION_HPP diff --git a/sources/Renderer/IRenderer.hpp b/sources/Renderer/IRenderer.hpp index 7ce97cb..a81a4ec 100644 --- a/sources/Renderer/IRenderer.hpp +++ b/sources/Renderer/IRenderer.hpp @@ -6,6 +6,7 @@ #define COMSQUARE_IRENDERER_HPP #include +#include namespace ComSquare { @@ -34,7 +35,7 @@ namespace ComSquare //! @brief Playing all samples from buffer //! @param samples Buffer containing samples //! @param sampleCount number of samples inside buffer - virtual void playAudio(int16_t *samples, uint64_t sampleCount) = 0; + virtual void playAudio(std::span samples, uint64_t sampleCount) = 0; }; } } diff --git a/sources/Renderer/NoRenderer.cpp b/sources/Renderer/NoRenderer.cpp index 2ff3757..3eec68b 100644 --- a/sources/Renderer/NoRenderer.cpp +++ b/sources/Renderer/NoRenderer.cpp @@ -20,7 +20,7 @@ namespace ComSquare::Renderer (void)rgba; } - void NoRenderer::playAudio(int16_t *, uint64_t) + void NoRenderer::playAudio(std::span, uint64_t) { } diff --git a/sources/Renderer/NoRenderer.hpp b/sources/Renderer/NoRenderer.hpp index 149e92e..e5a3d7f 100644 --- a/sources/Renderer/NoRenderer.hpp +++ b/sources/Renderer/NoRenderer.hpp @@ -25,7 +25,7 @@ namespace ComSquare::Renderer //! @brief Playing all samples from buffer //! @param samples Buffer containing samples //! @param sampleCount number of samples inside buffer - void playAudio(int16_t *samples, uint64_t sampleCount) override; + void playAudio(std::span samples, uint64_t sampleCount) override; //! @brief Get the inputs from the Window void getEvents(); //! @brief Use this function to create the window. diff --git a/sources/Renderer/QtRenderer/QtSFML.cpp b/sources/Renderer/QtRenderer/QtSFML.cpp index 53d1e35..950ca09 100644 --- a/sources/Renderer/QtRenderer/QtSFML.cpp +++ b/sources/Renderer/QtRenderer/QtSFML.cpp @@ -85,7 +85,7 @@ namespace ComSquare::Renderer this->_sfWidget->putPixel(y, x, rgba); } - void QtSFML::playAudio(int16_t *samples, uint64_t sampleCount) + void QtSFML::playAudio(std::span samples, uint64_t sampleCount) { this->_sfWidget->playAudio(samples, sampleCount); } diff --git a/sources/Renderer/QtRenderer/QtSFML.hpp b/sources/Renderer/QtRenderer/QtSFML.hpp index 204a046..2156052 100644 --- a/sources/Renderer/QtRenderer/QtSFML.hpp +++ b/sources/Renderer/QtRenderer/QtSFML.hpp @@ -68,7 +68,7 @@ namespace ComSquare::Renderer //! @brief Playing all samples from buffer //! @param samples Buffer containing samples //! @param sampleCount number of samples inside buffer - void playAudio(int16_t *samples, uint64_t sampleCount) override; + void playAudio(std::span samples, uint64_t sampleCount) override; //! @brief Set a new name to the window, if there is already a name it will be overwrite. //! @param newWindowName new title for the window. void setWindowName(std::string &newWindowName) override; diff --git a/sources/Renderer/SFRenderer.cpp b/sources/Renderer/SFRenderer.cpp index faae54b..b051ff7 100644 --- a/sources/Renderer/SFRenderer.cpp +++ b/sources/Renderer/SFRenderer.cpp @@ -54,9 +54,9 @@ namespace ComSquare::Renderer this->_window.display(); } - void SFRenderer::playAudio(int16_t *samples, uint64_t sampleCount) + void SFRenderer::playAudio(std::span samples, uint64_t sampleCount) { - this->_soundBuffer.loadFromSamples(samples, sampleCount, 2, 32040); + this->_soundBuffer.loadFromSamples(samples.data(), sampleCount, 2, 32040); this->_sound.play(); } diff --git a/sources/Renderer/SFRenderer.hpp b/sources/Renderer/SFRenderer.hpp index 8cceb3b..8221ea3 100644 --- a/sources/Renderer/SFRenderer.hpp +++ b/sources/Renderer/SFRenderer.hpp @@ -57,7 +57,7 @@ namespace ComSquare::Renderer //! @brief Playing all samples from buffer //! @param samples Buffer containing samples //! @param sampleCount number of samples inside buffer - void playAudio(int16_t *samples, uint64_t sampleCount) override; + void playAudio(std::span samples, uint64_t sampleCount) override; //! @brief Get the inputs from the Window void getEvents(); //! @brief Use this function to create the window.