2
3
4
5
6
7
8
11#ifndef _GLSL_STRUCT_VALUE_CHECKS_HPP_
12 #define _GLSL_STRUCT_VALUE_CHECKS_HPP_
14 #include <glslstruct/config.hpp>
17_GLSL_STRUCT_ERROR(
"This is only available for c++17 and greater!");
20 #include <glslstruct/type/traits/mat_traits.hpp>
21 #include <glslstruct/type/traits/scalar_traits.hpp>
22 #include <glslstruct/type/traits/vec_traits.hpp>
25 #pragma region IS_SIMPLE
27
28
29
30
35
36
37
38
40 struct is_glsl_simple : std::bool_constant<is_glsl_simple_v<T>> {};
44
45
46
47
48 template<
class T> concept glsl_simple = is_glsl_simple_v<T>;
54 #pragma region IS_SIMPLE_ARRAY
56
57
58
61 is_glsl_scalars_array_v<T> || is_glsl_vecs_array_v<T> || is_glsl_mats_array_v<T>;
64
65
66
69 is_glsl_scalars_static_size_array_v<T> || is_glsl_vecs_static_size_array_v<T> || is_glsl_mats_static_size_array_v<T>;
73
74
75
76 template<
class T> concept glsl_simples_array = is_glsl_simples_array_v<T>;
79
80
81
82 template<
class T> concept glsl_simples_static_size_array = is_glsl_simples_static_size_array_v<T>;
#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_CONSTEXPR17
constexpr for c++17 and higher
Definition config.hpp:196