From e445d3fddd17b2895d83bd51df827dd0952cc0e6 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Wed, 13 Sep 2023 10:10:01 +0100 Subject: [PATCH] Add `AutomapTile#hasAnyFlag` For use in #6555 --- Source/automap.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Source/automap.cpp b/Source/automap.cpp index cce3d764326..e210f759ec0 100644 --- a/Source/automap.cpp +++ b/Source/automap.cpp @@ -17,6 +17,7 @@ #include "levels/gendung.h" #include "levels/setmaps.h" #include "player.h" +#include "utils/attributes.h" #include "utils/language.h" #include "utils/ui_fwd.h" #include "utils/utf8.hpp" @@ -95,6 +96,14 @@ struct AutomapTile { { return (static_cast(flags) & static_cast(test)) != 0; } + + template + [[nodiscard]] DVL_ALWAYS_INLINE constexpr bool hasAnyFlag(Flags flag, Args... flags) + { + return (static_cast(this->flags) + & (static_cast(flag) | ... | static_cast(flags))) + != 0; + } }; /**