1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 08:34:57 +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:
Shannon Booth 2023-12-23 15:59:14 +13:00 committed by Andreas Kling
parent a4ecc65398
commit e2e7c4d574
155 changed files with 397 additions and 412 deletions

View file

@ -90,7 +90,7 @@ private:
case Type::Integer:
return as_integer;
case Type::String:
if (auto converted = as_string.to_int(); converted.has_value())
if (auto converted = as_string.to_number<int>(); converted.has_value())
return converted.value();
fail("Not an integer: '{}'", as_string);
}
@ -371,7 +371,7 @@ private:
{
if (m_op == StringOperation::Substring || m_op == StringOperation::Match) {
auto substr = string();
if (auto integer = substr.to_int(); integer.has_value())
if (auto integer = substr.to_number<int>(); integer.has_value())
return integer.value();
else
fail("Not an integer: '{}'", substr);