Loading...
Searching...
No Matches
Go to the documentation of this file.
22#define SMTG_TYPE_STATIC_CHECK(Operator, Type, Platform64Size, MacOS32Size, Win32Size, \
25 template <typename Type, size_t w, size_t x, size_t y, size_t z> \
26 struct Operator##Check##Type \
28 constexpr Operator##Check##Type () \
30 static_assert (Operator (Type) == \
31 (SMTG_PLATFORM_64 ? w : SMTG_OS_MACOS ? x : SMTG_OS_LINUX ? z : y), \
32 "Struct " #Operator " error: " #Type); \
35 static constexpr Operator##Check##Type<Type, Platform64Size, MacOS32Size, Win32Size, \
37 instance##Operator##Type; \
43#define SMTG_TYPE_SIZE_CHECK(Type, Platform64Size, MacOS32Size, Win32Size, Linux32Size) \
44 SMTG_TYPE_STATIC_CHECK (sizeof, Type, Platform64Size, MacOS32Size, Win32Size, Linux32Size)
49#define SMTG_TYPE_ALIGN_CHECK(Type, Platform64Size, MacOS32Size, Win32Size, Linux32Size) \
50 SMTG_TYPE_STATIC_CHECK (alignof, Type, Platform64Size, MacOS32Size, Win32Size, Linux32Size)
54#define SMTG_TYPE_SIZE_CHECK(Type, Platform64Size, MacOS32Size, Win32Size, Linux32Size)