Extract Is{Any,None}Of out of engine.hpp

Untangles some of the dependencies
This commit is contained in:
Gleb Mazovetskiy
2025-01-08 09:54:56 +09:00
parent 19ccf7ce88
commit a49b1f2d58
54 changed files with 72 additions and 14 deletions
+1
View File
@@ -14,6 +14,7 @@
#include "engine/render/text_render.hpp"
#include "hwcursor.hpp"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/sdl_compat.h"
+1
View File
@@ -24,6 +24,7 @@
#include "hwcursor.hpp"
#include "utils/algorithm/container.hpp"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/pcx_to_clx.hpp"
+1
View File
@@ -16,6 +16,7 @@
#include "engine/palette.h"
#include "hwcursor.hpp"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
+1
View File
@@ -12,6 +12,7 @@
#include "engine/render/clx_render.hpp"
#include "hwcursor.hpp"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
namespace devilution {
+1
View File
@@ -14,6 +14,7 @@
#include "engine/render/text_render.hpp"
#include "hwcursor.hpp"
#include "options.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/utf8.hpp"
+1
View File
@@ -19,6 +19,7 @@
#include "player.h"
#include "utils/attributes.h"
#include "utils/enum_traits.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/ui_fwd.h"
#include "utils/utf8.hpp"
+1 -1
View File
@@ -7,9 +7,9 @@
#include <cstdint>
#include "engine.h"
#include "engine/displacement.hpp"
#include "engine/point.hpp"
#include "engine/surface.hpp"
#include "levels/gendung.h"
#include "utils/attributes.h"
+1
View File
@@ -13,6 +13,7 @@
#include "controls/touch/gamepad.h"
#include "engine/demomode.h"
#include "options.h"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
namespace devilution {
+1
View File
@@ -16,6 +16,7 @@
#include "panels/spell_list.hpp"
#include "qol/stash.h"
#include "stores.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -38,6 +38,7 @@
#include "stores.h"
#include "towners.h"
#include "track.h"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
#include "utils/str_cat.hpp"
+1
View File
@@ -12,6 +12,7 @@
#include "panels/spell_list.hpp"
#include "qol/stash.h"
#include "stores.h"
#include "utils/is_of.hpp"
#include "utils/ui_fwd.h"
namespace devilution {
+1
View File
@@ -34,6 +34,7 @@
#include "towners.h"
#include "track.h"
#include "utils/attributes.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/sdl_bilinear_scale.hpp"
#include "utils/surface_to_clx.hpp"
+1
View File
@@ -1,6 +1,7 @@
#pragma once
#include <cstddef>
#include <limits>
#include <memory>
#include <string_view>
+1 -1
View File
@@ -3,7 +3,7 @@
#include <algorithm>
#include <string_view>
#include "engine.h" // For IsAnyOf
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -86,6 +86,7 @@
#include "track.h"
#include "utils/console.h"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/parse_int.hpp"
#include "utils/paths.h"
+1
View File
@@ -11,6 +11,7 @@
#include "dvlnet/packet.h"
#include "player.h"
#include "utils/algorithm/container.hpp"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
namespace devilution::net {
+1
View File
@@ -19,6 +19,7 @@
#include "engine/sound_position.hpp"
#include "init.h"
#include "player.h"
#include "utils/is_of.hpp"
namespace devilution {
-12
View File
@@ -40,18 +40,6 @@
namespace devilution {
template <typename V, typename X, typename... Xs>
DVL_ALWAYS_INLINE constexpr bool IsAnyOf(const V &v, X x, Xs... xs)
{
return v == x || ((v == xs) || ...);
}
template <typename V, typename X, typename... Xs>
DVL_ALWAYS_INLINE constexpr bool IsNoneOf(const V &v, X x, Xs... xs)
{
return v != x && ((v != xs) && ...);
}
/**
* @brief Fill a rectangle with the given color.
*/
+1
View File
@@ -21,6 +21,7 @@
#include "utils/console.h"
#include "utils/display.h"
#include "utils/endian_stream.hpp"
#include "utils/is_of.hpp"
#include "utils/paths.h"
#include "utils/str_cat.hpp"
+2
View File
@@ -1,6 +1,8 @@
#pragma once
#include <cmath>
#include <limits>
#ifdef BUILD_TESTING
#include <ostream>
#endif
+1
View File
@@ -9,6 +9,7 @@
#include "movie.h"
#include "options.h"
#include "panels/console.hpp"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
#ifdef USE_SDL1
+1
View File
@@ -54,6 +54,7 @@
#include "towners.h"
#include "utils/attributes.h"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
#include "utils/str_cat.hpp"
+1
View File
@@ -27,6 +27,7 @@
#include "engine/render/clx_render.hpp"
#include "utils/algorithm/container.hpp"
#include "utils/display.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/sdl_compat.h"
#include "utils/utf8.hpp"
+1
View File
@@ -33,6 +33,7 @@
#include "stores.h"
#include "towners.h"
#include "utils/format_int.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/sdl_geometry.h"
#include "utils/str_cat.hpp"
+1
View File
@@ -41,6 +41,7 @@
#include "spells.h"
#include "stores.h"
#include "utils/format_int.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/math.h"
+1
View File
@@ -15,6 +15,7 @@
#include "engine/point.hpp"
#include "itemdat.h"
#include "monster.h"
#include "utils/is_of.hpp"
#include "utils/string_or_view.hpp"
namespace devilution {
+1
View File
@@ -12,6 +12,7 @@
#include "monstdat.h"
#include "player.h"
#include "spells.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -11,6 +11,7 @@
#include "player.h"
#include "quests.h"
#include "utils/bitset2d.hpp"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -19,6 +19,7 @@
#include "levels/setmaps.h"
#include "player.h"
#include "quests.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -14,6 +14,7 @@
#include "objects.h"
#include "player.h"
#include "quests.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -14,6 +14,7 @@
#include "multi.h"
#include "objdat.h"
#include "player.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -25,6 +25,7 @@
#include "lighting.h"
#include "options.h"
#include "utils/bitset2d.hpp"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
#include "utils/status_macros.hpp"
+1
View File
@@ -18,6 +18,7 @@
#include "objects.h"
#include "quests.h"
#include "utils/algorithm/container.hpp"
#include "utils/is_of.hpp"
#include "utils/str_cat.hpp"
namespace devilution {
+1
View File
@@ -16,6 +16,7 @@
#include "diablo_msg.hpp"
#include "init.h"
#include "utils/algorithm/container.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/utf8.hpp"
+1
View File
@@ -18,6 +18,7 @@
#include "engine/points_in_rectangle_range.hpp"
#include "player.h"
#include "utils/attributes.h"
#include "utils/is_of.hpp"
#include "utils/status_macros.hpp"
namespace devilution {
+1
View File
@@ -38,6 +38,7 @@
#include "stores.h"
#include "utils/algorithm/container.hpp"
#include "utils/endian.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/status_macros.hpp"
+1
View File
@@ -12,6 +12,7 @@
#include "lua/metadoc.hpp"
#include "pack.h"
#include "player.h"
#include "utils/is_of.hpp"
#include "utils/str_case.hpp"
#include "utils/str_cat.hpp"
+1
View File
@@ -9,6 +9,7 @@
#include "engine.h"
#include "lua/metadoc.hpp"
#include "quests.h"
#include "utils/is_of.hpp"
#include "utils/str_cat.hpp"
namespace devilution {
+1
View File
@@ -27,6 +27,7 @@
#include "lighting.h"
#include "monster.h"
#include "spells.h"
#include "utils/is_of.hpp"
#include "utils/str_cat.hpp"
namespace devilution {
+1
View File
@@ -16,6 +16,7 @@
#include "monster.h"
#include "player.h"
#include "spelldat.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -47,6 +47,7 @@
#include "utils/attributes.h"
#include "utils/cl2_to_clx.hpp"
#include "utils/file_name_generator.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/static_vector.hpp"
+1
View File
@@ -42,6 +42,7 @@
#include "sync.h"
#include "tmsg.h"
#include "towners.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/str_cat.hpp"
#include "utils/utf8.hpp"
+1
View File
@@ -29,6 +29,7 @@
#include "sync.h"
#include "tmsg.h"
#include "utils/endian.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/str_cat.hpp"
+1
View File
@@ -44,6 +44,7 @@
#include "towners.h"
#include "track.h"
#include "utils/algorithm/container.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/str_cat.hpp"
+1
View File
@@ -21,6 +21,7 @@
#include "objdat.h"
#include "textdat.h"
#include "utils/attributes.h"
#include "utils/is_of.hpp"
#include "utils/string_or_view.hpp"
namespace devilution {
+1
View File
@@ -30,6 +30,7 @@
#include "utils/display.h"
#include "utils/file_util.h"
#include "utils/ini.hpp"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/logged_fstream.hpp"
+1
View File
@@ -15,6 +15,7 @@
#include "plrmsg.h"
#include "stores.h"
#include "utils/endian.hpp"
#include "utils/is_of.hpp"
#include "utils/log.hpp"
#include "utils/utf8.hpp"
+1
View File
@@ -43,6 +43,7 @@
#include "spells.h"
#include "stores.h"
#include "towners.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/log.hpp"
#include "utils/str_cat.hpp"
+1
View File
@@ -27,6 +27,7 @@
#include "spelldat.h"
#include "utils/attributes.h"
#include "utils/enum_traits.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -28,6 +28,7 @@
#include "panels/ui_panels.hpp"
#include "stores.h"
#include "towners.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/utf8.hpp"
+1
View File
@@ -11,6 +11,7 @@
#include "lighting.h"
#include "monster.h"
#include "player.h"
#include "utils/is_of.hpp"
namespace devilution {
+1
View File
@@ -10,6 +10,7 @@
#include "inv.h"
#include "minitext.h"
#include "stores.h"
#include "utils/is_of.hpp"
#include "utils/language.h"
#include "utils/str_case.hpp"
+19
View File
@@ -0,0 +1,19 @@
#pragma once
#include "utils/attributes.h"
namespace devilution {
template <typename V, typename X, typename... Xs>
DVL_ALWAYS_INLINE constexpr bool IsAnyOf(const V &v, X x, Xs... xs)
{
return v == x || ((v == xs) || ...);
}
template <typename V, typename X, typename... Xs>
DVL_ALWAYS_INLINE constexpr bool IsNoneOf(const V &v, X x, Xs... xs)
{
return v != x && ((v != xs) && ...);
}
} // namespace devilution
+1
View File
@@ -6,6 +6,7 @@
#include "monstdat.h"
#include "pack.h"
#include "playerdat.hpp"
#include "utils/is_of.hpp"
#include "utils/paths.h"
namespace devilution {