From feb99b5f64f2e8f4df1453d173c6791a3d237134 Mon Sep 17 00:00:00 2001 From: pigeatgarlic Date: Sun, 5 Apr 2026 21:42:20 +0700 Subject: [PATCH] remove round robin --- cmake/compile_definitions/common.cmake | 2 - src/move_by_copy.h | 58 -------- src/round_robin.h | 187 ------------------------- 3 files changed, 247 deletions(-) delete mode 100644 src/move_by_copy.h delete mode 100644 src/round_robin.h diff --git a/cmake/compile_definitions/common.cmake b/cmake/compile_definitions/common.cmake index b1c139d0..07f1bf7b 100644 --- a/cmake/compile_definitions/common.cmake +++ b/cmake/compile_definitions/common.cmake @@ -66,10 +66,8 @@ set(SUNSHINE_TARGET_FILES "${CMAKE_SOURCE_DIR}/src/audio.cpp" "${CMAKE_SOURCE_DIR}/src/audio.h" "${CMAKE_SOURCE_DIR}/src/platform/common.h" - "${CMAKE_SOURCE_DIR}/src/move_by_copy.h" "${CMAKE_SOURCE_DIR}/src/thread_safe.h" "${CMAKE_SOURCE_DIR}/src/sync.h" - "${CMAKE_SOURCE_DIR}/src/round_robin.h" ${PLATFORM_TARGET_FILES}) if(NOT SUNSHINE_ASSETS_DIR_DEF) diff --git a/src/move_by_copy.h b/src/move_by_copy.h deleted file mode 100644 index bac1faf9..00000000 --- a/src/move_by_copy.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file src/move_by_copy.h - * @brief todo - */ -#pragma once - -#include -namespace move_by_copy_util { - /** - * When a copy is made, it moves the object - * This allows you to move an object when a move can't be done. - */ - template - class MoveByCopy { - public: - typedef T move_type; - - private: - move_type _to_move; - - public: - explicit MoveByCopy(move_type &&to_move): - _to_move(std::move(to_move)) {} - - MoveByCopy(MoveByCopy &&other) = default; - - MoveByCopy(const MoveByCopy &other) { - *this = other; - } - - MoveByCopy & - operator=(MoveByCopy &&other) = default; - - MoveByCopy & - operator=(const MoveByCopy &other) { - this->_to_move = std::move(const_cast(other)._to_move); - - return *this; - } - - operator move_type() { - return std::move(_to_move); - } - }; - - template - MoveByCopy - cmove(T &movable) { - return MoveByCopy(std::move(movable)); - } - - // Do NOT use this unless you are absolutely certain the object to be moved is no longer used by the caller - template - MoveByCopy - const_cmove(const T &movable) { - return MoveByCopy(std::move(const_cast(movable))); - } -} // namespace move_by_copy_util diff --git a/src/round_robin.h b/src/round_robin.h deleted file mode 100644 index 658fd94e..00000000 --- a/src/round_robin.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @file src/round_robin.h - * @brief todo - */ -#pragma once - -#include - -namespace round_robin_util { - template - class it_wrap_t { - public: - using iterator_category = std::random_access_iterator_tag; - using value_type = V; - using difference_type = V; - using pointer = V *; - using const_pointer = V const *; - using reference = V &; - using const_reference = V const &; - - typedef T iterator; - typedef std::ptrdiff_t diff_t; - - iterator - operator+=(diff_t step) { - while (step-- > 0) { - ++_this(); - } - - return _this(); - } - - iterator - operator-=(diff_t step) { - while (step-- > 0) { - --_this(); - } - - return _this(); - } - - iterator - operator+(diff_t step) { - iterator new_ = _this(); - - return new_ += step; - } - - iterator - operator-(diff_t step) { - iterator new_ = _this(); - - return new_ -= step; - } - - diff_t - operator-(iterator first) { - diff_t step = 0; - while (first != _this()) { - ++step; - ++first; - } - - return step; - } - - iterator - operator++() { - _this().inc(); - return _this(); - } - iterator - operator--() { - _this().dec(); - return _this(); - } - - iterator - operator++(int) { - iterator new_ = _this(); - - ++_this(); - - return new_; - } - - iterator - operator--(int) { - iterator new_ = _this(); - - --_this(); - - return new_; - } - - reference - operator*() { return *_this().get(); } - const_reference - operator*() const { return *_this().get(); } - - pointer - operator->() { return &*_this(); } - const_pointer - operator->() const { return &*_this(); } - - bool - operator!=(const iterator &other) const { - return !(_this() == other); - } - - bool - operator<(const iterator &other) const { - return !(_this() >= other); - } - - bool - operator>=(const iterator &other) const { - return _this() == other || _this() > other; - } - - bool - operator<=(const iterator &other) const { - return _this() == other || _this() < other; - } - - bool - operator==(const iterator &other) const { return _this().eq(other); }; - bool - operator>(const iterator &other) const { return _this().gt(other); } - - private: - iterator & - _this() { return *static_cast(this); } - const iterator & - _this() const { return *static_cast(this); } - }; - - template - class round_robin_t: public it_wrap_t> { - public: - using iterator = It; - using pointer = V *; - - round_robin_t(iterator begin, iterator end): - _begin(begin), _end(end), _pos(begin) {} - - void - inc() { - ++_pos; - - if (_pos == _end) { - _pos = _begin; - } - } - - void - dec() { - if (_pos == _begin) { - _pos = _end; - } - - --_pos; - } - - bool - eq(const round_robin_t &other) const { - return *_pos == *other._pos; - } - - pointer - get() const { - return &*_pos; - } - - private: - It _begin; - It _end; - - It _pos; - }; - - template - round_robin_t - make_round_robin(It begin, It end) { - return round_robin_t(begin, end); - } -} // namespace round_robin_util