1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 06:47: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:
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

@ -49,9 +49,9 @@ static Optional<Color> parse_rgb_color(StringView string)
if (parts.size() != 3)
return {};
auto r = parts[0].to_double().map(AK::clamp_to<u8, double>);
auto g = parts[1].to_double().map(AK::clamp_to<u8, double>);
auto b = parts[2].to_double().map(AK::clamp_to<u8, double>);
auto r = parts[0].to_number<double>().map(AK::clamp_to<u8, double>);
auto g = parts[1].to_number<double>().map(AK::clamp_to<u8, double>);
auto b = parts[2].to_number<double>().map(AK::clamp_to<u8, double>);
if (!r.has_value() || !g.has_value() || !b.has_value())
return {};
@ -70,9 +70,9 @@ static Optional<Color> parse_rgba_color(StringView string)
if (parts.size() != 4)
return {};
auto r = parts[0].to_double().map(AK::clamp_to<u8, double>);
auto g = parts[1].to_double().map(AK::clamp_to<u8, double>);
auto b = parts[2].to_double().map(AK::clamp_to<u8, double>);
auto r = parts[0].to_number<double>().map(AK::clamp_to<u8, double>);
auto g = parts[1].to_number<double>().map(AK::clamp_to<u8, double>);
auto b = parts[2].to_number<double>().map(AK::clamp_to<u8, double>);
double alpha = 0;
auto alpha_str = parts[3].trim_whitespace();

View file

@ -37,7 +37,7 @@ CursorParams CursorParams::parse_from_filename(StringView cursor_path, Gfx::IntP
}
if (k == i)
return {};
auto parsed_number = params_str.substring_view(i, k - i).to_uint();
auto parsed_number = params_str.substring_view(i, k - i).to_number<unsigned>();
if (!parsed_number.has_value())
return {};
i = k;

View file

@ -180,9 +180,9 @@ RefPtr<Gfx::Font> FontDatabase::get_by_name(StringView name)
if (it == m_private->full_name_to_font_map.end()) {
auto parts = name.split_view(" "sv);
if (parts.size() >= 4) {
auto slope = parts.take_last().to_int().value_or(0);
auto weight = parts.take_last().to_int().value_or(0);
auto size = parts.take_last().to_int().value_or(0);
auto slope = parts.take_last().to_number<int>().value_or(0);
auto weight = parts.take_last().to_number<int>().value_or(0);
auto size = parts.take_last().to_number<int>().value_or(0);
auto family = MUST(String::join(' ', parts));
return get(family, size, weight, Gfx::FontWidth::Normal, slope);
}