diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-07 03:34:56 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-07 03:34:56 +0800 |
commit | 20123151d12a0b01453ab6a36c84e4d3e5ea9504 (patch) | |
tree | 27543f3e5bf6430298c94c38bad6ecc83dafdd47 /src | |
parent | 227118866190a7fe17b42e8c589c475781c69f33 (diff) | |
download | cru-20123151d12a0b01453ab6a36c84e4d3e5ea9504.tar.gz cru-20123151d12a0b01453ab6a36c84e4d3e5ea9504.tar.bz2 cru-20123151d12a0b01453ab6a36c84e4d3e5ea9504.zip |
Remove some usage of my format.
Diffstat (limited to 'src')
-rw-r--r-- | src/ThemeBuilder/components/properties/MeasureLengthPropertyEditor.cpp | 6 | ||||
-rw-r--r-- | src/ThemeBuilder/components/properties/PointPropertyEditor.cpp | 5 | ||||
-rw-r--r-- | src/ThemeBuilder/components/properties/ThicknessPropertyEditor.cpp | 1 | ||||
-rw-r--r-- | src/ThemeBuilder/components/stylers/StylerEditor.cpp | 1 | ||||
-rw-r--r-- | src/base/Exception.cpp | 15 | ||||
-rw-r--r-- | src/base/io/Stream.cpp | 13 | ||||
-rw-r--r-- | src/base/platform/unix/PosixSpawnSubProcess.cpp | 54 | ||||
-rw-r--r-- | src/base/platform/unix/UnixFileStream.cpp | 7 | ||||
-rw-r--r-- | src/parse/Grammar.cpp | 7 | ||||
-rw-r--r-- | src/platform/Exception.cpp | 61 | ||||
-rw-r--r-- | src/platform/graphics/SvgGeometryBuilderMixin.cpp | 2 | ||||
-rw-r--r-- | src/platform/gui/UiApplication.cpp | 2 | ||||
-rw-r--r-- | src/ui/components/Input.cpp | 6 | ||||
-rw-r--r-- | src/ui/style/StyleRuleSet.cpp | 1 |
14 files changed, 114 insertions, 67 deletions
diff --git a/src/ThemeBuilder/components/properties/MeasureLengthPropertyEditor.cpp b/src/ThemeBuilder/components/properties/MeasureLengthPropertyEditor.cpp index ad338e78..e359199f 100644 --- a/src/ThemeBuilder/components/properties/MeasureLengthPropertyEditor.cpp +++ b/src/ThemeBuilder/components/properties/MeasureLengthPropertyEditor.cpp @@ -1,8 +1,9 @@ #include "MeasureLengthPropertyEditor.h" -#include "cru/base/Format.h" #include "cru/ui/mapper/MapperRegistry.h" #include "cru/ui/render/MeasureRequirement.h" +#include <string> + namespace cru::theme_builder::components::properties { MeasureLengthPropertyEditor::MeasureLengthPropertyEditor() { container_.AddChild(&label_); @@ -32,6 +33,7 @@ void MeasureLengthPropertyEditor::SetValue( if (!trigger_change) SuppressNextChangeEvent(); text_.SetText(measure_length_.IsNotSpecified() ? u"unspecified" - : ToString(measure_length_.GetLengthOrUndefined())); + : String::FromUtf8(std::to_string( + measure_length_.GetLengthOrUndefined()))); } } // namespace cru::theme_builder::components::properties diff --git a/src/ThemeBuilder/components/properties/PointPropertyEditor.cpp b/src/ThemeBuilder/components/properties/PointPropertyEditor.cpp index d8487209..f2d10cf7 100644 --- a/src/ThemeBuilder/components/properties/PointPropertyEditor.cpp +++ b/src/ThemeBuilder/components/properties/PointPropertyEditor.cpp @@ -1,8 +1,9 @@ #include "PointPropertyEditor.h" -#include "cru/base/Format.h" #include "cru/ui/mapper/MapperRegistry.h" #include "cru/ui/mapper/PointMapper.h" +#include <format> + namespace cru::theme_builder::components::properties { PointPropertyEditor::PointPropertyEditor() { container_.AddChild(&label_); @@ -33,6 +34,6 @@ void PointPropertyEditor::SetValue(const ui::Point& point, } String PointPropertyEditor::ConvertPointToString(const ui::Point& point) { - return Format(u"{} {}", point.x, point.y); + return String::FromUtf8(std::format("{} {}", point.x, point.y)); } } // namespace cru::theme_builder::components::properties diff --git a/src/ThemeBuilder/components/properties/ThicknessPropertyEditor.cpp b/src/ThemeBuilder/components/properties/ThicknessPropertyEditor.cpp index 3e022bb1..955a44f7 100644 --- a/src/ThemeBuilder/components/properties/ThicknessPropertyEditor.cpp +++ b/src/ThemeBuilder/components/properties/ThicknessPropertyEditor.cpp @@ -1,4 +1,5 @@ #include "ThicknessPropertyEditor.h" +#include "cru/base/Format.h" #include "cru/ui/mapper/MapperRegistry.h" #include "cru/ui/mapper/ThicknessMapper.h" diff --git a/src/ThemeBuilder/components/stylers/StylerEditor.cpp b/src/ThemeBuilder/components/stylers/StylerEditor.cpp index 0348adbd..b3147a15 100644 --- a/src/ThemeBuilder/components/stylers/StylerEditor.cpp +++ b/src/ThemeBuilder/components/stylers/StylerEditor.cpp @@ -8,6 +8,7 @@ #include "MarginStylerEditor.h" #include "PaddingStylerEditor.h" #include "PreferredSizeStylerEditor.h" +#include "cru/base/Exception.h" #include "cru/ui/controls/FlexLayout.h" #include "cru/ui/render/FlexLayoutRenderObject.h" #include "cru/ui/style/Styler.h" diff --git a/src/base/Exception.cpp b/src/base/Exception.cpp index 2bf66fc6..571c115f 100644 --- a/src/base/Exception.cpp +++ b/src/base/Exception.cpp @@ -17,9 +17,20 @@ Exception::~Exception() {} const char* Exception::what() const noexcept { return message_.c_str(); } -void Exception::AppendMessage(StringView additional_message) { +void Exception::AppendMessage(std::string_view additional_message) { message_ += " "; - message_ += additional_message.ToUtf8(); + message_ += additional_message; +} + +void Exception::AppendMessage( + std::optional<std::string_view> additional_message) { + if (additional_message) AppendMessage(*additional_message); +} + +void Exception::SetMessage(StringView message) { SetMessage(message.ToUtf8()); } + +void Exception::AppendMessage(StringView additional_message) { + AppendMessage(std::string_view(additional_message.ToUtf8())); } void Exception::AppendMessage(std::optional<StringView> additional_message) { diff --git a/src/base/io/Stream.cpp b/src/base/io/Stream.cpp index 1944ea7e..9b7ef856 100644 --- a/src/base/io/Stream.cpp +++ b/src/base/io/Stream.cpp @@ -1,15 +1,18 @@ #include "cru/base/io/Stream.h" #include "cru/base/Exception.h" -#include "cru/base/Format.h" +#include <format> #include <utility> namespace cru::io { StreamOperationNotSupportedException::StreamOperationNotSupportedException( - String operation) - : operation_(std::move(operation)) { - SetMessage(Format(u"Stream operation {} not supported.", operation_)); -} + StringView operation) + : StreamOperationNotSupportedException(operation.ToUtf8()) {} + +StreamOperationNotSupportedException::StreamOperationNotSupportedException( + std::string operation) + : Exception(std::format("Stream operation {} not supported.", operation)), + operation_(std::move(operation)) {} void StreamOperationNotSupportedException::CheckSeek(bool seekable) { if (!seekable) throw StreamOperationNotSupportedException(u"seek"); diff --git a/src/base/platform/unix/PosixSpawnSubProcess.cpp b/src/base/platform/unix/PosixSpawnSubProcess.cpp index 4471c39c..f7d2e855 100644 --- a/src/base/platform/unix/PosixSpawnSubProcess.cpp +++ b/src/base/platform/unix/PosixSpawnSubProcess.cpp @@ -1,6 +1,5 @@ #include "cru/base/platform/unix/PosixSpawnSubProcess.h" #include "cru/base/Exception.h" -#include "cru/base/Format.h" #include "cru/base/Guard.h" #include "cru/base/String.h" #include "cru/base/SubProcess.h" @@ -10,7 +9,9 @@ #include <spawn.h> #include <sys/wait.h> #include <unistd.h> +#include <format> #include <memory> +#include <string_view> #include <unordered_map> namespace cru::platform::unix { @@ -35,7 +36,7 @@ char** CreateCstrArray(const std::vector<String>& argv) { char** CreateCstrArray(const std::unordered_map<String, String>& envp) { std::vector<String> str_array; for (auto& [key, value] : envp) { - str_array.push_back(cru::Format(u"{}={}", key, value)); + str_array.push_back(key + u"=" + value); } return CreateCstrArray(str_array); } @@ -54,7 +55,7 @@ void DestroyCstrArray(char** argv) { void PosixSpawnSubProcessImpl::PlatformCreateProcess( const SubProcessStartInfo& start_info) { - auto check_error = [](int error, String message) { + auto check_error = [](int error, std::string message) { if (error == 0) return; std::unique_ptr<ErrnoException> inner(new ErrnoException(error)); throw SubProcessFailedToStartException(std::move(message), @@ -63,49 +64,52 @@ void PosixSpawnSubProcessImpl::PlatformCreateProcess( posix_spawn_file_actions_t file_actions; check_error(posix_spawn_file_actions_init(&file_actions), - u"Failed to call posix_spawn_file_actions_init."); + "Failed to call posix_spawn_file_actions_init."); Guard file_actions_guard( [&file_actions] { posix_spawn_file_actions_destroy(&file_actions); }); auto add_dup2 = [&check_error, &file_actions](int from, int to, - StringView name) { + std::string_view name) { check_error( posix_spawn_file_actions_adddup2(&file_actions, from, to), - Format(u"Failed to call posix_spawn_file_actions_adddup2 on {}.", - name)); + std::format("Failed to call posix_spawn_file_actions_adddup2 on {}.", + name)); }; auto add_close = [&check_error, &file_actions]( - UniDirectionalUnixPipeResult& pipe, StringView name) { - check_error(posix_spawn_file_actions_addclose(&file_actions, pipe.read), - Format(u"Failed to call posix_spawn_file_actions_addclose on " - u"read end of pipe {}.", - name)); - check_error(posix_spawn_file_actions_addclose(&file_actions, pipe.write), - Format(u"Failed to call posix_spawn_file_actions_addclose on " - u"write end of pipe {}.", - name)); + UniDirectionalUnixPipeResult& pipe, + std::string_view name) { + check_error( + posix_spawn_file_actions_addclose(&file_actions, pipe.read), + std::format("Failed to call posix_spawn_file_actions_addclose on " + "read end of pipe {}.", + name)); + check_error( + posix_spawn_file_actions_addclose(&file_actions, pipe.write), + std::format("Failed to call posix_spawn_file_actions_addclose on " + "write end of pipe {}.", + name)); }; auto my_stdin = OpenUniDirectionalPipe(); auto my_stdout = OpenUniDirectionalPipe(); auto my_stderr = OpenUniDirectionalPipe(); - add_dup2(my_stdin.read, STDIN_FILENO, u"stdin"); - add_dup2(my_stdout.write, STDOUT_FILENO, u"stdout"); - add_dup2(my_stderr.write, STDERR_FILENO, u"stderr"); - add_close(my_stdin, u"stdin"); - add_close(my_stdout, u"stdout"); - add_close(my_stderr, u"stderr"); + add_dup2(my_stdin.read, STDIN_FILENO, "stdin"); + add_dup2(my_stdout.write, STDOUT_FILENO, "stdout"); + add_dup2(my_stderr.write, STDERR_FILENO, "stderr"); + add_close(my_stdin, "stdin"); + add_close(my_stdout, "stdout"); + add_close(my_stderr, "stderr"); posix_spawnattr_t attr; check_error(posix_spawnattr_init(&attr), - u"Failed to call posix_spawnattr_init."); + "Failed to call posix_spawnattr_init."); Guard attr_guard([&attr] { posix_spawnattr_destroy(&attr); }); #ifdef __APPLE__ check_error(posix_spawnattr_setflags(&attr, POSIX_SPAWN_CLOEXEC_DEFAULT), - u"Failed to set flag POSIX_SPAWN_CLOEXEC_DEFAULT (osx)."); + "Failed to set flag POSIX_SPAWN_CLOEXEC_DEFAULT (osx)."); #endif auto exe = start_info.program.ToUtf8(); @@ -121,7 +125,7 @@ void PosixSpawnSubProcessImpl::PlatformCreateProcess( check_error( posix_spawnp(&pid_, exe.c_str(), &file_actions, &attr, argv, envp), - u"Failed to call posix_spawnp."); + "Failed to call posix_spawnp."); stdin_stream_ = std::make_unique<UnixFileStream>(std::move(my_stdin.write), false, false, true); diff --git a/src/base/platform/unix/UnixFileStream.cpp b/src/base/platform/unix/UnixFileStream.cpp index e1a6080b..0772c279 100644 --- a/src/base/platform/unix/UnixFileStream.cpp +++ b/src/base/platform/unix/UnixFileStream.cpp @@ -1,11 +1,11 @@ #include "cru/base/platform/unix/UnixFileStream.h" #include "cru/base/Exception.h" -#include "cru/base/Format.h" #include "cru/base/io/Stream.h" #include <fcntl.h> #include <sys/fcntl.h> #include <unistd.h> +#include <format> namespace cru::platform::unix { using namespace cru::io; @@ -41,9 +41,8 @@ int MapSeekOrigin(Stream::SeekOrigin origin) { UnixFileStream::UnixFileStream(const char *path, int oflag, mode_t mode) { file_descriptor_ = UnixFileDescriptor(::open(path, oflag, mode)); if (file_descriptor_ == -1) { - throw ErrnoException( - Format(u"Failed to open file {} with oflag {}, mode {}.", - String::FromUtf8(path), oflag, mode)); + throw ErrnoException(std::format( + "Failed to open file {} with oflag {}, mode {}.", path, oflag, mode)); } SetSupportedOperations( diff --git a/src/parse/Grammar.cpp b/src/parse/Grammar.cpp index 12617de3..615901e0 100644 --- a/src/parse/Grammar.cpp +++ b/src/parse/Grammar.cpp @@ -1,9 +1,9 @@ #include "cru/parse/Grammar.h" #include "cru/base/String.h" #include "cru/parse/Symbol.h" -#include "cru/base/Format.h" #include <algorithm> +#include <format> #include <iterator> #include <unordered_map> #include <unordered_set> @@ -154,8 +154,9 @@ void Grammar::EliminateLeftRecursions() { new_right.insert(new_right.cbegin(), jp->GetRight().cbegin(), jp->GetRight().cend()); CreateProduction( - Format(u"Merge of {} and {} (Eliminate Left Recursion)", - production->GetName(), jp->GetName()), + String::FromUtf8(std::format( + "Merge of {} and {} (Eliminate Left Recursion)", + production->GetName().ToUtf8(), jp->GetName().ToUtf8())), ni, std::move(new_right)); } } diff --git a/src/platform/Exception.cpp b/src/platform/Exception.cpp index 948345e0..d5ae4702 100644 --- a/src/platform/Exception.cpp +++ b/src/platform/Exception.cpp @@ -1,44 +1,61 @@ #include "cru/platform/Exception.h" -#include "cru/base/Format.h" +#include "cru/base/Exception.h" +#include <format> #include <optional> +#include <string_view> namespace cru::platform { PlatformNotMatchException::PlatformNotMatchException( - String resource_platform, String target_platform, - std::optional<StringView> additional_message) - : resource_platform_(std::move(resource_platform)), + std::string resource_platform, std::string target_platform, + std::optional<std::string> additional_message) + : PlatformException(std::format( + "Resource platform '{}' does not match target platform '{}'.", + resource_platform_, target_platform_)), + resource_platform_(std::move(resource_platform)), target_platform_(std::move(target_platform)) { - SetMessage( - Format(u"Resource platform '{}' does not match target platform '{}'.", - resource_platform_, target_platform_)); - AppendMessage(additional_message); } -PlatformNotMatchException::~PlatformNotMatchException() {} +PlatformNotMatchException::PlatformNotMatchException( + StringView resource_platform, StringView target_platform, + std::optional<StringView> additional_message) + : PlatformNotMatchException( + resource_platform.ToUtf8(), target_platform.ToUtf8(), + additional_message.has_value() + ? std::make_optional(additional_message->ToUtf8()) + : std::nullopt) {} -String PlatformNotMatchException::GetResourcePlatform() const { - return resource_platform_; -} +PlatformNotMatchException::~PlatformNotMatchException() {} -String PlatformNotMatchException::GetTargetPlatform() const { - return target_platform_; +PlatformUnsupportedException::PlatformUnsupportedException( + std::string platform, std::string operation, + std::optional<std::string_view> additional_message) + : PlatformException( + std::format("Operation '{}' is not supported on platform '{}'.", + operation, platform)), + platform_(std::move(platform)), + operation_(std::move(operation)) { + AppendMessage(additional_message); } PlatformUnsupportedException::PlatformUnsupportedException( - String platform, String operation, + StringView platform, StringView operation, std::optional<StringView> additional_message) - : platform_(std::move(platform)), operation_(std::move(operation)) { - SetMessage(Format(u"Operation '{}' is not supported on platform '{}'.", - operation_, platform_)); - AppendMessage(additional_message); -} + : PlatformUnsupportedException( + platform.ToUtf8(), operation.ToUtf8(), + additional_message.has_value() + ? std::make_optional(additional_message->ToUtf8()) + : std::nullopt) {} PlatformUnsupportedException::~PlatformUnsupportedException() {} -String PlatformUnsupportedException::GetPlatform() const { return platform_; } +String PlatformUnsupportedException::GetPlatform() const { + return String::FromUtf8(platform_); +} -String PlatformUnsupportedException::GetOperation() const { return operation_; } +String PlatformUnsupportedException::GetOperation() const { + return String::FromUtf8(operation_); +} } // namespace cru::platform diff --git a/src/platform/graphics/SvgGeometryBuilderMixin.cpp b/src/platform/graphics/SvgGeometryBuilderMixin.cpp index 3f8b48ad..bf5275c5 100644 --- a/src/platform/graphics/SvgGeometryBuilderMixin.cpp +++ b/src/platform/graphics/SvgGeometryBuilderMixin.cpp @@ -1,6 +1,8 @@ #include "cru/platform/graphics/SvgGeometryBuilderMixin.h" #include "cru/platform/Exception.h" +#include "cru/base/Format.h" + namespace cru::platform::graphics { SvgGeometryBuilderMixin::SvgGeometryBuilderMixin() {} diff --git a/src/platform/gui/UiApplication.cpp b/src/platform/gui/UiApplication.cpp index e565ce49..4c6f5e1d 100644 --- a/src/platform/gui/UiApplication.cpp +++ b/src/platform/gui/UiApplication.cpp @@ -1,5 +1,7 @@ #include "cru/platform/gui/UiApplication.h" +#include "cru/base/Exception.h" + namespace cru::platform::gui { IUiApplication* IUiApplication::instance = nullptr; diff --git a/src/ui/components/Input.cpp b/src/ui/components/Input.cpp index b308ed51..6a53b938 100644 --- a/src/ui/components/Input.cpp +++ b/src/ui/components/Input.cpp @@ -1,9 +1,11 @@ #include "cru/ui/components/Input.h" -#include <cmath> -#include <optional> +#include "cru/base/Format.h" #include "cru/base/StringToNumberConverter.h" #include "cru/ui/controls/Control.h" +#include <cmath> +#include <optional> + namespace cru::ui::components { Input::Input() : last_validate_result_{true, u"Good value"} { text_box_.TextChangeEvent()->AddSpyOnlyHandler([this] { diff --git a/src/ui/style/StyleRuleSet.cpp b/src/ui/style/StyleRuleSet.cpp index ab3a2d01..5468949a 100644 --- a/src/ui/style/StyleRuleSet.cpp +++ b/src/ui/style/StyleRuleSet.cpp @@ -1,5 +1,6 @@ #include "cru/ui/style/StyleRuleSet.h" #include "cru/base/Event.h" +#include "cru/base/Exception.h" #include "cru/ui/controls/Control.h" #include "cru/ui/model/IListChangeNotify.h" |