Misc: Remove StringUtil::{Starts,Ends}With, use C++20
This commit is contained in:
@ -500,7 +500,7 @@ std::vector<std::pair<std::string, std::string>> CDImage::GetDeviceList()
|
||||
|
||||
bool CDImage::IsDeviceName(const char* filename)
|
||||
{
|
||||
return StringUtil::StartsWith(filename, "\\\\.\\");
|
||||
return std::string_view(filename).starts_with("\\\\.\\");
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
@ -326,7 +326,7 @@ void DInputSource::UpdateMotorState(InputBindingKey large_key, InputBindingKey s
|
||||
std::optional<InputBindingKey> DInputSource::ParseKeyString(const std::string_view& device,
|
||||
const std::string_view& binding)
|
||||
{
|
||||
if (!StringUtil::StartsWith(device, "DInput-") || binding.empty())
|
||||
if (!device.starts_with("DInput-") || binding.empty())
|
||||
return std::nullopt;
|
||||
|
||||
const std::optional<s32> player_id = StringUtil::FromChars<s32>(device.substr(7));
|
||||
@ -337,7 +337,7 @@ std::optional<InputBindingKey> DInputSource::ParseKeyString(const std::string_vi
|
||||
key.source_type = InputSourceType::DInput;
|
||||
key.source_index = static_cast<u32>(player_id.value());
|
||||
|
||||
if (StringUtil::StartsWith(binding, "+Axis") || StringUtil::StartsWith(binding, "-Axis"))
|
||||
if (binding.starts_with("+Axis") || binding.starts_with("-Axis"))
|
||||
{
|
||||
std::string_view end;
|
||||
const std::optional<u32> axis_index = StringUtil::FromChars<u32>(binding.substr(5), 10, &end);
|
||||
@ -350,7 +350,7 @@ std::optional<InputBindingKey> DInputSource::ParseKeyString(const std::string_vi
|
||||
key.invert = (end == "~");
|
||||
return key;
|
||||
}
|
||||
else if (StringUtil::StartsWith(binding, "FullAxis"))
|
||||
else if (binding.starts_with("FullAxis"))
|
||||
{
|
||||
std::string_view end;
|
||||
const std::optional<u32> axis_index = StringUtil::FromChars<u32>(binding.substr(8), 10, &end);
|
||||
@ -363,7 +363,7 @@ std::optional<InputBindingKey> DInputSource::ParseKeyString(const std::string_vi
|
||||
key.invert = (end == "~");
|
||||
return key;
|
||||
}
|
||||
else if (StringUtil::StartsWith(binding, "Hat"))
|
||||
else if (binding.starts_with("Hat"))
|
||||
{
|
||||
if (binding[3] < '0' || binding[3] > '9' || binding.length() < 5)
|
||||
return std::nullopt;
|
||||
@ -383,7 +383,7 @@ std::optional<InputBindingKey> DInputSource::ParseKeyString(const std::string_vi
|
||||
// bad direction
|
||||
return std::nullopt;
|
||||
}
|
||||
else if (StringUtil::StartsWith(binding, "Button"))
|
||||
else if (binding.starts_with("Button"))
|
||||
{
|
||||
const std::optional<u32> button_index = StringUtil::FromChars<u32>(binding.substr(6));
|
||||
if (!button_index.has_value())
|
||||
|
||||
@ -241,15 +241,15 @@ std::optional<InputBindingKey> InputManager::ParseInputBindingKey(const std::str
|
||||
return std::nullopt;
|
||||
|
||||
// lameee, string matching
|
||||
if (StringUtil::StartsWith(source, "Keyboard"))
|
||||
if (source.starts_with("Keyboard"))
|
||||
{
|
||||
return ParseHostKeyboardKey(source, sub_binding);
|
||||
}
|
||||
else if (StringUtil::StartsWith(source, "Pointer"))
|
||||
else if (source.starts_with("Pointer"))
|
||||
{
|
||||
return ParsePointerKey(source, sub_binding);
|
||||
}
|
||||
else if (StringUtil::StartsWith(source, "Sensor"))
|
||||
else if (source.starts_with("Sensor"))
|
||||
{
|
||||
return ParseSensorKey(source, sub_binding);
|
||||
}
|
||||
@ -420,7 +420,7 @@ void InputManager::PrettifyInputBindingPart(const std::string_view binding, Smal
|
||||
return;
|
||||
|
||||
// lameee, string matching
|
||||
if (StringUtil::StartsWith(source, "Keyboard"))
|
||||
if (source.starts_with("Keyboard"))
|
||||
{
|
||||
std::optional<InputBindingKey> key = ParseHostKeyboardKey(source, sub_binding);
|
||||
const char* icon = key.has_value() ? ConvertHostKeyboardCodeToIcon(key->data) : nullptr;
|
||||
@ -431,7 +431,7 @@ void InputManager::PrettifyInputBindingPart(const std::string_view binding, Smal
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (StringUtil::StartsWith(source, "Pointer"))
|
||||
else if (source.starts_with("Pointer"))
|
||||
{
|
||||
const std::optional<InputBindingKey> key = ParsePointerKey(source, sub_binding);
|
||||
if (key.has_value())
|
||||
@ -451,7 +451,7 @@ void InputManager::PrettifyInputBindingPart(const std::string_view binding, Smal
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (StringUtil::StartsWith(source, "Sensor"))
|
||||
else if (source.starts_with("Sensor"))
|
||||
{
|
||||
}
|
||||
else
|
||||
@ -691,7 +691,7 @@ std::optional<InputBindingKey> InputManager::ParsePointerKey(const std::string_v
|
||||
key.source_type = InputSourceType::Pointer;
|
||||
key.source_index = static_cast<u32>(pointer_index.value());
|
||||
|
||||
if (StringUtil::StartsWith(sub_binding, "Button"))
|
||||
if (sub_binding.starts_with("Button"))
|
||||
{
|
||||
const std::optional<s32> button_number = StringUtil::FromChars<s32>(sub_binding.substr(6));
|
||||
if (!button_number.has_value() || button_number.value() < 0)
|
||||
@ -704,7 +704,7 @@ std::optional<InputBindingKey> InputManager::ParsePointerKey(const std::string_v
|
||||
|
||||
for (u32 i = 0; i < s_pointer_axis_names.size(); i++)
|
||||
{
|
||||
if (StringUtil::StartsWith(sub_binding, s_pointer_axis_names[i]))
|
||||
if (sub_binding.starts_with(s_pointer_axis_names[i]))
|
||||
{
|
||||
key.source_subtype = InputSubclass::PointerAxis;
|
||||
key.data = i;
|
||||
@ -736,7 +736,7 @@ std::optional<InputBindingKey> InputManager::ParsePointerKey(const std::string_v
|
||||
|
||||
std::optional<u32> InputManager::GetIndexFromPointerBinding(const std::string_view& source)
|
||||
{
|
||||
if (!StringUtil::StartsWith(source, "Pointer-"))
|
||||
if (!source.starts_with("Pointer-"))
|
||||
return std::nullopt;
|
||||
|
||||
const std::optional<s32> pointer_index = StringUtil::FromChars<s32>(source.substr(8));
|
||||
@ -763,7 +763,7 @@ std::optional<InputBindingKey> InputManager::ParseSensorKey(const std::string_vi
|
||||
|
||||
for (u32 i = 0; i < s_sensor_accelerometer_names.size(); i++)
|
||||
{
|
||||
if (StringUtil::StartsWith(sub_binding, s_sensor_accelerometer_names[i]))
|
||||
if (sub_binding.starts_with(s_sensor_accelerometer_names[i]))
|
||||
{
|
||||
key.source_subtype = InputSubclass::SensorAccelerometer;
|
||||
key.data = i;
|
||||
@ -1855,14 +1855,14 @@ bool InputManager::MigrateBindings(SettingsInterface& si)
|
||||
Log_DevPrintf("%s -> %s", old_bind.c_str(), new_bind.c_str());
|
||||
num_changes++;
|
||||
}
|
||||
else if (StringUtil::StartsWith(old_bind.c_str(), "Keyboard/Keypad+"))
|
||||
else if (old_bind.starts_with("Keyboard/Keypad+"))
|
||||
{
|
||||
new_bind.format("Keyboard/Numpad{}", old_bind.substr(16));
|
||||
si.SetStringValue(new_section.c_str(), new_key, new_bind);
|
||||
Log_DevPrintf("%s -> %s", old_bind.c_str(), new_bind.c_str());
|
||||
num_changes++;
|
||||
}
|
||||
else if (StringUtil::StartsWith(old_bind.c_str(), "Keyboard/"))
|
||||
else if (old_bind.starts_with("Keyboard/"))
|
||||
{
|
||||
// pass through as-is
|
||||
si.SetStringValue(new_section.c_str(), new_key, old_bind.c_str());
|
||||
|
||||
@ -82,7 +82,7 @@ std::optional<InputBindingKey> InputSource::ParseGenericControllerKey(InputSourc
|
||||
key.source_type = clazz;
|
||||
key.source_index = source_index.value();
|
||||
|
||||
if (StringUtil::StartsWith(sub_binding, "+Axis") || StringUtil::StartsWith(sub_binding, "-Axis"))
|
||||
if (sub_binding.starts_with("+Axis") || sub_binding.starts_with("-Axis"))
|
||||
{
|
||||
const std::optional<s32> axis_number = StringUtil::FromChars<s32>(sub_binding.substr(5));
|
||||
if (!axis_number.has_value() || axis_number.value() < 0)
|
||||
@ -98,7 +98,7 @@ std::optional<InputBindingKey> InputSource::ParseGenericControllerKey(InputSourc
|
||||
else
|
||||
return std::nullopt;
|
||||
}
|
||||
else if (StringUtil::StartsWith(sub_binding, "FullAxis"))
|
||||
else if (sub_binding.starts_with("FullAxis"))
|
||||
{
|
||||
const std::optional<s32> axis_number = StringUtil::FromChars<s32>(sub_binding.substr(8));
|
||||
if (!axis_number.has_value() || axis_number.value() < 0)
|
||||
@ -107,7 +107,7 @@ std::optional<InputBindingKey> InputSource::ParseGenericControllerKey(InputSourc
|
||||
key.data = static_cast<u32>(axis_number.value());
|
||||
key.modifier = InputModifier::FullAxis;
|
||||
}
|
||||
else if (StringUtil::StartsWith(sub_binding, "Button"))
|
||||
else if (sub_binding.starts_with("Button"))
|
||||
{
|
||||
const std::optional<s32> button_number = StringUtil::FromChars<s32>(sub_binding.substr(6));
|
||||
if (!button_number.has_value() || button_number.value() < 0)
|
||||
|
||||
@ -324,7 +324,7 @@ std::vector<std::pair<std::string, std::string>> SDLInputSource::EnumerateDevice
|
||||
std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_view& device,
|
||||
const std::string_view& binding)
|
||||
{
|
||||
if (!StringUtil::StartsWith(device, "SDL-") || binding.empty())
|
||||
if (!device.starts_with("SDL-") || binding.empty())
|
||||
return std::nullopt;
|
||||
|
||||
const std::optional<s32> player_id = StringUtil::FromChars<s32>(device.substr(4));
|
||||
@ -335,7 +335,7 @@ std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_
|
||||
key.source_type = InputSourceType::SDL;
|
||||
key.source_index = static_cast<u32>(player_id.value());
|
||||
|
||||
if (StringUtil::EndsWith(binding, "Motor"))
|
||||
if (binding.ends_with("Motor"))
|
||||
{
|
||||
key.source_subtype = InputSubclass::ControllerMotor;
|
||||
if (binding == "LargeMotor")
|
||||
@ -353,7 +353,7 @@ std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_
|
||||
return std::nullopt;
|
||||
}
|
||||
}
|
||||
else if (StringUtil::EndsWith(binding, "Haptic"))
|
||||
else if (binding.ends_with("Haptic"))
|
||||
{
|
||||
key.source_subtype = InputSubclass::ControllerHaptic;
|
||||
key.data = 0;
|
||||
@ -364,7 +364,7 @@ std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_
|
||||
// likely an axis
|
||||
const std::string_view axis_name(binding.substr(1));
|
||||
|
||||
if (StringUtil::StartsWith(axis_name, "Axis"))
|
||||
if (axis_name.starts_with("Axis"))
|
||||
{
|
||||
std::string_view end;
|
||||
if (auto value = StringUtil::FromChars<u32>(axis_name.substr(4), 10, &end))
|
||||
@ -388,7 +388,7 @@ std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (StringUtil::StartsWith(binding, "FullAxis"))
|
||||
else if (binding.starts_with("FullAxis"))
|
||||
{
|
||||
std::string_view end;
|
||||
if (auto value = StringUtil::FromChars<u32>(binding.substr(8), 10, &end))
|
||||
@ -400,7 +400,7 @@ std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_
|
||||
return key;
|
||||
}
|
||||
}
|
||||
else if (StringUtil::StartsWith(binding, "Hat"))
|
||||
else if (binding.starts_with("Hat"))
|
||||
{
|
||||
std::string_view hat_dir;
|
||||
if (auto value = StringUtil::FromChars<u32>(binding.substr(3), 10, &hat_dir); value.has_value() && !hat_dir.empty())
|
||||
@ -419,7 +419,7 @@ std::optional<InputBindingKey> SDLInputSource::ParseKeyString(const std::string_
|
||||
else
|
||||
{
|
||||
// must be a button
|
||||
if (StringUtil::StartsWith(binding, "Button"))
|
||||
if (binding.starts_with("Button"))
|
||||
{
|
||||
if (auto value = StringUtil::FromChars<u32>(binding.substr(6)))
|
||||
{
|
||||
@ -584,7 +584,7 @@ bool SDLInputSource::ProcessSDLEvent(const SDL_Event* event)
|
||||
|
||||
SDL_Joystick* SDLInputSource::GetJoystickForDevice(const std::string_view& device)
|
||||
{
|
||||
if (!StringUtil::StartsWith(device, "SDL-"))
|
||||
if (!device.starts_with("SDL-"))
|
||||
return nullptr;
|
||||
|
||||
const std::optional<s32> player_id = StringUtil::FromChars<s32>(device.substr(4));
|
||||
@ -893,7 +893,7 @@ std::vector<InputBindingKey> SDLInputSource::EnumerateMotors()
|
||||
|
||||
bool SDLInputSource::GetGenericBindingMapping(const std::string_view& device, GenericInputBindingMapping* mapping)
|
||||
{
|
||||
if (!StringUtil::StartsWith(device, "SDL-"))
|
||||
if (!device.starts_with("SDL-"))
|
||||
return false;
|
||||
|
||||
const std::optional<s32> player_id = StringUtil::FromChars<s32>(device.substr(4));
|
||||
|
||||
@ -253,7 +253,7 @@ std::vector<std::pair<std::string, std::string>> XInputSource::EnumerateDevices(
|
||||
std::optional<InputBindingKey> XInputSource::ParseKeyString(const std::string_view& device,
|
||||
const std::string_view& binding)
|
||||
{
|
||||
if (!StringUtil::StartsWith(device, "XInput-") || binding.empty())
|
||||
if (!device.starts_with("XInput-") || binding.empty())
|
||||
return std::nullopt;
|
||||
|
||||
const std::optional<s32> player_id = StringUtil::FromChars<s32>(device.substr(7));
|
||||
@ -264,7 +264,7 @@ std::optional<InputBindingKey> XInputSource::ParseKeyString(const std::string_vi
|
||||
key.source_type = InputSourceType::XInput;
|
||||
key.source_index = static_cast<u32>(player_id.value());
|
||||
|
||||
if (StringUtil::EndsWith(binding, "Motor"))
|
||||
if (binding.ends_with("Motor"))
|
||||
{
|
||||
key.source_subtype = InputSubclass::ControllerMotor;
|
||||
if (binding == "LargeMotor")
|
||||
@ -386,7 +386,7 @@ std::vector<InputBindingKey> XInputSource::EnumerateMotors()
|
||||
|
||||
bool XInputSource::GetGenericBindingMapping(const std::string_view& device, GenericInputBindingMapping* mapping)
|
||||
{
|
||||
if (!StringUtil::StartsWith(device, "XInput-"))
|
||||
if (!device.starts_with("XInput-"))
|
||||
return false;
|
||||
|
||||
const std::optional<s32> player_id = StringUtil::FromChars<s32>(device.substr(7));
|
||||
|
||||
Reference in New Issue
Block a user