From f40d09cb8f712e87691af4912f3630d92d692779 Mon Sep 17 00:00:00 2001 From: untodesu Date: Thu, 11 Dec 2025 15:14:26 +0500 Subject: Shuffle stuff around - Use the new and improved hierarchy I figured out when making Prospero chat - Re-add NSIS scripts, again from Prospero - Update most build and utility scripts with their most recent versions --- core/config/CMakeLists.txt | 7 --- core/config/boolean.cc | 43 --------------- core/config/boolean.hh | 25 --------- core/config/ivalue.hh | 11 ---- core/config/number.hh | 130 --------------------------------------------- core/config/string.cc | 18 ------- core/config/string.hh | 31 ----------- 7 files changed, 265 deletions(-) delete mode 100644 core/config/CMakeLists.txt delete mode 100644 core/config/boolean.cc delete mode 100644 core/config/boolean.hh delete mode 100644 core/config/ivalue.hh delete mode 100644 core/config/number.hh delete mode 100644 core/config/string.cc delete mode 100644 core/config/string.hh (limited to 'core/config') diff --git a/core/config/CMakeLists.txt b/core/config/CMakeLists.txt deleted file mode 100644 index 39752d4..0000000 --- a/core/config/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -target_sources(core PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/boolean.cc" - "${CMAKE_CURRENT_LIST_DIR}/boolean.hh" - "${CMAKE_CURRENT_LIST_DIR}/ivalue.hh" - "${CMAKE_CURRENT_LIST_DIR}/number.hh" - "${CMAKE_CURRENT_LIST_DIR}/string.cc" - "${CMAKE_CURRENT_LIST_DIR}/string.hh") diff --git a/core/config/boolean.cc b/core/config/boolean.cc deleted file mode 100644 index 5981b6d..0000000 --- a/core/config/boolean.cc +++ /dev/null @@ -1,43 +0,0 @@ -#include "core/pch.hh" - -#include "core/config/boolean.hh" - -config::Boolean::Boolean(bool default_value) -{ - m_value = default_value; -} - -void config::Boolean::set(std::string_view value) -{ - m_value = from_string(value); -} - -std::string_view config::Boolean::get(void) const -{ - return to_string(m_value); -} - -bool config::Boolean::get_value(void) const -{ - return m_value; -} - -void config::Boolean::set_value(bool value) -{ - m_value = value; -} - -std::string_view config::Boolean::to_string(bool value) -{ - if(value) { - return "true"; - } - else { - return "false"; - } -} - -bool config::Boolean::from_string(std::string_view value) -{ - return value == "true" && value != "false"; -} diff --git a/core/config/boolean.hh b/core/config/boolean.hh deleted file mode 100644 index f4d3acd..0000000 --- a/core/config/boolean.hh +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "core/config/ivalue.hh" - -namespace config -{ -class Boolean : public IValue { -public: - explicit Boolean(bool default_value = false); - virtual ~Boolean(void) = default; - - virtual void set(std::string_view value) override; - virtual std::string_view get(void) const override; - - bool get_value(void) const; - void set_value(bool value); - -private: - bool m_value; - -public: - static std::string_view to_string(bool value); - static bool from_string(std::string_view value); -}; -} // namespace config diff --git a/core/config/ivalue.hh b/core/config/ivalue.hh deleted file mode 100644 index 782da76..0000000 --- a/core/config/ivalue.hh +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -namespace config -{ -class IValue { -public: - virtual ~IValue(void) = default; - virtual void set(std::string_view value) = 0; - virtual std::string_view get(void) const = 0; -}; -} // namespace config diff --git a/core/config/number.hh b/core/config/number.hh deleted file mode 100644 index 59d3f47..0000000 --- a/core/config/number.hh +++ /dev/null @@ -1,130 +0,0 @@ -#pragma once - -#include "core/config/ivalue.hh" - -#include "core/math/concepts.hh" - -namespace config -{ -template -class Number : public IValue { -public: - explicit Number(T default_value = T(0)); - explicit Number(T default_value, T min_value, T max_value); - virtual ~Number(void) = default; - - virtual void set(std::string_view value) override; - virtual std::string_view get(void) const override; - - T get_value(void) const; - void set_value(T value); - - T get_min_value(void) const; - T get_max_value(void) const; - void set_limits(T min_value, T max_value); - -private: - T m_value; - T m_min_value; - T m_max_value; - std::string m_string; -}; -} // namespace config - -namespace config -{ -class Int final : public Number { -public: - using Number::Number; -}; - -class Float final : public Number { -public: - using Number::Number; -}; - -class Unsigned final : public Number { -public: - using Number::Number; -}; - -class Unsigned64 final : public Number { -public: - using Number::Number; -}; - -class SizeType final : public Number { -public: - using Number::Number; -}; -} // namespace config - -template -inline config::Number::Number(T default_value) -{ - m_value = default_value; - m_min_value = std::numeric_limits::lowest(); - m_max_value = std::numeric_limits::max(); - m_string = std::to_string(default_value); -} - -template -inline config::Number::Number(T default_value, T min_value, T max_value) -{ - m_value = default_value; - m_min_value = min_value; - m_max_value = max_value; - m_string = std::to_string(default_value); -} - -template -inline void config::Number::set(std::string_view value) -{ - T parsed_value; - auto result = std::from_chars(value.data(), value.data() + value.size(), parsed_value); - - if(result.ec == std::errc()) { - m_value = std::clamp(parsed_value, m_min_value, m_max_value); - m_string = std::to_string(m_value); - } -} - -template -inline std::string_view config::Number::get(void) const -{ - return m_string; -} - -template -inline T config::Number::get_value(void) const -{ - return m_value; -} - -template -inline void config::Number::set_value(T value) -{ - m_value = std::clamp(value, m_min_value, m_max_value); - m_string = std::to_string(m_value); -} - -template -inline T config::Number::get_min_value(void) const -{ - return m_min_value; -} - -template -inline T config::Number::get_max_value(void) const -{ - return m_max_value; -} - -template -inline void config::Number::set_limits(T min_value, T max_value) -{ - m_min_value = min_value; - m_max_value = max_value; - m_value = std::clamp(m_value, m_min_value, m_max_value); - m_string = std::to_string(m_value); -} diff --git a/core/config/string.cc b/core/config/string.cc deleted file mode 100644 index 8fb9d70..0000000 --- a/core/config/string.cc +++ /dev/null @@ -1,18 +0,0 @@ -#include "core/pch.hh" - -#include "core/config/string.hh" - -config::String::String(std::string_view default_value) -{ - m_value = default_value; -} - -void config::String::set(std::string_view value) -{ - m_value = value; -} - -std::string_view config::String::get(void) const -{ - return m_value; -} diff --git a/core/config/string.hh b/core/config/string.hh deleted file mode 100644 index d7bbbc1..0000000 --- a/core/config/string.hh +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "core/config/ivalue.hh" - -namespace config -{ -class String : public IValue { -public: - explicit String(std::string_view default_value); - virtual ~String(void) = default; - - virtual void set(std::string_view value) override; - virtual std::string_view get(void) const override; - - constexpr const std::string& get_value(void) const noexcept; - constexpr const char* c_str(void) const noexcept; - -private: - std::string m_value; -}; -} // namespace config - -constexpr const std::string& config::String::get_value(void) const noexcept -{ - return m_value; -} - -constexpr const char* config::String::c_str(void) const noexcept -{ - return m_value.c_str(); -} -- cgit