diff --git a/AK/Format.h b/AK/Format.h index a46b06c4b5..3193c79220 100644 --- a/AK/Format.h +++ b/AK/Format.h @@ -384,13 +384,29 @@ void outln(CheckedFormatString&& fmtstr, const Parameters&... par inline void outln() { outln(stdout); } +# define outln_if(flag, fmt, ...) \ + do { \ + if constexpr (flag) \ + outln(fmt, ##__VA_ARGS__); \ + } while (0) + template -void warn(CheckedFormatString&& fmtstr, const Parameters&... parameters) { out(stderr, move(fmtstr), parameters...); } +void warn(CheckedFormatString&& fmtstr, const Parameters&... parameters) +{ + out(stderr, move(fmtstr), parameters...); +} template void warnln(CheckedFormatString&& fmtstr, const Parameters&... parameters) { outln(stderr, move(fmtstr), parameters...); } inline void warnln() { outln(stderr); } + +# define warnln_if(flag, fmt, ...) \ + do { \ + if constexpr (flag) \ + outln(fmt, ##__VA_ARGS__); \ + } while (0) + #endif void vdbgln(StringView fmtstr, TypeErasedFormatParams);