1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-21 22:13:07 +01:00

Use std::string_view without reference

This commit is contained in:
Ted John
2021-01-31 03:12:19 +00:00
parent 59b4be6a12
commit acfda711f5
4 changed files with 101 additions and 100 deletions

View File

@@ -9,106 +9,108 @@
#pragma once
#include <string_view>
namespace OpenRCT2::Ui::ShortcutId
{
// Interface / general
constexpr const char* InterfaceCloseTop = "interface.general.close_top";
constexpr const char* InterfaceCloseAll = "interface.general.close_all";
constexpr const char* InterfaceCancelConstruction = "interface.general.cancel_construction";
constexpr const char* InterfacePause = "interface.general.pause";
constexpr const char* InterfaceZoomOut = "interface.general.zoom_out";
constexpr const char* InterfaceZoomIn = "interface.general.zoom_in";
constexpr const char* InterfaceRotateClockwise = "interface.general.rotate_clockwise";
constexpr const char* InterfaceRotateAnticlockwise = "interface.general.rotate_anticlockwise";
constexpr const char* InterfaceRotateConstruction = "interface.general.rotate_construction";
constexpr const char* InterfaceDecreaseSpeed = "interface.misc.decrease_speed";
constexpr const char* InterfaceIncreaseSpeed = "interface.misc.increase_speed";
constexpr const char* InterfaceToggleToolbars = "interface.misc.toggle_toolbars";
constexpr const char* InterfaceScreenshot = "interface.misc.screenshot";
constexpr const char* InterfaceLoadGame = "interface.misc.load_game";
constexpr const char* InterfaceSaveGame = "interface.misc.save_game";
constexpr const char* InterfaceMute = "interface.misc.mute";
constexpr const char* InterfaceSceneryPicker = "interface.misc.scenery_picker";
constexpr const char* InterfaceDisableClearance = "interface.misc.disable_clearance";
constexpr const char* MultiplayerChat = "interface.misc.multiplayer_chat";
constexpr std::string_view InterfaceCloseTop = "interface.general.close_top";
constexpr std::string_view InterfaceCloseAll = "interface.general.close_all";
constexpr std::string_view InterfaceCancelConstruction = "interface.general.cancel_construction";
constexpr std::string_view InterfacePause = "interface.general.pause";
constexpr std::string_view InterfaceZoomOut = "interface.general.zoom_out";
constexpr std::string_view InterfaceZoomIn = "interface.general.zoom_in";
constexpr std::string_view InterfaceRotateClockwise = "interface.general.rotate_clockwise";
constexpr std::string_view InterfaceRotateAnticlockwise = "interface.general.rotate_anticlockwise";
constexpr std::string_view InterfaceRotateConstruction = "interface.general.rotate_construction";
constexpr std::string_view InterfaceDecreaseSpeed = "interface.misc.decrease_speed";
constexpr std::string_view InterfaceIncreaseSpeed = "interface.misc.increase_speed";
constexpr std::string_view InterfaceToggleToolbars = "interface.misc.toggle_toolbars";
constexpr std::string_view InterfaceScreenshot = "interface.misc.screenshot";
constexpr std::string_view InterfaceLoadGame = "interface.misc.load_game";
constexpr std::string_view InterfaceSaveGame = "interface.misc.save_game";
constexpr std::string_view InterfaceMute = "interface.misc.mute";
constexpr std::string_view InterfaceSceneryPicker = "interface.misc.scenery_picker";
constexpr std::string_view InterfaceDisableClearance = "interface.misc.disable_clearance";
constexpr std::string_view MultiplayerChat = "interface.misc.multiplayer_chat";
// Interface / scroll
constexpr const char* ScrollUp = "interface.scroll.up";
constexpr const char* ScrollLeft = "interface.scroll.left";
constexpr const char* ScrollRight = "interface.scroll.right";
constexpr const char* ScrollDown = "interface.scroll.down";
constexpr std::string_view ScrollUp = "interface.scroll.up";
constexpr std::string_view ScrollLeft = "interface.scroll.left";
constexpr std::string_view ScrollRight = "interface.scroll.right";
constexpr std::string_view ScrollDown = "interface.scroll.down";
// Interface / graphics
constexpr const char* ScaleToggleWindowMode = "interface.graphics.toggle_window_mode";
constexpr const char* InterfaceScaleIncrease = "interface.graphics.increase";
constexpr const char* InterfaceScaleDecrease = "interface.graphics.decrease";
constexpr std::string_view ScaleToggleWindowMode = "interface.graphics.toggle_window_mode";
constexpr std::string_view InterfaceScaleIncrease = "interface.graphics.increase";
constexpr std::string_view InterfaceScaleDecrease = "interface.graphics.decrease";
// Interface / open
constexpr const char* InterfaceOpenLand = "interface.open.land";
constexpr const char* InterfaceOpenWater = "interface.open.water";
constexpr const char* InterfaceClearScenery = "interface.open.clear_scenery";
constexpr const char* InterfaceOpenScenery = "interface.open.scenery";
constexpr const char* InterfaceOpenFootpaths = "interface.open.footpaths";
constexpr const char* InterfaceOpenNewRide = "interface.open.new_ride";
constexpr const char* InterfaceOpenFinances = "interface.open.finances";
constexpr const char* InterfaceOpenResearch = "interface.open.research";
constexpr const char* InterfaceOpenRides = "interface.open.rides";
constexpr const char* InterfaceOpenPark = "interface.open.park";
constexpr const char* InterfaceOpenGuests = "interface.open.guests";
constexpr const char* InterfaceOpenStaff = "interface.open.staff";
constexpr const char* InterfaceOpenMessages = "interface.open.messages";
constexpr const char* InterfaceOpenMap = "interface.open.map";
constexpr const char* InterfaceShowOptions = "interface.open.options";
constexpr const char* InterfaceOpenCheats = "interface.open.cheats";
constexpr const char* InterfaceOpenTileInspector = "interface.open.tileinspector";
constexpr const char* MultiplayerShow = "interface.open.multiplayer";
constexpr std::string_view InterfaceOpenLand = "interface.open.land";
constexpr std::string_view InterfaceOpenWater = "interface.open.water";
constexpr std::string_view InterfaceClearScenery = "interface.open.clear_scenery";
constexpr std::string_view InterfaceOpenScenery = "interface.open.scenery";
constexpr std::string_view InterfaceOpenFootpaths = "interface.open.footpaths";
constexpr std::string_view InterfaceOpenNewRide = "interface.open.new_ride";
constexpr std::string_view InterfaceOpenFinances = "interface.open.finances";
constexpr std::string_view InterfaceOpenResearch = "interface.open.research";
constexpr std::string_view InterfaceOpenRides = "interface.open.rides";
constexpr std::string_view InterfaceOpenPark = "interface.open.park";
constexpr std::string_view InterfaceOpenGuests = "interface.open.guests";
constexpr std::string_view InterfaceOpenStaff = "interface.open.staff";
constexpr std::string_view InterfaceOpenMessages = "interface.open.messages";
constexpr std::string_view InterfaceOpenMap = "interface.open.map";
constexpr std::string_view InterfaceShowOptions = "interface.open.options";
constexpr std::string_view InterfaceOpenCheats = "interface.open.cheats";
constexpr std::string_view InterfaceOpenTileInspector = "interface.open.tileinspector";
constexpr std::string_view MultiplayerShow = "interface.open.multiplayer";
// View
constexpr const char* ViewToggleUnderground = "view.show_underground";
constexpr const char* ViewToggleBaseLand = "view.hide_base_land";
constexpr const char* ViewToggleVerticalLand = "view.hide_vertical_land";
constexpr const char* ViewToggleRides = "view.transparent_rides";
constexpr const char* ViewToggleScenery = "view.transparent_scenery";
constexpr const char* ViewToggleSupports = "view.hide_supports";
constexpr const char* ViewTogglePeeps = "view.hide_peeps";
constexpr const char* ViewToggleLandHeightMarkers = "view.show_land_height";
constexpr const char* ViewToggleTrackHeightMarkers = "view.show_track_height";
constexpr const char* ViewToggleFootpathHeightMarkers = "view.show_footpath_height";
constexpr const char* ViewToggleFootpaths = "view.transparent_footpaths";
constexpr const char* ViewToggleGridlines = "view.show_gridlines";
constexpr const char* ViewToggleCutAway = "view.toggle_cut_away";
constexpr const char* ViewToogleFootpathIssues = "view.highlight_path_issues";
constexpr std::string_view ViewToggleUnderground = "view.show_underground";
constexpr std::string_view ViewToggleBaseLand = "view.hide_base_land";
constexpr std::string_view ViewToggleVerticalLand = "view.hide_vertical_land";
constexpr std::string_view ViewToggleRides = "view.transparent_rides";
constexpr std::string_view ViewToggleScenery = "view.transparent_scenery";
constexpr std::string_view ViewToggleSupports = "view.hide_supports";
constexpr std::string_view ViewTogglePeeps = "view.hide_peeps";
constexpr std::string_view ViewToggleLandHeightMarkers = "view.show_land_height";
constexpr std::string_view ViewToggleTrackHeightMarkers = "view.show_track_height";
constexpr std::string_view ViewToggleFootpathHeightMarkers = "view.show_footpath_height";
constexpr std::string_view ViewToggleFootpaths = "view.transparent_footpaths";
constexpr std::string_view ViewToggleGridlines = "view.show_gridlines";
constexpr std::string_view ViewToggleCutAway = "view.toggle_cut_away";
constexpr std::string_view ViewToogleFootpathIssues = "view.highlight_path_issues";
// Window / ride construction
constexpr const char* WindowRideConstructionTurnLeft = "window.rideconstruction.turn_left";
constexpr const char* WindowRideConstructionTurnRight = "window.rideconstruction.turn_right";
constexpr const char* WindowRideConstructionDefault = "window.rideconstruction.default";
constexpr const char* WindowRideConstructionSlopeDown = "window.rideconstruction.slope_down";
constexpr const char* WindowRideConstructionSlopeUp = "window.rideconstruction.slope_up";
constexpr const char* WindowRideConstructionChainLift = "window.rideconstruction.chain_lift";
constexpr const char* WindowRideConstructionBankLeft = "window.rideconstruction.bank_left";
constexpr const char* WindowRideConstructionBankRight = "window.rideconstruction.bank_right";
constexpr const char* WindowRideConstructionPrevious = "window.rideconstruction.previous";
constexpr const char* WindowRideConstructionNext = "window.rideconstruction.next";
constexpr const char* WindowRideConstructionBuild = "window.rideconstruction.build";
constexpr const char* WindowRideConstructionDemolish = "window.rideconstruction.demolish";
constexpr std::string_view WindowRideConstructionTurnLeft = "window.rideconstruction.turn_left";
constexpr std::string_view WindowRideConstructionTurnRight = "window.rideconstruction.turn_right";
constexpr std::string_view WindowRideConstructionDefault = "window.rideconstruction.default";
constexpr std::string_view WindowRideConstructionSlopeDown = "window.rideconstruction.slope_down";
constexpr std::string_view WindowRideConstructionSlopeUp = "window.rideconstruction.slope_up";
constexpr std::string_view WindowRideConstructionChainLift = "window.rideconstruction.chain_lift";
constexpr std::string_view WindowRideConstructionBankLeft = "window.rideconstruction.bank_left";
constexpr std::string_view WindowRideConstructionBankRight = "window.rideconstruction.bank_right";
constexpr std::string_view WindowRideConstructionPrevious = "window.rideconstruction.previous";
constexpr std::string_view WindowRideConstructionNext = "window.rideconstruction.next";
constexpr std::string_view WindowRideConstructionBuild = "window.rideconstruction.build";
constexpr std::string_view WindowRideConstructionDemolish = "window.rideconstruction.demolish";
// Window / tile inspector
constexpr const char* WindowTileInspectorInsertCorrupt = "window.tileinspector.insert_corrupt";
constexpr const char* WindowTileInspectorCopy = "window.tileinspector.copy";
constexpr const char* WindowTileInspectorPaste = "window.tileinspector.paste";
constexpr const char* WindowTileInspectorRemove = "window.tileinspector.remove";
constexpr const char* WindowTileInspectorMoveUp = "window.tileinspector.move_up";
constexpr const char* WindowTileInspectorMoveDown = "window.tileinspector.move_down";
constexpr const char* WindowTileInspectorIncreaseX = "window.tileinspector.increase_x";
constexpr const char* WindowTileInspectorDecreaseX = "window.tileinspector.decrease_x";
constexpr const char* WindowTileInspectorIncreaseY = "window.tileinspector.increase_y";
constexpr const char* WindowTileInspectorDecreaseY = "window.tileinspector.decrease_y";
constexpr const char* WindowTileInspectorIncreaseHeight = "window.tileinspector.increase_height";
constexpr const char* WindowTileInspectorDecreaseHeight = "window.tileinspector.decrease_height";
constexpr std::string_view WindowTileInspectorInsertCorrupt = "window.tileinspector.insert_corrupt";
constexpr std::string_view WindowTileInspectorCopy = "window.tileinspector.copy";
constexpr std::string_view WindowTileInspectorPaste = "window.tileinspector.paste";
constexpr std::string_view WindowTileInspectorRemove = "window.tileinspector.remove";
constexpr std::string_view WindowTileInspectorMoveUp = "window.tileinspector.move_up";
constexpr std::string_view WindowTileInspectorMoveDown = "window.tileinspector.move_down";
constexpr std::string_view WindowTileInspectorIncreaseX = "window.tileinspector.increase_x";
constexpr std::string_view WindowTileInspectorDecreaseX = "window.tileinspector.decrease_x";
constexpr std::string_view WindowTileInspectorIncreaseY = "window.tileinspector.increase_y";
constexpr std::string_view WindowTileInspectorDecreaseY = "window.tileinspector.decrease_y";
constexpr std::string_view WindowTileInspectorIncreaseHeight = "window.tileinspector.increase_height";
constexpr std::string_view WindowTileInspectorDecreaseHeight = "window.tileinspector.decrease_height";
// Debug
constexpr const char* DebugToggleConsole = "debug.console";
constexpr const char* DebugTogglePaintDebugWindow = "debug.toggle_paint_debug_window";
constexpr const char* DebugAdvanceTick = "debug.advance_tick";
constexpr std::string_view DebugToggleConsole = "debug.console";
constexpr std::string_view DebugTogglePaintDebugWindow = "debug.toggle_paint_debug_window";
constexpr std::string_view DebugAdvanceTick = "debug.advance_tick";
} // namespace OpenRCT2::Ui::ShortcutId

View File

@@ -17,7 +17,7 @@ using namespace OpenRCT2::Ui;
constexpr uint32_t UsefulModifiers = KMOD_SHIFT | KMOD_CTRL | KMOD_ALT | KMOD_GUI;
static uint32_t ParseModifier(const std::string_view& text)
static uint32_t ParseModifier(std::string_view text)
{
if (String::Equals(text, "CTRL", true))
{
@@ -73,7 +73,7 @@ static uint32_t ParseModifier(const std::string_view& text)
}
}
static uint32_t ParseKey(const std::string_view& text)
static uint32_t ParseKey(std::string_view text)
{
char buffer[128]{};
std::strncpy(buffer, text.data(), sizeof(buffer) - 1);
@@ -103,7 +103,7 @@ static size_t FindPlus(std::string_view s, size_t index)
return index;
}
ShortcutInput::ShortcutInput(const std::string_view& value)
ShortcutInput::ShortcutInput(std::string_view value)
{
uint32_t modifiers = 0;
size_t index = 0;
@@ -322,7 +322,7 @@ std::string ShortcutInput::ToString() const
return result;
}
bool ShortcutInput::AppendModifier(std::string& s, const std::string_view& text, uint32_t left, uint32_t right) const
bool ShortcutInput::AppendModifier(std::string& s, std::string_view text, uint32_t left, uint32_t right) const
{
if ((Modifiers & (left | right)) == (left | right))
{

View File

@@ -351,7 +351,7 @@ void ShortcutManager::SaveUserBindings(const fs::path& path)
std::string_view ShortcutManager::GetLegacyShortcutId(size_t index)
{
static constexpr const char* LegacyMap[] = {
static constexpr std::string_view LegacyMap[] = {
ShortcutId::InterfaceCloseTop,
ShortcutId::InterfaceCloseAll,
ShortcutId::InterfaceCancelConstruction,
@@ -399,7 +399,7 @@ std::string_view ShortcutManager::GetLegacyShortcutId(size_t index)
ShortcutId::InterfaceMute,
ShortcutId::ScaleToggleWindowMode,
ShortcutId::MultiplayerShow,
nullptr,
std::string_view(),
ShortcutId::DebugTogglePaintDebugWindow,
ShortcutId::ViewToggleFootpaths,
ShortcutId::WindowRideConstructionTurnLeft,
@@ -438,6 +438,5 @@ std::string_view ShortcutManager::GetLegacyShortcutId(size_t index)
ShortcutId::WindowTileInspectorDecreaseHeight,
ShortcutId::InterfaceDisableClearance,
};
auto sz = index < std::size(LegacyMap) ? LegacyMap[index] : nullptr;
return sz == nullptr ? std::string_view() : std::string_view(sz);
return index < std::size(LegacyMap) ? LegacyMap[index] : std::string_view();
}

View File

@@ -36,7 +36,7 @@ namespace OpenRCT2::Ui
uint32_t Button{};
ShortcutInput() = default;
ShortcutInput(const std::string_view& value);
ShortcutInput(std::string_view value);
std::string ToString() const;
bool Matches(const InputEvent& e) const;
@@ -44,7 +44,7 @@ namespace OpenRCT2::Ui
static std::optional<ShortcutInput> FromInputEvent(const InputEvent& e);
private:
bool AppendModifier(std::string& s, const std::string_view& text, uint32_t left, uint32_t right) const;
bool AppendModifier(std::string& s, std::string_view text, uint32_t left, uint32_t right) const;
};
class RegisteredShortcut
@@ -58,14 +58,14 @@ namespace OpenRCT2::Ui
std::function<void()> Action;
RegisteredShortcut() = default;
RegisteredShortcut(const std::string_view& id, std::string_view name, const std::function<void()>& action)
RegisteredShortcut(std::string_view id, std::string_view name, const std::function<void()>& action)
: Id(id)
, CustomName(name)
, Action(action)
{
}
RegisteredShortcut(const std::string_view& id, rct_string_id localisedName, const std::function<void()>& action)
RegisteredShortcut(std::string_view id, rct_string_id localisedName, const std::function<void()>& action)
: Id(id)
, LocalisedName(localisedName)
, Action(action)
@@ -73,7 +73,7 @@ namespace OpenRCT2::Ui
}
RegisteredShortcut(
const std::string_view& id, rct_string_id localisedName, const std::string_view& defaultChord,
std::string_view id, rct_string_id localisedName, std::string_view defaultChord,
const std::function<void()>& action)
: Id(id)
, LocalisedName(localisedName)
@@ -84,8 +84,8 @@ namespace OpenRCT2::Ui
}
RegisteredShortcut(
const std::string_view& id, rct_string_id localisedName, const std::string_view& defaultChordA,
const std::string_view& defaultChordB, const std::function<void()>& action)
std::string_view id, rct_string_id localisedName, std::string_view defaultChordA, std::string_view defaultChordB,
const std::function<void()>& action)
: Id(id)
, LocalisedName(localisedName)
, Default({ defaultChordA, defaultChordB })