diff options
| author | mitaclaw <140017135+mitaclaw@users.noreply.github.com> | 2024-09-28 22:30:41 -0700 |
|---|---|---|
| committer | mitaclaw <140017135+mitaclaw@users.noreply.github.com> | 2024-10-10 00:53:48 -0700 |
| commit | 728663bdc03dfe20343c45ff36f5fb080b49ffec (patch) | |
| tree | f923c81683810d230c594113c0b753fc29b54a80 /Source | |
| parent | 01d0bdf1bbb4ad3604a6d261b8648b870b1f0131 (diff) | |
Modernize `std::binary_search` with ranges
In VolumeVerifier.cpp, constructing a `std::string_view` of the volume's GameID is unnecessary, as `std::`(`ranges::`)`binary_search` supports heterogeneous lookup. The usage in GameFile.cpp is a perfect example.
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/DiscIO/VolumeVerifier.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/UICommon/GameFile.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VertexManagerBase.cpp | 3 |
3 files changed, 4 insertions, 8 deletions
diff --git a/Source/Core/DiscIO/VolumeVerifier.cpp b/Source/Core/DiscIO/VolumeVerifier.cpp index 5a4a9c6856..8e31eff4eb 100644 --- a/Source/Core/DiscIO/VolumeVerifier.cpp +++ b/Source/Core/DiscIO/VolumeVerifier.cpp @@ -722,8 +722,7 @@ bool VolumeVerifier::ShouldHaveChannelPartition() const }; static_assert(std::ranges::is_sorted(channel_discs)); - return std::binary_search(channel_discs.cbegin(), channel_discs.cend(), - std::string_view(m_volume.GetGameID())); + return std::ranges::binary_search(channel_discs, m_volume.GetGameID()); } bool VolumeVerifier::ShouldHaveInstallPartition() const @@ -755,8 +754,7 @@ bool VolumeVerifier::ShouldBeDualLayer() const }; static_assert(std::ranges::is_sorted(dual_layer_discs)); - return std::binary_search(dual_layer_discs.cbegin(), dual_layer_discs.cend(), - std::string_view(m_volume.GetGameID())); + return std::ranges::binary_search(dual_layer_discs, m_volume.GetGameID()); } void VolumeVerifier::CheckVolumeSize() diff --git a/Source/Core/UICommon/GameFile.cpp b/Source/Core/UICommon/GameFile.cpp index 9151aec796..5c32c511df 100644 --- a/Source/Core/UICommon/GameFile.cpp +++ b/Source/Core/UICommon/GameFile.cpp @@ -616,8 +616,7 @@ bool GameFile::CheckIfTwoDiscGame(const std::string& game_id) const static_assert(std::ranges::is_sorted(two_disc_game_id_prefixes)); std::string_view game_id_prefix(game_id.data(), GAME_ID_PREFIX_SIZE); - return std::binary_search(two_disc_game_id_prefixes.begin(), two_disc_game_id_prefixes.end(), - game_id_prefix); + return std::ranges::binary_search(two_disc_game_id_prefixes, game_id_prefix); } std::string GameFile::GetNetPlayName(const Core::TitleDatabase& title_database) const diff --git a/Source/Core/VideoCommon/VertexManagerBase.cpp b/Source/Core/VideoCommon/VertexManagerBase.cpp index 02edb56d35..8a4f7f75bd 100644 --- a/Source/Core/VideoCommon/VertexManagerBase.cpp +++ b/Source/Core/VideoCommon/VertexManagerBase.cpp @@ -954,8 +954,7 @@ void VertexManagerBase::OnDraw() // Check if this draw is scheduled to kick a command buffer. // The draw counters will always be sorted so a binary search is possible here. - if (std::binary_search(m_scheduled_command_buffer_kicks.begin(), - m_scheduled_command_buffer_kicks.end(), m_draw_counter)) + if (std::ranges::binary_search(m_scheduled_command_buffer_kicks, m_draw_counter)) { // Kick a command buffer on the background thread. g_gfx->Flush(); |
