MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
End.h
Go to the documentation of this file.
1/** @noop License Comment
2 * @file
3 * @copyright
4 * This Source Code is subject to the terms of the Mozilla Public License, v2.0.
5 * If a copy of the MPL was not distributed with this file You can obtain one at
6 * https://mozilla.org/MPL/2.0/
7 *
8 * @author David Mórász
9 * @date 2025
10 */
11
12/**
13 * @file
14 * @brief
15 * Use this header and `Start.h` in tandem to include third-party library headers which may not tolerate Unreal's common
16 * vocabulary macros or its stricter warning policies.
17 */
18
19THIRD_PARTY_INCLUDES_END
20// PRAGMA_POP_PLATFORM_DEFAULT_PACKING
21
22#if PLATFORM_WINDOWS && MCRO_ALLOW_WINDOWS_TYPES
23#include "Windows/HideWindowsPlatformAtomics.h"
24#include "Windows/HideWindowsPlatformTypes.h"
25#endif
26
27#undef MCRO_ALLOW_WINDOWS_TYPES
28
29// restore temporary macro undefs
30
31
32#if !MCRO_ALLOW_TEXT
33#pragma pop_macro("TEXT")
34#endif
35#if !MCRO_ALLOW_TRUE
36#pragma pop_macro("TRUE")
37#endif
38#if !MCRO_ALLOW_FALSE
39#pragma pop_macro("FALSE")
40#endif
41#if !MCRO_ALLOW_MAX_uint8
42#pragma pop_macro("MAX_uint8")
43#endif
44#if !MCRO_ALLOW_MAX_uint16
45#pragma pop_macro("MAX_uint16")
46#endif
47#if !MCRO_ALLOW_MAX_uint32
48#pragma pop_macro("MAX_uint32")
49#endif
50#if !MCRO_ALLOW_MAX_int32
51#pragma pop_macro("MAX_int32")
52#endif
53#if !MCRO_ALLOW_CONSTEXPR
54#pragma pop_macro("CONSTEXPR")
55#endif
56#if !MCRO_ALLOW_PI
57#pragma pop_macro("PI")
58#endif
59#if !MCRO_ALLOW_dynamic_cast
60#pragma pop_macro("dynamic_cast")
61#endif
62#if !MCRO_ALLOW_VARARGS
63#pragma pop_macro("VARARGS")
64#endif
65#if !MCRO_ALLOW_CDECL
66#pragma pop_macro("CDECL")
67#endif
68#if !MCRO_ALLOW_STDCALL
69#pragma pop_macro("STDCALL")
70#endif
71#if !MCRO_ALLOW_FORCEINLINE
72#pragma pop_macro("FORCEINLINE")
73#endif
74#if !MCRO_ALLOW_FORCENOINLINE
75#pragma pop_macro("FORCENOINLINE")
76#endif
77#if !MCRO_ALLOW_ABSTRACT
78#pragma pop_macro("ABSTRACT")
79#endif
80#if !MCRO_ALLOW_LINE_TERMINATOR
81#pragma pop_macro("LINE_TERMINATOR")
82#endif
83#if !MCRO_ALLOW_LINE_TERMINATOR_ANSI
84#pragma pop_macro("LINE_TERMINATOR_ANSI")
85#endif
86#if !MCRO_ALLOW_DLLEXPORT
87#pragma pop_macro("DLLEXPORT")
88#endif
89#if !MCRO_ALLOW_DLLIMPORT
90#pragma pop_macro("DLLIMPORT")
91#endif
92#if !MCRO_ALLOW_LIKELY
93#pragma pop_macro("LIKELY")
94#endif
95#if !MCRO_ALLOW_UNLIKELY
96#pragma pop_macro("UNLIKELY")
97#endif
98#if !MCRO_ALLOW_RESTRICT
99#pragma pop_macro("RESTRICT")
100#endif
101#if !MCRO_ALLOW_MOBILE
102#pragma pop_macro("MOBILE")
103#endif
104#if !MCRO_ALLOW_CONSOLE
105#pragma pop_macro("CONSOLE")
106#endif
107#if !MCRO_ALLOW_DEFAULTS
108#pragma pop_macro("DEFAULTS")
109#endif
110
111#undef MCRO_ALLOW_TEXT
112#undef MCRO_ALLOW_TRUE
113#undef MCRO_ALLOW_FALSE
114#undef MCRO_ALLOW_MAX_uint8
115#undef MCRO_ALLOW_MAX_uint16
116#undef MCRO_ALLOW_MAX_uint32
117#undef MCRO_ALLOW_MAX_int32
118#undef MCRO_ALLOW_CONSTEXPR
119#undef MCRO_ALLOW_PI
120#undef MCRO_ALLOW_dynamic_cast
121#undef MCRO_ALLOW_VARARGS
122#undef MCRO_ALLOW_CDECL
123#undef MCRO_ALLOW_STDCALL
124#undef MCRO_ALLOW_FORCEINLINE
125#undef MCRO_ALLOW_FORCENOINLINE
126#undef MCRO_ALLOW_ABSTRACT
127#undef MCRO_ALLOW_LINE_TERMINATOR
128#undef MCRO_ALLOW_LINE_TERMINATOR_ANSI
129#undef MCRO_ALLOW_DLLEXPORT
130#undef MCRO_ALLOW_DLLIMPORT
131#undef MCRO_ALLOW_LIKELY
132#undef MCRO_ALLOW_UNLIKELY
133#undef MCRO_ALLOW_RESTRICT
134#undef MCRO_ALLOW_MOBILE
135#undef MCRO_ALLOW_CONSOLE
136#undef MCRO_ALLOW_DEFAULTS
137
138#pragma warning( pop )
139
140#ifdef NUIR_DO_CHECK
141#undef NUIR_DO_CHECK
142
143#pragma pop_macro("DO_CHECK")
144#pragma pop_macro("checkCode")
145#pragma pop_macro("check")
146#pragma pop_macro("checkf")
147#pragma pop_macro("verify")
148#pragma pop_macro("verifyf")
149#pragma pop_macro("unimplemented")
150#pragma pop_macro("ensure")
151
152#endif
153
154#ifdef NUIR_MSVC_GNUC_AVOIDANCE
155#pragma pop_macro("__GNUC__")
156#endif
157
158#undef MCRO_HIDE_TEXT
159#undef MCRO_ALLOW_WINDOWS_TYPES
160
161#undef NON_UNREAL_INCLUDE_REGION