#include "pch.h" #include "VersionHelper.h" #include "string_utils.h" #include #include VersionHelper::VersionHelper(std::string str) { // Remove whitespaces chars and a leading 'v' str = left_trim(trim(str), "v"); // Replace '.' with spaces replace_chars(str, ".", ' '); std::istringstream ss{ str }; ss >> major; ss >> minor; ss >> revision; if (ss.fail() || !ss.eof()) { throw std::logic_error("VersionHelper: couldn't parse the supplied version string"); } } VersionHelper::VersionHelper(const size_t major, const size_t minor, const size_t revision) : major{ major }, minor{ minor }, revision{ revision } { } std::wstring VersionHelper::toWstring() const { std::wstring result{ L"v" }; result += std::to_wstring(major); result += L'.'; result += std::to_wstring(minor); result += L'.'; result += std::to_wstring(revision); return result; }