1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:34:59 +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

@ -54,7 +54,7 @@ static void parse_time(StringView input_time, timespec& atime, timespec& mtime)
auto literal = lexer.consume(2);
if (literal.length() < 2)
err("invalid time format '{}' -- expected 2 digits per parameter", input_time);
auto maybe_parameter = literal.to_uint();
auto maybe_parameter = literal.to_number<unsigned>();
if (maybe_parameter.has_value())
parameters.append(maybe_parameter.value());
else
@ -102,7 +102,7 @@ static void parse_datetime(StringView input_datetime, timespec& atime, timespec&
StringView time_zone;
auto lex_number = [&](unsigned& value, size_t n) {
auto maybe_value = lexer.consume(n).to_uint();
auto maybe_value = lexer.consume(n).to_number<unsigned>();
if (!maybe_value.has_value())
err("invalid datetime format '{}' -- expected number at index {}", input_datetime, lexer.tell());
else