2
3
4
5
6
7
8
11#ifndef _GLSL_STRUCT_CONFIG_HPP_
12 #define _GLSL_STRUCT_CONFIG_HPP_
15
16
17
20
21
22
23
26
27
28
32
33
35 #pragma region VERSION
37
38
39
40 #define GLSL_STRUCT_VERSION_MAJOR 1
42
43
44
45 #define GLSL_STRUCT_VERSION_MINOR 4
47
48
49
50 #define GLSL_STRUCT_VERSION_PATCH 0
53
54
55
56 #define _GLSL_STRUCT_STRINGIFY_HELPER(x) #x
59
60
61
62 #define _GLSL_STRUCT_VERSION_TO_STRING(major, minor, patch)
65
66
67
68 #define _GLSL_STRUCT_VERSION_TO_INT(major, minor, patch) (major * 100
+ minor * 10
+ patch)
71
72
73
74 #define GLSL_STRUCT_VERSION_STRING
77
78
79
80 #define GLSL_STRUCT_VERSION_INT
83
84
85
89 #pragma region LAST_UPDATE
91
92
93
94 #define GLSL_STRUCT_LAST_UPDATE_DAY 13
96
97
98
99 #define GLSL_STRUCT_LAST_UPDATE_MONTH 04
101
102
103
104 #define GLSL_STRUCT_LAST_UPDATE_YEAR 2026
107
108
109
110 #define _GLSL_STRUCT_LAST_UPDATE_DATE_HELPER(day, month, year)
114
115
116
117 #define GLSL_STRUCT_LAST_UPDATE_DATE
122 #pragma region CXX_VERSIONS
124
125
126
127
130 #define _GLSL_STRUCT_HAS_CXX17 __cplusplus
>= 201703l
133 #define _GLSL_STRUCT_HAS_CXX17 _HAS_CXX17
137
138
139
140
141 #ifndef GLSL_STRUCT_ENABLE_CXX20
142 #define _GLSL_STRUCT_HAS_CXX20 0
143 #elif !defined(_HAS_CXX20)
145 #define _GLSL_STRUCT_HAS_CXX20 __cplusplus >= 202002l
&& GLSL_STRUCT_ENABLE_CXX20
148 #define _GLSL_STRUCT_HAS_CXX20 _HAS_CXX20&& GLSL_STRUCT_ENABLE_CXX20
154
155
156
157
159 #ifdef GLSL_STRUCT_DISABLE_TYPES
160 #define _GLSL_STRUCT_HAS_TYPES 0
166
167
168
169
170 #if defined(GLSL_STRUCT_ENABLE_TYPE_CHECKS) && !defined(GLSL_STRUCT_DISABLE_TYPES)
171 #define _GLSL_STRUCT_HAS_TYPE_CHECKS 1
173 #define _GLSL_STRUCT_HAS_TYPE_CHECKS 0
178
179
180
181
183 #ifdef GLSL_STRUCT_DISABLE_PARSER
184 #define _GLSL_STRUCT_HAS_PARSER 0
189 #pragma region VERSION_SPECIFIC_VALUES
191
192
193
194
196 #define _GLSL_STRUCT_CONSTEXPR17 constexpr
198 #define _GLSL_STRUCT_CONSTEXPR17
202
203
204
205
208
209
210
211
213 #define _GLSL_STRUCT_CONSTEXPR20 constexpr
214 #define _GLSL_STRUCT_REQUIRES(condition) requires (condition)
215 #define _GLSL_STRUCT_INLINE17
216 #define _GLSL_STRUCT_TYPENAME17
218 #define _GLSL_STRUCT_CONSTEXPR20
219 #define _GLSL_STRUCT_REQUIRES(condition)
221 #define _GLSL_STRUCT_INLINE17 inline
222 #define _GLSL_STRUCT_TYPENAME17 typename
224 #define _GLSL_STRUCT_INLINE17
225 #define _GLSL_STRUCT_TYPENAME17
230 #include <mstd/mstd.hpp>
233
234
235
236 #define _GLSL_STRUCT_MESSAGE(MESSAGE) _MSTD_MESSAGE(MESSAGE)
238
239
240
241 #define _GLSL_STRUCT_WARNING(MESSAGE) _MSTD_WARNING(MESSAGE)
243
244
245
246 #define _GLSL_STRUCT_ERROR(MESSAGE) _MSTD_ERROR(MESSAGE)
#define GLSL_STRUCT_VERSION_STRING
glslstruct version string
Definition config.hpp:74
#define GLSL_STRUCT_VERSION_MINOR
glslstruct version minor number
Definition config.hpp:45
#define GLSL_STRUCT_LAST_UPDATE_DAY
glslstruct last update day
Definition config.hpp:94
#define GLSL_STRUCT_VERSION_MAJOR
glslstruct version major number
Definition config.hpp:40
#define GLSL_STRUCT_LAST_UPDATE_YEAR
glslstruct last update year
Definition config.hpp:104
#define GLSL_STRUCT_VERSION_PATCH
glslstruct version patch number
Definition config.hpp:50
#define GLSL_STRUCT_LAST_UPDATE_MONTH
glslstruct last update month
Definition config.hpp:99
#define _GLSL_STRUCT_VERSION_TO_STRING(major, minor, patch)
converts version numbers to string
Definition config.hpp:62
#define _GLSL_STRUCT_HAS_CXX20
check if compiler has c++ version greater or equal to c++20 and if user enabled c++20 features using ...
Definition config.hpp:142
#define _GLSL_STRUCT_HAS_CXX17
check if compiler has c++ version greater or equal to c++17
Definition config.hpp:130
#define _GLSL_STRUCT_LAST_UPDATE_DATE_HELPER(day, month, year)
converts last update date to string
Definition config.hpp:110
#define _GLSL_STRUCT_VERSION_TO_INT(major, minor, patch)
converts version number to int
Definition config.hpp:68
#define _GLSL_STRUCT_STRINGIFY_HELPER(x)
stringify helper
Definition config.hpp:56