From db8b482f74de52cf8cd191a38d85e7e7cc5e7500 Mon Sep 17 00:00:00 2001 From: Pcornat Date: Fri, 6 Feb 2026 18:05:36 +0100 Subject: [PATCH] A to_string method for enums --- include/billy_objects.hpp | 2 ++ src/billy_objects.cpp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/include/billy_objects.hpp b/include/billy_objects.hpp index 46152e9..d03879a 100644 --- a/include/billy_objects.hpp +++ b/include/billy_objects.hpp @@ -49,6 +49,8 @@ namespace character { static std::string_view billy_object_to_string(const billyObjects &object) noexcept; + static std::string_view billy_object_to_string(const billyEnums &object) noexcept; + static void to_json(json &j, const container &billy); static void from_json(const json &j, container &billy); diff --git a/src/billy_objects.cpp b/src/billy_objects.cpp index 52cf96d..7fd747c 100644 --- a/src/billy_objects.cpp +++ b/src/billy_objects.cpp @@ -113,6 +113,15 @@ namespace character { return object->to_string(); } + std::string_view BillyObjects::billy_object_to_string(const billyEnums &object) noexcept { + return std::visit(overloaded{ + [](const weapons &obj) { return Weapons{ obj }.to_string(); }, + [](const equipments &obj) { return Equipments{ obj }.to_string(); }, + [](const tools &obj) { return Tools{ obj }.to_string(); }, + }, + object); + } + void BillyObjects::from_json(const json &j, container &billy) { for (const auto &element: j) { const std::uint32_t key = element[0].get();