diff options
| author | Lioncash <mai.iam2048@gmail.com> | 2023-06-08 12:49:35 -0400 |
|---|---|---|
| committer | Lioncash <mai.iam2048@gmail.com> | 2023-06-08 12:59:43 -0400 |
| commit | 1044bc40ca87c5a3bfcb1be038e47861f2bca0d8 (patch) | |
| tree | ec6950b036a04b4081406f751e2a10bcb7a9d897 /Source | |
| parent | 78f5c5f8d23f8dc8e5650d776b5883252a31385d (diff) | |
GCMemcardUtils: Make use of std::span where applicable
Generifies bits of the interface so that some functions aren't
explicitly tied down to only using std::vector.
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/HW/GCMemcard/GCMemcardUtils.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/Core/HW/GCMemcard/GCMemcardUtils.h | 9 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/GCMemcardManager.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/GCMemcardManager.h | 5 |
4 files changed, 12 insertions, 10 deletions
diff --git a/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.cpp b/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.cpp index c7cc7942f8..e16b452774 100644 --- a/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.cpp +++ b/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.cpp @@ -75,7 +75,7 @@ bool HasSameIdentity(const DEntry& lhs, const DEntry& rhs) return true; } -bool HasDuplicateIdentity(const std::vector<Savefile>& savefiles) +bool HasDuplicateIdentity(std::span<const Savefile> savefiles) { for (size_t i = 0; i < savefiles.size(); ++i) { @@ -338,7 +338,7 @@ std::string GetDefaultExtension(SavefileFormat format) } } -std::vector<Savefile> GetSavefiles(const GCMemcard& card, const std::vector<u8>& file_indices) +std::vector<Savefile> GetSavefiles(const GCMemcard& card, std::span<const u8> file_indices) { std::vector<Savefile> files; files.reserve(file_indices.size()); @@ -352,7 +352,7 @@ std::vector<Savefile> GetSavefiles(const GCMemcard& card, const std::vector<u8>& return files; } -size_t GetBlockCount(const std::vector<Savefile>& savefiles) +size_t GetBlockCount(std::span<const Savefile> savefiles) { size_t block_count = 0; for (const Savefile& savefile : savefiles) diff --git a/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.h b/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.h index 4aa74fdce9..b4d0624888 100644 --- a/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.h +++ b/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.h @@ -3,8 +3,11 @@ #pragma once +#include <cstddef> +#include <span> #include <string> #include <variant> +#include <vector> #include "Core/HW/GCMemcard/GCMemcard.h" @@ -13,7 +16,7 @@ namespace Memcard bool HasSameIdentity(const DEntry& lhs, const DEntry& rhs); // Check if any two given savefiles have the same identity. -bool HasDuplicateIdentity(const std::vector<Savefile>& savefiles); +bool HasDuplicateIdentity(std::span<const Savefile> savefiles); enum class ReadSavefileErrorCode { @@ -43,8 +46,8 @@ std::string GenerateFilename(const DEntry& entry); std::string GetDefaultExtension(SavefileFormat format); // Reads multiple savefiles from a card. Returns empty vector if even a single file can't be read. -std::vector<Savefile> GetSavefiles(const GCMemcard& card, const std::vector<u8>& file_indices); +std::vector<Savefile> GetSavefiles(const GCMemcard& card, std::span<const u8> file_indices); // Gets the total amount of blocks the given saves use. -size_t GetBlockCount(const std::vector<Savefile>& savefiles); +size_t GetBlockCount(std::span<const Savefile> savefiles); } // namespace Memcard diff --git a/Source/Core/DolphinQt/GCMemcardManager.cpp b/Source/Core/DolphinQt/GCMemcardManager.cpp index 8f7646774a..8bbe9061dc 100644 --- a/Source/Core/DolphinQt/GCMemcardManager.cpp +++ b/Source/Core/DolphinQt/GCMemcardManager.cpp @@ -502,7 +502,7 @@ void GCMemcardManager::ExportFiles(Memcard::SavefileFormat format) } } -void GCMemcardManager::ImportFiles(Slot slot, const std::vector<Memcard::Savefile>& savefiles) +void GCMemcardManager::ImportFiles(Slot slot, std::span<const Memcard::Savefile> savefiles) { auto& card = m_slot_memcard[slot]; if (!card) diff --git a/Source/Core/DolphinQt/GCMemcardManager.h b/Source/Core/DolphinQt/GCMemcardManager.h index 838a7750d7..dcc4b3324b 100644 --- a/Source/Core/DolphinQt/GCMemcardManager.h +++ b/Source/Core/DolphinQt/GCMemcardManager.h @@ -3,10 +3,9 @@ #pragma once -#include <array> #include <map> #include <memory> -#include <utility> +#include <span> #include <vector> #include <QDialog> @@ -62,7 +61,7 @@ private: std::vector<u8> GetSelectedFileIndices(); - void ImportFiles(ExpansionInterface::Slot slot, const std::vector<Memcard::Savefile>& savefiles); + void ImportFiles(ExpansionInterface::Slot slot, std::span<const Memcard::Savefile> savefiles); void CopyFiles(); void ImportFile(); |
