summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2026-04-11 14:55:41 -0500
committerGitHub <noreply@github.com>2026-04-11 14:55:41 -0500
commit33f62b0f9f36a3dfccc3ecfc13358899d0cc8036 (patch)
tree270bf5e13f299486c05d1f681e96dc5b774cc1e7 /Source/Core/DiscIO
parent27e09633dee06f25d76b2e84048e80c57d6e6a87 (diff)
parentf6a67aa6e722350db3fc778e4f881cb60090faa1 (diff)
Merge pull request #14500 from Sintendo/span2
Replace `const std::vector&` arguments with `std::span`
Diffstat (limited to 'Source/Core/DiscIO')
-rw-r--r--Source/Core/DiscIO/DirectoryBlob.cpp10
-rw-r--r--Source/Core/DiscIO/DirectoryBlob.h9
-rw-r--r--Source/Core/DiscIO/DiscUtils.cpp3
-rw-r--r--Source/Core/DiscIO/DiscUtils.h4
-rw-r--r--Source/Core/DiscIO/NFSBlob.cpp4
-rw-r--r--Source/Core/DiscIO/NFSBlob.h5
-rw-r--r--Source/Core/DiscIO/RiivolutionParser.cpp4
-rw-r--r--Source/Core/DiscIO/Volume.cpp3
-rw-r--r--Source/Core/DiscIO/Volume.h4
-rw-r--r--Source/Core/DiscIO/VolumeVerifier.cpp2
-rw-r--r--Source/Core/DiscIO/VolumeVerifier.h2
-rw-r--r--Source/Core/DiscIO/VolumeWad.cpp3
-rw-r--r--Source/Core/DiscIO/VolumeWad.h3
-rw-r--r--Source/Core/DiscIO/WIABlob.cpp2
-rw-r--r--Source/Core/DiscIO/WIABlob.h2
15 files changed, 31 insertions, 29 deletions
diff --git a/Source/Core/DiscIO/DirectoryBlob.cpp b/Source/Core/DiscIO/DirectoryBlob.cpp
index 11acc8eb41..fe6c3880df 100644
--- a/Source/Core/DiscIO/DirectoryBlob.cpp
+++ b/Source/Core/DiscIO/DirectoryBlob.cpp
@@ -575,7 +575,7 @@ u64 DirectoryBlobReader::GetDataSize() const
return m_data_size;
}
-void DirectoryBlobReader::SetNonpartitionDiscHeaderFromFile(const std::vector<u8>& partition_header,
+void DirectoryBlobReader::SetNonpartitionDiscHeaderFromFile(std::span<const u8> partition_header,
const std::string& game_partition_root)
{
std::vector<u8> header_bin(WII_NONPARTITION_DISCHEADER_SIZE);
@@ -585,7 +585,7 @@ void DirectoryBlobReader::SetNonpartitionDiscHeaderFromFile(const std::vector<u8
SetNonpartitionDiscHeader(partition_header, std::move(header_bin));
}
-void DirectoryBlobReader::SetNonpartitionDiscHeader(const std::vector<u8>& partition_header,
+void DirectoryBlobReader::SetNonpartitionDiscHeader(std::span<const u8> partition_header,
std::vector<u8> header_bin)
{
const size_t header_bin_size = header_bin.size();
@@ -619,7 +619,7 @@ void DirectoryBlobReader::SetWiiRegionDataFromFile(const std::string& game_parti
SetWiiRegionData(wii_region_data, region_bin_path);
}
-void DirectoryBlobReader::SetWiiRegionData(const std::vector<u8>& wii_region_data,
+void DirectoryBlobReader::SetWiiRegionData(std::span<const u8> wii_region_data,
const std::string& log_path)
{
std::vector<u8> region_data(0x10, 0x00);
@@ -961,7 +961,7 @@ DirectoryBlobPartition::DirectoryBlobPartition(
}
void DirectoryBlobPartition::SetDiscType(std::optional<bool> is_wii,
- const std::vector<u8>& disc_header)
+ std::span<const u8> disc_header)
{
if (is_wii.has_value())
{
@@ -1108,7 +1108,7 @@ static void ConvertUTF8NamesToSHIFTJIS(std::vector<FSTBuilderNode>* fst)
}
}
-static u32 ComputeNameSize(const std::vector<FSTBuilderNode>& files)
+static u32 ComputeNameSize(std::span<const FSTBuilderNode> files)
{
u32 name_size = 0;
for (const FSTBuilderNode& entry : files)
diff --git a/Source/Core/DiscIO/DirectoryBlob.h b/Source/Core/DiscIO/DirectoryBlob.h
index 01cb5d1606..9ee3e36fc6 100644
--- a/Source/Core/DiscIO/DirectoryBlob.h
+++ b/Source/Core/DiscIO/DirectoryBlob.h
@@ -200,7 +200,7 @@ public:
void SetKey(std::array<u8, VolumeWii::AES_KEY_SIZE> key) { m_key = key; }
private:
- void SetDiscType(std::optional<bool> is_wii, const std::vector<u8>& disc_header);
+ void SetDiscType(std::optional<bool> is_wii, std::span<const u8> disc_header);
void SetBI2FromFile(const std::string& bi2_path);
void SetBI2(std::vector<u8> bi2);
@@ -296,12 +296,11 @@ private:
bool EncryptPartitionData(u64 offset, u64 size, u8* buffer, u64 partition_data_offset,
u64 partition_data_decrypted_size);
- void SetNonpartitionDiscHeaderFromFile(const std::vector<u8>& partition_header,
+ void SetNonpartitionDiscHeaderFromFile(std::span<const u8> partition_header,
const std::string& game_partition_root);
- void SetNonpartitionDiscHeader(const std::vector<u8>& partition_header,
- std::vector<u8> header_bin);
+ void SetNonpartitionDiscHeader(std::span<const u8> partition_header, std::vector<u8> header_bin);
void SetWiiRegionDataFromFile(const std::string& game_partition_root);
- void SetWiiRegionData(const std::vector<u8>& wii_region_data, const std::string& log_path);
+ void SetWiiRegionData(std::span<const u8> wii_region_data, const std::string& log_path);
void SetPartitions(std::vector<PartitionWithType>&& partitions);
void SetPartitionHeader(DirectoryBlobPartition* partition, u64 partition_address);
diff --git a/Source/Core/DiscIO/DiscUtils.cpp b/Source/Core/DiscIO/DiscUtils.cpp
index a22b97a466..e068229e57 100644
--- a/Source/Core/DiscIO/DiscUtils.cpp
+++ b/Source/Core/DiscIO/DiscUtils.cpp
@@ -5,6 +5,7 @@
#include <algorithm>
#include <optional>
+#include <span>
#include <string>
#include <vector>
@@ -155,7 +156,7 @@ static u64 GetBiggestReferencedOffset(const Volume& volume, const FileInfo& file
}
}
-u64 GetBiggestReferencedOffset(const Volume& volume, const std::vector<Partition>& partitions)
+u64 GetBiggestReferencedOffset(const Volume& volume, std::span<const Partition> partitions)
{
const u64 disc_header_size = volume.GetVolumeType() == Platform::GameCubeDisc ? 0x460 : 0x50000;
u64 biggest_offset = disc_header_size;
diff --git a/Source/Core/DiscIO/DiscUtils.h b/Source/Core/DiscIO/DiscUtils.h
index 805a1a476b..9a467b8ea6 100644
--- a/Source/Core/DiscIO/DiscUtils.h
+++ b/Source/Core/DiscIO/DiscUtils.h
@@ -4,8 +4,8 @@
#pragma once
#include <optional>
+#include <span>
#include <string>
-#include <vector>
#include "Common/CommonTypes.h"
#include "DiscIO/Blob.h"
@@ -84,7 +84,7 @@ std::optional<u64> GetFSTOffset(const Volume& volume, const Partition& partition
std::optional<u64> GetFSTSize(const Volume& volume, const Partition& partition);
u64 GetBiggestReferencedOffset(const Volume& volume);
-u64 GetBiggestReferencedOffset(const Volume& volume, const std::vector<Partition>& partitions);
+u64 GetBiggestReferencedOffset(const Volume& volume, std::span<const Partition> partitions);
bool IsGCZBlockSizeLegacyCompatible(int block_size, u64 file_size);
bool IsDiscImageBlockSizeValid(int block_size, BlobType format);
diff --git a/Source/Core/DiscIO/NFSBlob.cpp b/Source/Core/DiscIO/NFSBlob.cpp
index df6a65f321..6e13c70955 100644
--- a/Source/Core/DiscIO/NFSBlob.cpp
+++ b/Source/Core/DiscIO/NFSBlob.cpp
@@ -105,7 +105,7 @@ std::vector<File::DirectIOFile> NFSFileReader::OpenFiles(const std::string& dire
return files;
}
-u64 NFSFileReader::CalculateExpectedRawSize(const std::vector<NFSLBARange>& lba_ranges)
+u64 NFSFileReader::CalculateExpectedRawSize(std::span<const NFSLBARange> lba_ranges)
{
u64 total_blocks = 0;
for (const NFSLBARange& range : lba_ranges)
@@ -114,7 +114,7 @@ u64 NFSFileReader::CalculateExpectedRawSize(const std::vector<NFSLBARange>& lba_
return sizeof(NFSHeader) + total_blocks * BLOCK_SIZE;
}
-u64 NFSFileReader::CalculateExpectedDataSize(const std::vector<NFSLBARange>& lba_ranges)
+u64 NFSFileReader::CalculateExpectedDataSize(std::span<const NFSLBARange> lba_ranges)
{
u32 greatest_block_index = 0;
for (const NFSLBARange& range : lba_ranges)
diff --git a/Source/Core/DiscIO/NFSBlob.h b/Source/Core/DiscIO/NFSBlob.h
index dcbe6bf31a..0463e46891 100644
--- a/Source/Core/DiscIO/NFSBlob.h
+++ b/Source/Core/DiscIO/NFSBlob.h
@@ -6,6 +6,7 @@
#include <array>
#include <limits>
#include <memory>
+#include <span>
#include <string>
#include <vector>
@@ -68,8 +69,8 @@ private:
static std::vector<File::DirectIOFile> OpenFiles(const std::string& directory,
File::DirectIOFile first_file,
u64 expected_raw_size, u64* raw_size_out);
- static u64 CalculateExpectedRawSize(const std::vector<NFSLBARange>& lba_ranges);
- static u64 CalculateExpectedDataSize(const std::vector<NFSLBARange>& lba_ranges);
+ static u64 CalculateExpectedRawSize(std::span<const NFSLBARange> lba_ranges);
+ static u64 CalculateExpectedDataSize(std::span<const NFSLBARange> lba_ranges);
NFSFileReader(std::vector<NFSLBARange> lba_ranges, std::vector<File::DirectIOFile> files, Key key,
u64 raw_size);
diff --git a/Source/Core/DiscIO/RiivolutionParser.cpp b/Source/Core/DiscIO/RiivolutionParser.cpp
index c76274927a..079b86e5cc 100644
--- a/Source/Core/DiscIO/RiivolutionParser.cpp
+++ b/Source/Core/DiscIO/RiivolutionParser.cpp
@@ -218,9 +218,9 @@ std::optional<Disc> ParseString(std::string_view xml, std::string xml_path)
return disc;
}
-static bool CheckRegion(const std::vector<std::string>& xml_regions, std::string_view game_region)
+static bool CheckRegion(std::span<const std::string> xml_regions, std::string_view game_region)
{
- if (xml_regions.begin() == xml_regions.end())
+ if (xml_regions.empty())
return true;
for (const auto& region : xml_regions)
diff --git a/Source/Core/DiscIO/Volume.cpp b/Source/Core/DiscIO/Volume.cpp
index c1942b2aeb..cbed3acf55 100644
--- a/Source/Core/DiscIO/Volume.cpp
+++ b/Source/Core/DiscIO/Volume.cpp
@@ -8,7 +8,6 @@
#include <map>
#include <memory>
#include <optional>
-#include <ranges>
#include <span>
#include <string>
#include <type_traits>
@@ -93,7 +92,7 @@ void Volume::AddTMDToSyncHash(Common::SHA1::Context* context, const Partition& p
AddToSyncHash(context, content);
}
-std::map<Language, std::string> Volume::ReadWiiNames(const std::vector<char16_t>& data)
+std::map<Language, std::string> Volume::ReadWiiNames(std::span<const char16_t> data)
{
std::map<Language, std::string> names;
for (size_t i = 0; i < NUMBER_OF_LANGUAGES; ++i)
diff --git a/Source/Core/DiscIO/Volume.h b/Source/Core/DiscIO/Volume.h
index a001c60c85..7dfabb3e97 100644
--- a/Source/Core/DiscIO/Volume.h
+++ b/Source/Core/DiscIO/Volume.h
@@ -81,7 +81,7 @@ public:
virtual std::vector<u8> GetContent(u16 index) const { return {}; }
virtual std::vector<u64> GetContentOffsets() const { return {}; }
virtual bool CheckContentIntegrity(const IOS::ES::Content& content,
- const std::vector<u8>& encrypted_data,
+ std::span<const u8> encrypted_data,
const IOS::ES::TicketReader& ticket) const
{
return false;
@@ -150,7 +150,7 @@ protected:
void AddTMDToSyncHash(Common::SHA1::Context* context, const Partition& partition) const;
virtual u32 GetOffsetShift() const { return 0; }
- static std::map<Language, std::string> ReadWiiNames(const std::vector<char16_t>& data);
+ static std::map<Language, std::string> ReadWiiNames(std::span<const char16_t> data);
static constexpr size_t NUMBER_OF_LANGUAGES = 10;
static constexpr size_t NAME_CHARS_LENGTH = 42;
diff --git a/Source/Core/DiscIO/VolumeVerifier.cpp b/Source/Core/DiscIO/VolumeVerifier.cpp
index 7fd4ce2768..9ffeb63757 100644
--- a/Source/Core/DiscIO/VolumeVerifier.cpp
+++ b/Source/Core/DiscIO/VolumeVerifier.cpp
@@ -213,7 +213,7 @@ static std::vector<u8> ParseHash(const char* str)
return hash;
}
-std::vector<RedumpVerifier::PotentialMatch> RedumpVerifier::ScanDatfile(const std::vector<u8>& data,
+std::vector<RedumpVerifier::PotentialMatch> RedumpVerifier::ScanDatfile(std::span<const u8> data,
const std::string& system)
{
pugi::xml_document doc;
diff --git a/Source/Core/DiscIO/VolumeVerifier.h b/Source/Core/DiscIO/VolumeVerifier.h
index 7a5c342e1b..bb814f8b4d 100644
--- a/Source/Core/DiscIO/VolumeVerifier.h
+++ b/Source/Core/DiscIO/VolumeVerifier.h
@@ -85,7 +85,7 @@ private:
static DownloadStatus DownloadDatfile(const std::string& system, DownloadStatus old_status);
static std::vector<u8> ReadDatfile(const std::string& system);
- std::vector<PotentialMatch> ScanDatfile(const std::vector<u8>& data, const std::string& system);
+ std::vector<PotentialMatch> ScanDatfile(std::span<const u8> data, const std::string& system);
std::string m_game_id;
u16 m_revision = 0;
diff --git a/Source/Core/DiscIO/VolumeWad.cpp b/Source/Core/DiscIO/VolumeWad.cpp
index 44e229e1ce..95c6a68dc6 100644
--- a/Source/Core/DiscIO/VolumeWad.cpp
+++ b/Source/Core/DiscIO/VolumeWad.cpp
@@ -7,6 +7,7 @@
#include <map>
#include <memory>
#include <optional>
+#include <span>
#include <string>
#include <utility>
#include <vector>
@@ -149,7 +150,7 @@ std::vector<u64> VolumeWAD::GetContentOffsets() const
}
bool VolumeWAD::CheckContentIntegrity(const IOS::ES::Content& content,
- const std::vector<u8>& encrypted_data,
+ std::span<const u8> encrypted_data,
const IOS::ES::TicketReader& ticket) const
{
if (encrypted_data.size() != Common::AlignUp(content.size, 0x40))
diff --git a/Source/Core/DiscIO/VolumeWad.h b/Source/Core/DiscIO/VolumeWad.h
index a5d843eed4..2c383c0254 100644
--- a/Source/Core/DiscIO/VolumeWad.h
+++ b/Source/Core/DiscIO/VolumeWad.h
@@ -6,6 +6,7 @@
#include <map>
#include <memory>
#include <optional>
+#include <span>
#include <string>
#include <vector>
@@ -38,7 +39,7 @@ public:
GetCertificateChain(const Partition& partition = PARTITION_NONE) const override;
std::vector<u8> GetContent(u16 index) const override;
std::vector<u64> GetContentOffsets() const override;
- bool CheckContentIntegrity(const IOS::ES::Content& content, const std::vector<u8>& encrypted_data,
+ bool CheckContentIntegrity(const IOS::ES::Content& content, std::span<const u8> encrypted_data,
const IOS::ES::TicketReader& ticket) const override;
IOS::ES::TicketReader GetTicketWithFixedCommonKey() const override;
std::string GetGameID(const Partition& partition = PARTITION_NONE) const override;
diff --git a/Source/Core/DiscIO/WIABlob.cpp b/Source/Core/DiscIO/WIABlob.cpp
index 31000deb02..3f7b274ca8 100644
--- a/Source/Core/DiscIO/WIABlob.cpp
+++ b/Source/Core/DiscIO/WIABlob.cpp
@@ -860,7 +860,7 @@ size_t WIARVZFileReader<RVZ>::Chunk::GetOutBytesWrittenExcludingExceptions() con
template <bool RVZ>
bool WIARVZFileReader<RVZ>::ApplyHashExceptions(
- const std::vector<HashExceptionEntry>& exception_list,
+ std::span<const HashExceptionEntry> exception_list,
VolumeWii::HashBlock hash_blocks[VolumeWii::BLOCKS_PER_GROUP])
{
for (const HashExceptionEntry& exception : exception_list)
diff --git a/Source/Core/DiscIO/WIABlob.h b/Source/Core/DiscIO/WIABlob.h
index 96ef455fcb..cb9acaa1a5 100644
--- a/Source/Core/DiscIO/WIABlob.h
+++ b/Source/Core/DiscIO/WIABlob.h
@@ -242,7 +242,7 @@ private:
WIARVZCompressionType compression_type, u32 exception_lists = 0,
u32 rvz_packed_size = 0, u64 data_offset = 0);
- static bool ApplyHashExceptions(const std::vector<HashExceptionEntry>& exception_list,
+ static bool ApplyHashExceptions(std::span<const HashExceptionEntry> exception_list,
VolumeWii::HashBlock hash_blocks[VolumeWii::BLOCKS_PER_GROUP]);
static std::string VersionToString(u32 version);