-
Notifications
You must be signed in to change notification settings - Fork 0
/
preprocessor.h
63 lines (55 loc) · 2.2 KB
/
preprocessor.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
* CREATED BY SHPEGUN60
*
* PREPROCESSOR - a library that allows you to summon the devil or other evil spirits in the programming language C99 or later, and no joke, it allows you to use preprocessor metaprogramming in C
*
* Supporeted Compilers:
* MSVC: After Visual Studio 2019 verion 16.6; Compiler version after--> msvc v19.26,
* you must add /Zc:preprocessor to your compilation flags. Instruction: https://learn.microsoft.com/en-us/cpp/build/reference/zc-preprocessor?view=msvc-170
* GCC: All compilers supported
* Clang: All compilers supported
*
* Supported C standards:
* All after GNU/ISO C99
*/
#ifndef __PREPROCESSOR_H__
#define __PREPROCESSOR_H__ 1
/* -- Headers -- */
#include "preprocessor_arguments.h"
#include "preprocessor_arithmetic.h"
#include "preprocessor_base.h"
#include "preprocessor_boolean.h"
#include "preprocessor_char_eq.h"
#include "preprocessor_comparison.h"
#include "preprocessor_complement.h"
#include "preprocessor_concatenation.h"
#include "preprocessor_cycle.h"
#include "preprocessor_detection.h"
#include "preprocessor_div.h"
#include "preprocessor_ctx.h"
#include "preprocessor_if.h"
#include "preprocessor_keyword_eq.h"
#include "preprocessor_logical.h"
#include "preprocessor_map.h"
#include "preprocessor_nat_eq.h"
#include "preprocessor_nat_op.h"
#include "preprocessor_serial.h"
#include "preprocessor_stringify.h"
#include "preprocessor_symbol.h"
#include "preprocessor_template.h"
#include "preprocessor_tuple.h"
#include "preprocessor_type_eq.h"
#include "preprocessor_unused.h"
#if defined(_MSC_VER)
# define STRINGIZE_HELPER(x) #x
# define STRINGIZE(x) STRINGIZE_HELPER(x)
# define WARNING(desc) message(__FILE__ "(" STRINGIZE(__LINE__) ") : Warning: " #desc)
#
# if (_MSC_VER < 1926)
# error do not supported MSVC compiler, supports only after Visual Studio 2019 verion 16.6 and compiler version after--> msvc v19.26
# else
# pragma WARNING("_MSC_VER: User must add /Zc:preprocessor to compilation flags see https://devblogs.microsoft.com/cppblog/announcing-full-support-for-a-c-c-conformant-preprocessor-in-msvc/")
# endif /* (_MSC_VER < 1926) */
#
#endif /* defined(_MSC_VER) */
#endif /* __PREPROCESSOR_H__ */