mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 11:27:34 +00:00
Everywhere: Use to_number<T> instead of to_{int,uint,float,double}
In a bunch of cases, this actually ends up simplifying the code as to_number will handle something such as: ``` Optional<I> opt; if constexpr (IsSigned<I>) opt = view.to_int<I>(); else opt = view.to_uint<I>(); ``` For us. The main goal here however is to have a single generic number conversion API between all of the String classes.
This commit is contained in:
parent
a4ecc65398
commit
e2e7c4d574
155 changed files with 397 additions and 412 deletions
|
@ -129,7 +129,7 @@ static ErrorOr<bool> should_launch_server(ByteString const& pid_path)
|
|||
return contents.release_error();
|
||||
}
|
||||
|
||||
pid = StringView { contents.value() }.to_int<pid_t>();
|
||||
pid = StringView { contents.value() }.to_number<pid_t>();
|
||||
}
|
||||
|
||||
if (!pid.has_value()) {
|
||||
|
|
|
@ -241,7 +241,7 @@ Optional<double> Value::to_double() const
|
|||
return {};
|
||||
|
||||
return m_value->visit(
|
||||
[](ByteString const& value) -> Optional<double> { return value.to_double(); },
|
||||
[](ByteString const& value) -> Optional<double> { return value.to_number<double>(); },
|
||||
[](Integer auto value) -> Optional<double> { return static_cast<double>(value); },
|
||||
[](double value) -> Optional<double> { return value; },
|
||||
[](bool value) -> Optional<double> { return static_cast<double>(value); },
|
||||
|
|
|
@ -87,10 +87,7 @@ public:
|
|||
|
||||
return m_value->visit(
|
||||
[](ByteString const& value) -> Optional<T> {
|
||||
if constexpr (IsSigned<T>)
|
||||
return value.to_int<T>();
|
||||
else
|
||||
return value.to_uint<T>();
|
||||
return value.to_number<T>();
|
||||
},
|
||||
[](Integer auto value) -> Optional<T> {
|
||||
if (!AK::is_within_range<T>(value))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue