libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_decls.h File Reference

Go to the source code of this file.

Macros

#define GBL_CLASS_IMPL_INTERFACE(iface)
 
#define GBL_CLASS_DERIVE_N(instance, baseKlass, ...)
 
#define GBL_CLASS_DERIVE_2(instance, baseInstance)
 
#define GBL_CLASS_DERIVE_1(instance)
 
#define GBL_CLASS_DERIVE(...)
 
#define GBL_CLASS_BASE_N(instance, ...)
 
#define GBL_CLASS_BASE_1(instance)
 
#define GBL_CLASS_BASE(...)
 
#define GBL_CLASS_BASE_EMPTY(...)
 
#define GBL_CLASS_END
 
#define GBL_CLASS_DERIVE_EMPTY(...)
 
#define GBL_STATIC_CLASS_DERIVE_N(klass, ...)
 
#define GBL_STATIC_CLASS_DERIVE_1(klass)
 
#define GBL_STATIC_CLASS_DERIVE(...)
 
#define GBL_STATIC_CLASS_DERIVE_EMPTY(...)
 
#define GBL_INTERFACE_DERIVE_N(instance, klass, baseClass, ...)
 
#define GBL_INTERFACE_DERIVE_3(instance, klass, baseKlass)
 
#define GBL_INTERFACE_DERIVE_2(instance, klass)
 
#define GBL_INTERFACE_DERIVE_1(instance)
 
#define GBL_INTERFACE_DERIVE(...)
 
#define GBL_INTERFACE_END
 
#define GBL_INSTANCE_DERIVE(derivedInstance, baseInstance)
 
#define GBL_INSTANCE_BASE(instance)
 
#define GBL_INSTANCE_BASE_EMPTY(instance)
 
#define GBL_INSTANCE_END
 
#define GBL_INSTANCE_DERIVE_EMPTY(derived, base)
 
#define GBL_TYPEID(instanceStruct)
 
#define GBL_CLASS_STRUCT(cType)
 
#define GBL_INSTANCE_PRIVATE_STRUCT(instanceStruct)
 
#define GBL_CLASS_PRIVATE_STRUCT(instanceStruct)
 
#define GBL_DECLARE_TYPE(instanceStruct)
 
#define GBL_DECLARE_TYPE_(instanceStruct)
 
#define GBL_DERIVE_EMPTY_TYPE(derivedInstance, baseInstance)
 
#define GBL_DECLARE_UNION(S)
 
#define GBL_DECLARE_STRUCT(S)
 
#define GBL_DECLARE_STRUCT_PRIVATE(S)
 
#define GBL_FORWARD_DECLARE_STRUCT(S)
 
#define GBL_FORWARD_DECLARE_STRUCT_PRIVATE(S)
 
#define GBL_FORWARD_DECLARE_TYPE(t)
 
#define GBL_DECLARE_ENUM(E)
 
#define GBL_DECLARE_FLAGS(F)
 
#define GBL_FORWARD_DECLARE_ENUM(E)
 
#define GBL_FORWARD_DECLARE_FLAGS(F)
 
#define GBL_DECLARE_OPAQUE(S)
 
#define GBL_PRIVATE_BEGIN
 
#define GBL_PRIVATE_END
 
#define GBL_PRIV(a)
 
#define GBL_PRIV_REF(a)
 
#define GBL_VSELF
 
#define GBL_DEFINE_EMPTY_STRUCT(S)
 
#define GBL_UNUSED_(a)
 
#define GBL_UNUSED(...)
 
#define GBL_EXPORT
 
#define GBL_DECL_VAR_TYPE(type, ...)
 
#define GBL_DECL_VAR_NAME(type, name)
 
#define GBL_DECL_VAR(type, name)
 
#define GBL_DECL_VAR_PAIR_TYPE(pair)
 
#define GBL_DECL_VAR_PAIR_NAME(pair)
 
#define GBL_DECL_VAR_PAIR(pair)
 
#define GBL_ENUM_TABLE_DECL_ENUM(cName, value, name, string)
 
#define GBL_ENUM_TABLE_DECLARE(table)
 
#define GBL_ENUM_TABLE_RETURN_STRING(cName, value, name, string)
 
#define GBL_ENUM_TABLE_TO_STRING(table, value)
 
#define GBL_ENUM_TABLE_DECLARE_STRINGIFIER(table)
 
#define GBL_META_ENUM_TUPLE(tuple)
 
#define GBL_META_ENUM_TUPLE_TYPE_INFO(typeInfo, valueTable)
 
#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_CNAME(cName, name, description, stringifier)
 
#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_NAME(cName, name, description, stringifier)
 
#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_DESCRIPTION(cName, name, description, stringifier)
 
#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_STRINGIFIER(cName, name, description, stringifier)
 
#define GBL_META_ENUM_TUPLE_VALUE_ARRAY(typeInfo, valueArray)
 
#define GBL_META_ENUM_TUPLE_VALUE_ARRAY_TUPLE_VALUE(...)
 
#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_CNAME(cName, value, name, string)
 
#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_NAME(cName, value, name, string)
 
#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_VALUE(cName, value, name, string)
 
#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_STRING(cName, value, name, string)
 
#define GBL_META_ENUM_TYPE_PROPERTY(table, postfix)
 

Detailed Description

Helper defines for struct, enum, flags, handle delcarations.

See also
gimbal_macro_utilities.h
Author
Falco Girgis

Definition in file gimbal_decls.h.

Macro Definition Documentation

◆ GBL_CLASS_IMPL_INTERFACE

#define GBL_CLASS_IMPL_INTERFACE ( iface)

Definition at line 27 of file gimbal_decls.h.

27#define GBL_CLASS_IMPL_INTERFACE(iface) \
28 /*! Embedded interface class structure */ \
29 iface##Class iface##Impl;

◆ GBL_CLASS_DERIVE_N

#define GBL_CLASS_DERIVE_N ( instance,
baseKlass,
... )

Definition at line 31 of file gimbal_decls.h.

31#define GBL_CLASS_DERIVE_N(instance, baseKlass, ...) \
32 GBL_CLASS_DERIVE_2(instance, baseKlass) \
33 GBL_MAP(GBL_CLASS_IMPL_INTERFACE, __VA_ARGS__)

◆ GBL_CLASS_DERIVE_2

#define GBL_CLASS_DERIVE_2 ( instance,
baseInstance )

Definition at line 35 of file gimbal_decls.h.

35#define GBL_CLASS_DERIVE_2(instance, baseInstance) \
36 struct instance##Class; \
37 typedef struct instance##Class instance##Class; \
38 struct instance##Class { \
39 /*! Inherited base class structure */ \
40 baseInstance##Class base;

◆ GBL_CLASS_DERIVE_1

#define GBL_CLASS_DERIVE_1 ( instance)

Definition at line 42 of file gimbal_decls.h.

42#define GBL_CLASS_DERIVE_1(instance) \
43 GBL_CLASS_DERIVE_2(instance, Gbl)

◆ GBL_CLASS_DERIVE

#define GBL_CLASS_DERIVE ( ...)

Definition at line 45 of file gimbal_decls.h.

45#define GBL_CLASS_DERIVE(...) \
46 GBL_VA_OVERLOAD_CALL(GBL_CLASS_DERIVE, GBL_VA_OVERLOAD_SUFFIXER_2_N, __VA_ARGS__)

◆ GBL_CLASS_BASE_N

#define GBL_CLASS_BASE_N ( instance,
... )

Definition at line 48 of file gimbal_decls.h.

48#define GBL_CLASS_BASE_N(instance, ...) \
49 GBL_CLASS_DERIVE_N(instance, Gbl, __VA_ARGS__)

◆ GBL_CLASS_BASE_1

#define GBL_CLASS_BASE_1 ( instance)

Definition at line 51 of file gimbal_decls.h.

51#define GBL_CLASS_BASE_1(instance) \
52 GBL_CLASS_DERIVE_2(instance, Gbl)

◆ GBL_CLASS_BASE

#define GBL_CLASS_BASE ( ...)

Definition at line 54 of file gimbal_decls.h.

54#define GBL_CLASS_BASE(...) \
55 GBL_VA_OVERLOAD_CALL(GBL_CLASS_BASE, GBL_VA_OVERLOAD_SUFFIXER_1_N, __VA_ARGS__)

◆ GBL_CLASS_BASE_EMPTY

#define GBL_CLASS_BASE_EMPTY ( ...)

Definition at line 57 of file gimbal_decls.h.

57#define GBL_CLASS_BASE_EMPTY(...) \
58 GBL_CLASS_BASE(__VA_ARGS__) \
59 GBL_CLASS_END

◆ GBL_CLASS_END

#define GBL_CLASS_END

Definition at line 61 of file gimbal_decls.h.

◆ GBL_CLASS_DERIVE_EMPTY

#define GBL_CLASS_DERIVE_EMPTY ( ...)

Definition at line 63 of file gimbal_decls.h.

63#define GBL_CLASS_DERIVE_EMPTY(...) \
64 GBL_CLASS_DERIVE(__VA_ARGS__) \
65 GBL_CLASS_END

◆ GBL_STATIC_CLASS_DERIVE_N

#define GBL_STATIC_CLASS_DERIVE_N ( klass,
... )

Definition at line 67 of file gimbal_decls.h.

67#define GBL_STATIC_CLASS_DERIVE_N(klass, ...) \
68 GBL_CLASS_DERIVE_N(klass, GblStatic, __VA_ARGS__)

◆ GBL_STATIC_CLASS_DERIVE_1

#define GBL_STATIC_CLASS_DERIVE_1 ( klass)

Definition at line 70 of file gimbal_decls.h.

70#define GBL_STATIC_CLASS_DERIVE_1(klass) \
71 GBL_CLASS_DERIVE_2(klass, GblStatic)

◆ GBL_STATIC_CLASS_DERIVE

#define GBL_STATIC_CLASS_DERIVE ( ...)

Definition at line 73 of file gimbal_decls.h.

73#define GBL_STATIC_CLASS_DERIVE(...) \
74 GBL_VA_OVERLOAD_CALL(GBL_STATIC_CLASS_DERIVE, GBL_VA_OVERLOAD_SUFFIXER_1_N, __VA_ARGS__)

◆ GBL_STATIC_CLASS_DERIVE_EMPTY

#define GBL_STATIC_CLASS_DERIVE_EMPTY ( ...)

Definition at line 76 of file gimbal_decls.h.

76#define GBL_STATIC_CLASS_DERIVE_EMPTY(...) \
77 GBL_STATIC_CLASS_DERIVE(__VA_ARGS__) \
78 GBL_CLASS_END

◆ GBL_INTERFACE_DERIVE_N

#define GBL_INTERFACE_DERIVE_N ( instance,
klass,
baseClass,
... )

Definition at line 80 of file gimbal_decls.h.

80#define GBL_INTERFACE_DERIVE_N(instance, klass, baseClass, ...) \
81 GBL_INTERFACE_DERIVE_3(instance, klass, baseClass) \
82 GBL_MAP(GBL_CLASS_IMPL_INTERFACE, __VA_ARGS__)

◆ GBL_INTERFACE_DERIVE_3

#define GBL_INTERFACE_DERIVE_3 ( instance,
klass,
baseKlass )

Definition at line 84 of file gimbal_decls.h.

84#define GBL_INTERFACE_DERIVE_3(instance, klass, baseKlass) \
85 struct instance; \
86 typedef struct instance instance; \
87 struct klass; \
88 typedef struct klass klass; \
89 struct klass { \
90 /*! Inherited base class instance */ \
91 baseKlass base;

◆ GBL_INTERFACE_DERIVE_2

#define GBL_INTERFACE_DERIVE_2 ( instance,
klass )

Definition at line 93 of file gimbal_decls.h.

93#define GBL_INTERFACE_DERIVE_2(instance, klass) \
94 GBL_INTERFACE_DERIVE_3(instance, klass, GblInterface)

◆ GBL_INTERFACE_DERIVE_1

#define GBL_INTERFACE_DERIVE_1 ( instance)

Definition at line 96 of file gimbal_decls.h.

96#define GBL_INTERFACE_DERIVE_1(instance) \
97 GBL_INTERFACE_DERIVE_2(instance, instance##Class)

◆ GBL_INTERFACE_DERIVE

#define GBL_INTERFACE_DERIVE ( ...)

Definition at line 99 of file gimbal_decls.h.

99#define GBL_INTERFACE_DERIVE(...) \
100 GBL_VA_OVERLOAD_CALL(GBL_INTERFACE_DERIVE, GBL_VA_OVERLOAD_SUFFIXER_3_N, __VA_ARGS__)

◆ GBL_INTERFACE_END

#define GBL_INTERFACE_END

Definition at line 102 of file gimbal_decls.h.

◆ GBL_INSTANCE_DERIVE

#define GBL_INSTANCE_DERIVE ( derivedInstance,
baseInstance )

Definition at line 104 of file gimbal_decls.h.

104#define GBL_INSTANCE_DERIVE(derivedInstance, baseInstance) \
105 struct derivedInstance; \
106 typedef struct derivedInstance derivedInstance; \
107 struct derivedInstance { \
108 union { \
109 /*! Pointer to class/vtable structure */ \
110 derivedInstance##Class* pClass; \
111 /*! Inherited base instance structure */ \
112 baseInstance base; \
113 };

◆ GBL_INSTANCE_BASE

#define GBL_INSTANCE_BASE ( instance)

Definition at line 115 of file gimbal_decls.h.

115#define GBL_INSTANCE_BASE(instance) \
116 struct instance; \
117 typedef struct instance instance; \
118 struct instance { \
119 union { \
120 /*! Pointer to class/vtable structure */\
121 instance##Class* pClass; \
122 /*! Inherited base instance structure */\
123 GblInstance base; \
124 };

◆ GBL_INSTANCE_BASE_EMPTY

#define GBL_INSTANCE_BASE_EMPTY ( instance)

Definition at line 126 of file gimbal_decls.h.

126#define GBL_INSTANCE_BASE_EMPTY(instance) \
127 GBL_INSTANCE_BASE(instance) \
128 GBL_INSTANCE_END

◆ GBL_INSTANCE_END

#define GBL_INSTANCE_END

Definition at line 130 of file gimbal_decls.h.

◆ GBL_INSTANCE_DERIVE_EMPTY

#define GBL_INSTANCE_DERIVE_EMPTY ( derived,
base )

Definition at line 132 of file gimbal_decls.h.

132#define GBL_INSTANCE_DERIVE_EMPTY(derived, base) \
133 GBL_INSTANCE_DERIVE(derived, base) \
134 GBL_INSTANCE_END

◆ GBL_TYPEID

#define GBL_TYPEID ( instanceStruct)

Definition at line 136 of file gimbal_decls.h.

136#define GBL_TYPEID(instanceStruct) \
137 GBL_GLUE(instanceStruct, _type())

◆ GBL_CLASS_STRUCT

#define GBL_CLASS_STRUCT ( cType)

Definition at line 139 of file gimbal_decls.h.

◆ GBL_INSTANCE_PRIVATE_STRUCT

#define GBL_INSTANCE_PRIVATE_STRUCT ( instanceStruct)

Definition at line 141 of file gimbal_decls.h.

141#define GBL_INSTANCE_PRIVATE_STRUCT(instanceStruct) \
142 GBL_GLUE(instanceStruct, _)

◆ GBL_CLASS_PRIVATE_STRUCT

#define GBL_CLASS_PRIVATE_STRUCT ( instanceStruct)

Definition at line 144 of file gimbal_decls.h.

144#define GBL_CLASS_PRIVATE_STRUCT(instanceStruct) \
145 GBL_GLUE(GBL_GLUE(instanceStruct, Class), _)

◆ GBL_DECLARE_TYPE

#define GBL_DECLARE_TYPE ( instanceStruct)

Definition at line 151 of file gimbal_decls.h.

151# define GBL_DECLARE_TYPE(instanceStruct) \
152 GBL_DECLARE_TYPE_(instanceStruct)

◆ GBL_DECLARE_TYPE_

#define GBL_DECLARE_TYPE_ ( instanceStruct)

Definition at line 155 of file gimbal_decls.h.

155#define GBL_DECLARE_TYPE_(instanceStruct) \
156 GblType GBL_GLUE(instanceStruct, _type(void)) GBL_NOEXCEPT

◆ GBL_DERIVE_EMPTY_TYPE

#define GBL_DERIVE_EMPTY_TYPE ( derivedInstance,
baseInstance )

Definition at line 158 of file gimbal_decls.h.

158#define GBL_DERIVE_EMPTY_TYPE(derivedInstance, baseInstance) \
159 GBL_CLASS_DERIVE(derivedInstance, baseInstance) \
160 GBL_CLASS_END \
161 GBL_INSTANCE_DERIVE(derivedInstance, baseInstance) \
162 GBL_INSTANCE_END \
163 GBL_DECLARE_TYPE(derivedInstance);

◆ GBL_DECLARE_UNION

#define GBL_DECLARE_UNION ( S)

Definition at line 166 of file gimbal_decls.h.

166#define GBL_DECLARE_UNION(S) \
167 union S; \
168 typedef union S S; \
169 union S

◆ GBL_DECLARE_STRUCT

#define GBL_DECLARE_STRUCT ( S)

Definition at line 171 of file gimbal_decls.h.

171#define GBL_DECLARE_STRUCT(S) \
172 struct S; \
173 typedef struct S S; \
174 struct S

◆ GBL_DECLARE_STRUCT_PRIVATE

#define GBL_DECLARE_STRUCT_PRIVATE ( S)

Definition at line 176 of file gimbal_decls.h.

176#define GBL_DECLARE_STRUCT_PRIVATE(S) \
177 struct S##_; \
178 typedef struct S##_ S##_; \
179 struct S##_

◆ GBL_FORWARD_DECLARE_STRUCT

#define GBL_FORWARD_DECLARE_STRUCT ( S)

Definition at line 181 of file gimbal_decls.h.

181#define GBL_FORWARD_DECLARE_STRUCT(S) \
182 struct S; \
183 typedef struct S S;

◆ GBL_FORWARD_DECLARE_STRUCT_PRIVATE

#define GBL_FORWARD_DECLARE_STRUCT_PRIVATE ( S)

Definition at line 185 of file gimbal_decls.h.

185#define GBL_FORWARD_DECLARE_STRUCT_PRIVATE(S) \
186 struct S##_; \
187 typedef struct S##_ S

◆ GBL_FORWARD_DECLARE_TYPE

#define GBL_FORWARD_DECLARE_TYPE ( t)

Definition at line 189 of file gimbal_decls.h.

189#define GBL_FORWARD_DECLARE_TYPE(t) \
190 GBL_TYPEID(t)

◆ GBL_DECLARE_ENUM

#define GBL_DECLARE_ENUM ( E)

Definition at line 193 of file gimbal_decls.h.

193# define GBL_DECLARE_ENUM(E) \
194 typedef GblEnum E; \
195 enum E

◆ GBL_DECLARE_FLAGS

#define GBL_DECLARE_FLAGS ( F)

Definition at line 202 of file gimbal_decls.h.

202# define GBL_DECLARE_FLAGS(F) \
203 typedef GblFlags F; \
204 enum F

◆ GBL_FORWARD_DECLARE_ENUM

#define GBL_FORWARD_DECLARE_ENUM ( E)

Definition at line 210 of file gimbal_decls.h.

210#define GBL_FORWARD_DECLARE_ENUM(E) \
211 typedef GBL_ENUM E

◆ GBL_FORWARD_DECLARE_FLAGS

#define GBL_FORWARD_DECLARE_FLAGS ( F)

Definition at line 213 of file gimbal_decls.h.

213#define GBL_FORWARD_DECLARE_FLAGS(F) \
214 typedef GBL_FLAGS F

◆ GBL_DECLARE_OPAQUE

#define GBL_DECLARE_OPAQUE ( S)

Definition at line 216 of file gimbal_decls.h.

216#define GBL_DECLARE_OPAQUE(S) \
217 struct S##_; \
218 typedef struct S##_* S

◆ GBL_PRIVATE_BEGIN

#define GBL_PRIVATE_BEGIN

Definition at line 220 of file gimbal_decls.h.

◆ GBL_PRIVATE_END

#define GBL_PRIVATE_END

Private data structure.

Definition at line 222 of file gimbal_decls.h.

◆ GBL_PRIV

#define GBL_PRIV ( a)

Definition at line 224 of file gimbal_decls.h.

◆ GBL_PRIV_REF

#define GBL_PRIV_REF ( a)

Definition at line 225 of file gimbal_decls.h.

◆ GBL_VSELF

#define GBL_VSELF

Definition at line 227 of file gimbal_decls.h.

◆ GBL_DEFINE_EMPTY_STRUCT

#define GBL_DEFINE_EMPTY_STRUCT ( S)

Definition at line 236 of file gimbal_decls.h.

236#define GBL_DEFINE_EMPTY_STRUCT(S) \
237 typedef struct S { \
238 char cppCompat; \
239 } S

◆ GBL_UNUSED_

#define GBL_UNUSED_ ( a)

Definition at line 241 of file gimbal_decls.h.

241#define GBL_UNUSED_(a) \
242 (void)(a)

◆ GBL_UNUSED

#define GBL_UNUSED ( ...)

Definition at line 244 of file gimbal_decls.h.

◆ GBL_EXPORT

#define GBL_EXPORT

Definition at line 253 of file gimbal_decls.h.

◆ GBL_DECL_VAR_TYPE

#define GBL_DECL_VAR_TYPE ( type,
... )

Definition at line 257 of file gimbal_decls.h.

257#define GBL_DECL_VAR_TYPE(type, ...) \
258 type

◆ GBL_DECL_VAR_NAME

#define GBL_DECL_VAR_NAME ( type,
name )

Definition at line 259 of file gimbal_decls.h.

259#define GBL_DECL_VAR_NAME(type, name) \
260 name

◆ GBL_DECL_VAR

#define GBL_DECL_VAR ( type,
name )

Definition at line 262 of file gimbal_decls.h.

262#define GBL_DECL_VAR(type, name) \
263 GBL_DECL_VAR_TYPE(type, name) GBL_DECL_VAR_NAME(type, name)

◆ GBL_DECL_VAR_PAIR_TYPE

#define GBL_DECL_VAR_PAIR_TYPE ( pair)

Definition at line 265 of file gimbal_decls.h.

265#define GBL_DECL_VAR_PAIR_TYPE(pair) \
266 GBL_DECL_VAR_TYPE pair

◆ GBL_DECL_VAR_PAIR_NAME

#define GBL_DECL_VAR_PAIR_NAME ( pair)

Definition at line 268 of file gimbal_decls.h.

268#define GBL_DECL_VAR_PAIR_NAME(pair) \
269 GBL_DECL_VAR_NAME pair

◆ GBL_DECL_VAR_PAIR

#define GBL_DECL_VAR_PAIR ( pair)

Definition at line 271 of file gimbal_decls.h.

271#define GBL_DECL_VAR_PAIR(pair) \
272 GBL_DECL_VAR pair

◆ GBL_ENUM_TABLE_DECL_ENUM

#define GBL_ENUM_TABLE_DECL_ENUM ( cName,
value,
name,
string )

Definition at line 277 of file gimbal_decls.h.

277#define GBL_ENUM_TABLE_DECL_ENUM(cName, value, name, string) \
278 /*! string */ \
279 cName = value,

◆ GBL_ENUM_TABLE_DECLARE

#define GBL_ENUM_TABLE_DECLARE ( table)

Definition at line 282 of file gimbal_decls.h.

282#define GBL_ENUM_TABLE_DECLARE(table) \
283 GBL_DECLARE_ENUM(GBL_META_ENUM_TYPE_PROPERTY(table, CNAME)) { \
284 GBL_MAP_TUPLES(GBL_ENUM_TABLE_DECL_ENUM, GBL_MAP_TUPLES(GBL_EVAL, GBL_META_ENUM_TUPLE_VALUE_ARRAY table)) \
285 }; \
286 GBL_ENUM_TABLE_DECLARE_STRINGIFIER(table)

◆ GBL_ENUM_TABLE_RETURN_STRING

#define GBL_ENUM_TABLE_RETURN_STRING ( cName,
value,
name,
string )

Definition at line 288 of file gimbal_decls.h.

288#define GBL_ENUM_TABLE_RETURN_STRING(cName, value, name, string) \
289 case value: return string;

◆ GBL_ENUM_TABLE_TO_STRING

#define GBL_ENUM_TABLE_TO_STRING ( table,
value )

Definition at line 291 of file gimbal_decls.h.

291#define GBL_ENUM_TABLE_TO_STRING(table, value) \
292 switch(value) { \
293 GBL_MAP_TUPLES(GBL_ENUM_TABLE_RETURN_STRING, GBL_MAP_TUPLES(GBL_EVAL, GBL_META_ENUM_TUPLE_VALUE_ARRAY table)) \
294 }

◆ GBL_ENUM_TABLE_DECLARE_STRINGIFIER

#define GBL_ENUM_TABLE_DECLARE_STRINGIFIER ( table)

Definition at line 296 of file gimbal_decls.h.

296#define GBL_ENUM_TABLE_DECLARE_STRINGIFIER(table) \
297 GBL_INLINE GBL_CONSTEXPR const char* GBL_EVAL(GBL_META_ENUM_TYPE_PROPERTY(table, STRINGIFIER))(GBL_EVAL(GBL_META_ENUM_TYPE_PROPERTY(table, CNAME)) value) { \
298 GBL_EVAL(GBL_ENUM_TABLE_TO_STRING(table, value)); \
299 return ""; \
300 }

◆ GBL_META_ENUM_TUPLE

#define GBL_META_ENUM_TUPLE ( tuple)

Definition at line 302 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_TYPE_INFO

#define GBL_META_ENUM_TUPLE_TYPE_INFO ( typeInfo,
valueTable )

Definition at line 304 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_CNAME

#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_CNAME ( cName,
name,
description,
stringifier )

Definition at line 306 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_NAME

#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_NAME ( cName,
name,
description,
stringifier )

Definition at line 307 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_DESCRIPTION

#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_DESCRIPTION ( cName,
name,
description,
stringifier )

Definition at line 308 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_STRINGIFIER

#define GBL_META_ENUM_TUPLE_TYPE_INFO_PROPERTY_STRINGIFIER ( cName,
name,
description,
stringifier )

Definition at line 309 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_VALUE_ARRAY

#define GBL_META_ENUM_TUPLE_VALUE_ARRAY ( typeInfo,
valueArray )

Definition at line 311 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_VALUE_ARRAY_TUPLE_VALUE

#define GBL_META_ENUM_TUPLE_VALUE_ARRAY_TUPLE_VALUE ( ...)

Definition at line 313 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_VALUE_PROPERTY_CNAME

#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_CNAME ( cName,
value,
name,
string )

Definition at line 315 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_VALUE_PROPERTY_NAME

#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_NAME ( cName,
value,
name,
string )

Definition at line 316 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_VALUE_PROPERTY_VALUE

#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_VALUE ( cName,
value,
name,
string )

Definition at line 317 of file gimbal_decls.h.

◆ GBL_META_ENUM_TUPLE_VALUE_PROPERTY_STRING

#define GBL_META_ENUM_TUPLE_VALUE_PROPERTY_STRING ( cName,
value,
name,
string )

Definition at line 318 of file gimbal_decls.h.

◆ GBL_META_ENUM_TYPE_PROPERTY

#define GBL_META_ENUM_TYPE_PROPERTY ( table,
postfix )

Definition at line 320 of file gimbal_decls.h.