From a143f327642fc6af66e78db3ed533bd231a78ee0 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 18 Oct 2022 16:42:47 +0200 Subject: add size_t literal suffix polyfill --- compat/literal-size-type.hpp | 25 +++++++++++++++++++++++++ compat/prelude.hpp | 3 +++ 2 files changed, 28 insertions(+) create mode 100644 compat/literal-size-type.hpp (limited to 'compat') diff --git a/compat/literal-size-type.hpp b/compat/literal-size-type.hpp new file mode 100644 index 00000000..1eef90d3 --- /dev/null +++ b/compat/literal-size-type.hpp @@ -0,0 +1,25 @@ +#pragma once +#include + +namespace floormat { + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wuser-defined-literals" +#elif defined _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4455) +#endif + +constexpr std::size_t operator"" z(unsigned long long int x) noexcept +{ + return std::size_t(x); +} + +#ifdef __clang__ +#pragma clang diagnostic pop +#elif defined _MSC_VER +#pragma warning(pop) +#endif + +} // namespace floormat diff --git a/compat/prelude.hpp b/compat/prelude.hpp index 077d5a75..1841e50b 100644 --- a/compat/prelude.hpp +++ b/compat/prelude.hpp @@ -1,4 +1,7 @@ #pragma once +#if !(defined __cpp_size_t_suffix && __cpp_size_t_suffix >= 202006L) +#include "literal-size-type.hpp" +#endif namespace Magnum {} namespace floormat { -- cgit v1.2.3