Modernize `std::is_sorted` with ranges

In OGLConfig.cpp, `std::views::reverse` is used rather than sorting using `std::ranges::greater` in order to parallel other instances of reverse iteration in the function.
This commit is contained in:
mitaclaw 2024-09-28 22:23:45 -07:00
parent ebf7cebc32
commit 01d0bdf1bb
2 changed files with 4 additions and 3 deletions

View File

@ -613,7 +613,7 @@ bool GameFile::CheckIfTwoDiscGame(const std::string& game_id) const
"S6T", "S6T",
"SDQ", "SDQ",
}; };
static_assert(std::is_sorted(two_disc_game_id_prefixes.begin(), two_disc_game_id_prefixes.end())); static_assert(std::ranges::is_sorted(two_disc_game_id_prefixes));
std::string_view game_id_prefix(game_id.data(), GAME_ID_PREFIX_SIZE); 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(), return std::binary_search(two_disc_game_id_prefixes.begin(), two_disc_game_id_prefixes.end(),

View File

@ -4,6 +4,7 @@
#include "VideoBackends/OGL/OGLConfig.h" #include "VideoBackends/OGL/OGLConfig.h"
#include <cstdio> #include <cstdio>
#include <ranges>
#include <string> #include <string>
#include <string_view> #include <string_view>
@ -585,7 +586,7 @@ bool PopulateConfig(GLContext* m_main_gl_context)
glGetInternalformativ(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, colorInternalFormat, GL_SAMPLES, glGetInternalformativ(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, colorInternalFormat, GL_SAMPLES,
num_color_sample_counts, num_color_sample_counts,
reinterpret_cast<GLint*>(color_aa_modes.data())); reinterpret_cast<GLint*>(color_aa_modes.data()));
ASSERT_MSG(VIDEO, std::is_sorted(color_aa_modes.rbegin(), color_aa_modes.rend()), ASSERT_MSG(VIDEO, std::ranges::is_sorted(color_aa_modes | std::views::reverse),
"GPU driver didn't return sorted color AA modes: [{}]", "GPU driver didn't return sorted color AA modes: [{}]",
fmt::join(color_aa_modes, ", ")); fmt::join(color_aa_modes, ", "));
} }
@ -614,7 +615,7 @@ bool PopulateConfig(GLContext* m_main_gl_context)
glGetInternalformativ(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, depthInternalFormat, GL_SAMPLES, glGetInternalformativ(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, depthInternalFormat, GL_SAMPLES,
num_depth_sample_counts, num_depth_sample_counts,
reinterpret_cast<GLint*>(depth_aa_modes.data())); reinterpret_cast<GLint*>(depth_aa_modes.data()));
ASSERT_MSG(VIDEO, std::is_sorted(depth_aa_modes.rbegin(), depth_aa_modes.rend()), ASSERT_MSG(VIDEO, std::ranges::is_sorted(depth_aa_modes | std::views::reverse),
"GPU driver didn't return sorted depth AA modes: [{}]", "GPU driver didn't return sorted depth AA modes: [{}]",
fmt::join(depth_aa_modes, ", ")); fmt::join(depth_aa_modes, ", "));
} }