diff --git a/Source/Core/Common/NandPaths.cpp b/Source/Core/Common/NandPaths.cpp index 5afa5ef3f1..21639fdcb9 100644 --- a/Source/Core/Common/NandPaths.cpp +++ b/Source/Core/Common/NandPaths.cpp @@ -84,8 +84,7 @@ std::string EscapeFileName(const std::string& filename) std::string EscapePath(const std::string& path) { - std::vector split_strings; - SplitString(path, '/', split_strings); + const std::vector split_strings = SplitString(path, '/'); std::vector escaped_split_strings; escaped_split_strings.reserve(split_strings.size()); diff --git a/Source/Core/Common/StringUtil.cpp b/Source/Core/Common/StringUtil.cpp index 6548205fb0..1536173eb7 100644 --- a/Source/Core/Common/StringUtil.cpp +++ b/Source/Core/Common/StringUtil.cpp @@ -341,15 +341,16 @@ void BuildCompleteFilename(std::string& _CompleteFilename, const std::string& _P _CompleteFilename += _Filename; } -void SplitString(const std::string& str, const char delim, std::vector& output) +std::vector SplitString(const std::string& str, const char delim) { std::istringstream iss(str); - output.resize(1); + std::vector output(1); while (std::getline(iss, *output.rbegin(), delim)) output.push_back(""); output.pop_back(); + return output; } std::string JoinStrings(const std::vector& strings, const std::string& delimiter) diff --git a/Source/Core/Common/StringUtil.h b/Source/Core/Common/StringUtil.h index 86d7ba1e9c..b4c65370d3 100644 --- a/Source/Core/Common/StringUtil.h +++ b/Source/Core/Common/StringUtil.h @@ -106,7 +106,7 @@ bool AsciiToHex(const std::string& _szValue, u32& result); std::string TabsToSpaces(int tab_size, const std::string& in); -void SplitString(const std::string& str, char delim, std::vector& output); +std::vector SplitString(const std::string& str, char delim); std::string JoinStrings(const std::vector& strings, const std::string& delimiter); // "C:/Windows/winhelp.exe" to "C:/Windows/", "winhelp", ".exe" diff --git a/Source/Core/Core/ActionReplay.cpp b/Source/Core/Core/ActionReplay.cpp index 58146d7506..1b5bac61b9 100644 --- a/Source/Core/Core/ActionReplay.cpp +++ b/Source/Core/Core/ActionReplay.cpp @@ -175,8 +175,6 @@ std::vector LoadCodes(const IniFile& global_ini, const IniFile& local_in continue; } - std::vector pieces; - // Check if the line is a name of the code if (line[0] == '$') { @@ -199,7 +197,7 @@ std::vector LoadCodes(const IniFile& global_ini, const IniFile& local_in } else { - SplitString(line, ' ', pieces); + std::vector pieces = SplitString(line, ' '); // Check if the AR code is decrypted if (pieces.size() == 2 && pieces[0].size() == 8 && pieces[1].size() == 8) @@ -225,7 +223,7 @@ std::vector LoadCodes(const IniFile& global_ini, const IniFile& local_in } else { - SplitString(line, '-', pieces); + pieces = SplitString(line, '-'); if (pieces.size() == 3 && pieces[0].size() == 4 && pieces[1].size() == 4 && pieces[2].size() == 5) { diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index fd637afd0b..2135d0730c 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -686,10 +686,8 @@ void SConfig::LoadUSBPassthroughSettings(IniFile& ini) IniFile::Section* section = ini.GetOrCreateSection("USBPassthrough"); m_usb_passthrough_devices.clear(); std::string devices_string; - std::vector pairs; section->Get("Devices", &devices_string, ""); - SplitString(devices_string, ',', pairs); - for (const auto& pair : pairs) + for (const auto& pair : SplitString(devices_string, ',')) { const auto index = pair.find(':'); if (index == std::string::npos) diff --git a/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp b/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp index d3aa66fc7c..a66a46a9fb 100644 --- a/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp +++ b/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp @@ -520,9 +520,7 @@ void BluetoothReal::LoadLinkKeys() const std::string& entries = SConfig::GetInstance().m_bt_passthrough_link_keys; if (entries.empty()) return; - std::vector pairs; - SplitString(entries, ',', pairs); - for (const auto& pair : pairs) + for (const auto& pair : SplitString(entries, ',')) { const auto index = pair.find('='); if (index == std::string::npos) diff --git a/Source/Core/Core/PatchEngine.cpp b/Source/Core/Core/PatchEngine.cpp index 87c60e1f11..fca4c4104f 100644 --- a/Source/Core/Core/PatchEngine.cpp +++ b/Source/Core/Core/PatchEngine.cpp @@ -86,8 +86,7 @@ void LoadPatchSection(const std::string& section, std::vector& patches, I line[loc] = ':'; } - std::vector items; - SplitString(line, ':', items); + const std::vector items = SplitString(line, ':'); if (items.size() >= 3) { diff --git a/Source/Core/DolphinWX/Cheats/ARCodeAddEdit.cpp b/Source/Core/DolphinWX/Cheats/ARCodeAddEdit.cpp index 3162e52211..ffa49018b0 100644 --- a/Source/Core/DolphinWX/Cheats/ARCodeAddEdit.cpp +++ b/Source/Core/DolphinWX/Cheats/ARCodeAddEdit.cpp @@ -94,8 +94,8 @@ void ARCodeAddEdit::SaveCheatData(wxCommandEvent& WXUNUSED(event)) std::vector encrypted_lines; // Split the entered cheat into lines. - std::vector input_lines; - SplitString(WxStrToStr(m_cheat_codes->GetValue()), '\n', input_lines); + const std::vector input_lines = + SplitString(WxStrToStr(m_cheat_codes->GetValue()), '\n'); for (size_t i = 0; i < input_lines.size(); i++) { @@ -106,8 +106,7 @@ void ARCodeAddEdit::SaveCheatData(wxCommandEvent& WXUNUSED(event)) continue; // Let's parse the current line. Is it in encrypted or decrypted form? - std::vector pieces; - SplitString(line_str, ' ', pieces); + std::vector pieces = SplitString(line_str, ' '); if (pieces.size() == 2 && pieces[0].size() == 8 && pieces[1].size() == 8) { @@ -120,7 +119,7 @@ void ARCodeAddEdit::SaveCheatData(wxCommandEvent& WXUNUSED(event)) } else if (pieces.size() == 1) { - SplitString(line_str, '-', pieces); + pieces = SplitString(line_str, '-'); if (pieces.size() == 3 && pieces[0].size() == 4 && pieces[1].size() == 4 && pieces[2].size() == 5) diff --git a/Source/Core/DolphinWX/Debugger/CodeView.cpp b/Source/Core/DolphinWX/Debugger/CodeView.cpp index 337e0e2972..6e7b4dadca 100644 --- a/Source/Core/DolphinWX/Debugger/CodeView.cpp +++ b/Source/Core/DolphinWX/Debugger/CodeView.cpp @@ -564,8 +564,7 @@ void CCodeView::OnPaint(wxPaintEvent& event) // If running if (m_debugger->IsAlive()) { - std::vector dis; - SplitString(m_debugger->Disassemble(address), '\t', dis); + std::vector dis = SplitString(m_debugger->Disassemble(address), '\t'); dis.resize(2); static const size_t VALID_BRANCH_LENGTH = 10; diff --git a/Source/Core/DolphinWX/FrameAui.cpp b/Source/Core/DolphinWX/FrameAui.cpp index f4a1d950be..bfc2328be9 100644 --- a/Source/Core/DolphinWX/FrameAui.cpp +++ b/Source/Core/DolphinWX/FrameAui.cpp @@ -746,7 +746,6 @@ void CFrame::DoLoadPerspective() void CFrame::LoadIniPerspectives() { m_perspectives.clear(); - std::vector VPerspectives; std::string _Perspectives; IniFile ini; @@ -755,13 +754,11 @@ void CFrame::LoadIniPerspectives() IniFile::Section* perspectives = ini.GetOrCreateSection("Perspectives"); perspectives->Get("Perspectives", &_Perspectives, "Perspective 1"); perspectives->Get("Active", &m_active_perspective, 0); - SplitString(_Perspectives, ',', VPerspectives); - for (auto& VPerspective : VPerspectives) + for (auto& VPerspective : SplitString(_Perspectives, ',')) { SPerspectives Tmp; std::string _Section, _Perspective, _Widths, _Heights; - std::vector _SWidth, _SHeight; Tmp.name = VPerspective; // Don't save a blank perspective @@ -783,15 +780,13 @@ void CFrame::LoadIniPerspectives() Tmp.perspective = StrToWxStr(_Perspective); - SplitString(_Widths, ',', _SWidth); - SplitString(_Heights, ',', _SHeight); - for (auto& Width : _SWidth) + for (auto& Width : SplitString(_Widths, ',')) { int _Tmp; if (TryParse(Width, &_Tmp)) Tmp.width.push_back(_Tmp); } - for (auto& Height : _SHeight) + for (auto& Height : SplitString(_Heights, ',')) { int _Tmp; if (TryParse(Height, &_Tmp)) diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp index 6f09214f5b..8b885cad68 100644 --- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp +++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp @@ -136,8 +136,7 @@ void PipeDevice::SetAxis(const std::string& entry, double value) void PipeDevice::ParseCommand(const std::string& command) { - std::vector tokens; - SplitString(command, ' ', tokens); + const std::vector tokens = SplitString(command, ' '); if (tokens.size() < 2 || tokens.size() > 4) return; if (tokens[0] == "PRESS" || tokens[0] == "RELEASE")