From b8f88e75862fd86f4fb4a4356ddea6a58fe64637 Mon Sep 17 00:00:00 2001 From: "Marian W." Date: Sun, 2 Feb 2025 22:55:31 +0100 Subject: [PATCH] Move ParseValue to Value base class --- minipp/minipp.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/minipp/minipp.hpp b/minipp/minipp.hpp index 0261622..2ad99d0 100644 --- a/minipp/minipp.hpp +++ b/minipp/minipp.hpp @@ -70,6 +70,9 @@ namespace minipp virtual ~Value() = default; std::vector& GetComments() noexcept { return m_comments; } const std::vector& GetComments() const noexcept { return m_comments; } + + public: + static std::unique_ptr ParseValue(std::string value); }; class Values @@ -262,7 +265,6 @@ namespace minipp Section m_rootSection{}; private: - static std::unique_ptr ParseValue(std::string value); static minipp::EResult WriteSection(const Section* section, std::ofstream& ofs, std::string partTreeName) noexcept; public: @@ -712,7 +714,7 @@ minipp::EResult minipp::MiniPPFile::Section::SetSubSection(const std::string& na return EResult::Success; } -std::unique_ptr minipp::MiniPPFile::ParseValue(std::string value) +std::unique_ptr minipp::MiniPPFile::Value::ParseValue(std::string value) { char valueFirstChar = value.front(); char valueLastChar = value.back(); @@ -918,7 +920,7 @@ minipp::EResult minipp::MiniPPFile::Parse(const std::string& path) noexcept PP_COUT_SYNTAX_ERROR(lineCounter, "Empty keys are not allowed"); return EResult::FormatError; } - auto parsedValue = ParseValue(keyValuePair.second); + auto parsedValue = Value::ParseValue(keyValuePair.second); if (parsedValue == nullptr) { PP_COUT_SYNTAX_ERROR(lineCounter, "Invalid value");