1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:37:35 +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

@ -245,7 +245,7 @@ static Relation parse_relation(StringView relation)
auto symbol = lhs.substring_view(0, *index);
VERIFY(symbol.length() == 1);
auto modulus = lhs.substring_view(*index + modulus_operator.length()).to_uint();
auto modulus = lhs.substring_view(*index + modulus_operator.length()).to_number<unsigned>();
VERIFY(modulus.has_value());
parsed.symbol = symbol[0];
@ -257,15 +257,15 @@ static Relation parse_relation(StringView relation)
rhs.for_each_split_view(set_operator, SplitBehavior::Nothing, [&](auto set) {
if (auto index = set.find(range_operator); index.has_value()) {
auto range_begin = set.substring_view(0, *index).to_uint();
auto range_begin = set.substring_view(0, *index).template to_number<unsigned>();
VERIFY(range_begin.has_value());
auto range_end = set.substring_view(*index + range_operator.length()).to_uint();
auto range_end = set.substring_view(*index + range_operator.length()).template to_number<unsigned>();
VERIFY(range_end.has_value());
parsed.comparators.empend(Array { *range_begin, *range_end });
} else {
auto value = set.to_uint();
auto value = set.template to_number<unsigned>();
VERIFY(value.has_value());
parsed.comparators.empend(*value);