zemu 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. checksums.yaml +7 -0
  2. data/lib/zemu/config.rb +312 -0
  3. data/lib/zemu/instance.rb +179 -0
  4. data/lib/zemu.rb +172 -0
  5. data/src/debug.c +118 -0
  6. data/src/debug.h +30 -0
  7. data/src/external/Z/API/Z/ABIs/generic/allocator.h +36 -0
  8. data/src/external/Z/API/Z/ABIs/generic/cipher.h +47 -0
  9. data/src/external/Z/API/Z/ABIs/generic/data codec.h +33 -0
  10. data/src/external/Z/API/Z/ABIs/generic/emulation.h +103 -0
  11. data/src/external/Z/API/Z/ABIs/generic/hash function.h +33 -0
  12. data/src/external/Z/API/Z/ABIs/generic/module.h +33 -0
  13. data/src/external/Z/API/Z/ABIs/generic/wave codec.h +40 -0
  14. data/src/external/Z/API/Z/classes/base/InitializerList.hpp +34 -0
  15. data/src/external/Z/API/Z/classes/base/OpaqueFunctionPointer.hpp +26 -0
  16. data/src/external/Z/API/Z/classes/base/OpaqueMemberFunctionPointer.hpp +26 -0
  17. data/src/external/Z/API/Z/classes/base/Pair.hpp +46 -0
  18. data/src/external/Z/API/Z/classes/base/Range.hpp +111 -0
  19. data/src/external/Z/API/Z/classes/base/SizedString.hpp +66 -0
  20. data/src/external/Z/API/Z/classes/base/Status.hpp +89 -0
  21. data/src/external/Z/API/Z/classes/base/Symbol.hpp +39 -0
  22. data/src/external/Z/API/Z/classes/base/Tuple.hpp +111 -0
  23. data/src/external/Z/API/Z/classes/base/Value2D.hpp +389 -0
  24. data/src/external/Z/API/Z/classes/base/Value3D.hpp +368 -0
  25. data/src/external/Z/API/Z/classes/buffering/RingBuffer.hpp +93 -0
  26. data/src/external/Z/API/Z/classes/buffering/TripleBuffer.hpp +68 -0
  27. data/src/external/Z/API/Z/classes/functional/Functor.hpp +265 -0
  28. data/src/external/Z/API/Z/classes/functional/MemberFunction.hpp +98 -0
  29. data/src/external/Z/API/Z/classes/functional/ObjectMemberFunction.hpp +172 -0
  30. data/src/external/Z/API/Z/classes/functional/ObjectSelector.hpp +219 -0
  31. data/src/external/Z/API/Z/classes/functional/Selector.hpp +146 -0
  32. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABB.hpp +81 -0
  33. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABR.hpp +685 -0
  34. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Box.hpp +219 -0
  35. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Circle.hpp +80 -0
  36. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp +93 -0
  37. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp +80 -0
  38. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp +675 -0
  39. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp +0 -0
  40. data/src/external/Z/API/Z/classes/memory/Shared.hpp +90 -0
  41. data/src/external/Z/API/Z/constants/base.h +35 -0
  42. data/src/external/Z/API/Z/constants/chemical elements.h +6385 -0
  43. data/src/external/Z/API/Z/constants/numbers.h +963 -0
  44. data/src/external/Z/API/Z/constants/version.h +15 -0
  45. data/src/external/Z/API/Z/formats/character set/ASCII.h +158 -0
  46. data/src/external/Z/API/Z/formats/character set/DOS CP437.h +159 -0
  47. data/src/external/Z/API/Z/formats/character set/DOS CP737.h +159 -0
  48. data/src/external/Z/API/Z/formats/character set/DOS CP775.h +159 -0
  49. data/src/external/Z/API/Z/formats/character set/DOS CP850.h +159 -0
  50. data/src/external/Z/API/Z/formats/character set/DOS CP852.h +159 -0
  51. data/src/external/Z/API/Z/formats/character set/DOS CP855.h +159 -0
  52. data/src/external/Z/API/Z/formats/character set/DOS CP857.h +159 -0
  53. data/src/external/Z/API/Z/formats/character set/DOS CP858.h +159 -0
  54. data/src/external/Z/API/Z/formats/character set/DOS CP860.h +159 -0
  55. data/src/external/Z/API/Z/formats/character set/DOS CP861.h +159 -0
  56. data/src/external/Z/API/Z/formats/character set/DOS CP862.h +159 -0
  57. data/src/external/Z/API/Z/formats/character set/DOS CP863.h +159 -0
  58. data/src/external/Z/API/Z/formats/character set/DOS CP864.h +159 -0
  59. data/src/external/Z/API/Z/formats/character set/DOS CP865.h +159 -0
  60. data/src/external/Z/API/Z/formats/character set/DOS CP866.h +159 -0
  61. data/src/external/Z/API/Z/formats/character set/DOS CP869.h +159 -0
  62. data/src/external/Z/API/Z/formats/character set/DOS CP872.h +159 -0
  63. data/src/external/Z/API/Z/formats/character set/DOS CP874.h +159 -0
  64. data/src/external/Z/API/Z/formats/character set/Unicode.h +30119 -0
  65. data/src/external/Z/API/Z/formats/data model/I16LP32.h +19 -0
  66. data/src/external/Z/API/Z/formats/data model/ILP32.h +19 -0
  67. data/src/external/Z/API/Z/formats/data model/ILP64.h +19 -0
  68. data/src/external/Z/API/Z/formats/data model/IP16L32.h +19 -0
  69. data/src/external/Z/API/Z/formats/data model/LLP64.h +19 -0
  70. data/src/external/Z/API/Z/formats/data model/LP32.h +19 -0
  71. data/src/external/Z/API/Z/formats/data model/LP64.h +19 -0
  72. data/src/external/Z/API/Z/formats/data model/SILP64.h +19 -0
  73. data/src/external/Z/API/Z/formats/file system/FAT12.h +61 -0
  74. data/src/external/Z/API/Z/formats/floating-point/IEEE 754.h +141 -0
  75. data/src/external/Z/API/Z/formats/floating-point/x87.h +74 -0
  76. data/src/external/Z/API/Z/formats/image/ICNS.h +39 -0
  77. data/src/external/Z/API/Z/formats/keymap/Mac OS.h +284 -0
  78. data/src/external/Z/API/Z/formats/keymap/Z.h +141 -0
  79. data/src/external/Z/API/Z/formats/multimedia/Creative Voice.h +106 -0
  80. data/src/external/Z/API/Z/formats/multimedia/Microsoft Wave.h +49 -0
  81. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h +44 -0
  82. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h +54 -0
  83. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h +33 -0
  84. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h +46 -0
  85. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h +34 -0
  86. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h +117 -0
  87. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h +37 -0
  88. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h +62 -0
  89. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h +117 -0
  90. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h +56 -0
  91. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h +70 -0
  92. data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/UNIF.h +26 -0
  93. data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/iNES.h +76 -0
  94. data/src/external/Z/API/Z/formats/storage medium image/audio/TAP.h +25 -0
  95. data/src/external/Z/API/Z/formats/storage medium image/audio/TZX.h +1185 -0
  96. data/src/external/Z/API/Z/formats/storage medium image/audio/Warajevo TAP.h +32 -0
  97. data/src/external/Z/API/Z/formats/storage medium image/floppy disk/FDI.h +45 -0
  98. data/src/external/Z/API/Z/functions/base/Z2D.h +583 -0
  99. data/src/external/Z/API/Z/functions/base/Z3D.h +712 -0
  100. data/src/external/Z/API/Z/functions/base/ZRange.h +137 -0
  101. data/src/external/Z/API/Z/functions/base/all.h +16 -0
  102. data/src/external/Z/API/Z/functions/base/casting.hpp +37 -0
  103. data/src/external/Z/API/Z/functions/base/character.h +38 -0
  104. data/src/external/Z/API/Z/functions/base/constructors.h +326 -0
  105. data/src/external/Z/API/Z/functions/base/structure.hpp +26 -0
  106. data/src/external/Z/API/Z/functions/base/type.hpp +60 -0
  107. data/src/external/Z/API/Z/functions/base/value.h +1901 -0
  108. data/src/external/Z/API/Z/functions/base/value.hpp +112 -0
  109. data/src/external/Z/API/Z/functions/buffering/ZRingBuffer.h +85 -0
  110. data/src/external/Z/API/Z/functions/buffering/ZTripleBuffer.h +65 -0
  111. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h +179 -0
  112. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h +168 -0
  113. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABB.h +361 -0
  114. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABR.h +1081 -0
  115. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZBox.h +340 -0
  116. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZCircle.h +142 -0
  117. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h +1267 -0
  118. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZSphere.h +156 -0
  119. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/all.h +18 -0
  120. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/constructors.h +620 -0
  121. data/src/external/Z/API/Z/functions/time/date.h +29 -0
  122. data/src/external/Z/API/Z/hardware/CPU/architecture/6502.h +90 -0
  123. data/src/external/Z/API/Z/hardware/CPU/architecture/Z80.h +245 -0
  124. data/src/external/Z/API/Z/hardware/CPU/architecture/i4004.h +37 -0
  125. data/src/external/Z/API/Z/hardware/PSG/General Instrument/AY-3-891x.h +180 -0
  126. data/src/external/Z/API/Z/hardware/VDC/Ricoh/RP2C0x.h +625 -0
  127. data/src/external/Z/API/Z/hardware/bus/AGP.h +24 -0
  128. data/src/external/Z/API/Z/hardware/bus/USB.h +510 -0
  129. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h +47 -0
  130. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h +13 -0
  131. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h +13 -0
  132. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h +158 -0
  133. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h +82 -0
  134. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h +13 -0
  135. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h +13 -0
  136. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h +13 -0
  137. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h +109 -0
  138. data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h +29 -0
  139. data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h +29 -0
  140. data/src/external/Z/API/Z/hardware/machine/platform/computer/ZX Spectrum.h +405 -0
  141. data/src/external/Z/API/Z/hardware/machine/platform/console/Game Boy.h +49 -0
  142. data/src/external/Z/API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h +350 -0
  143. data/src/external/Z/API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h +238 -0
  144. data/src/external/Z/API/Z/inspection/C/completion.h +178 -0
  145. data/src/external/Z/API/Z/inspection/C/modules/C11.h +41 -0
  146. data/src/external/Z/API/Z/inspection/C/modules/C18.h +13 -0
  147. data/src/external/Z/API/Z/inspection/C/modules/C89.h +19 -0
  148. data/src/external/Z/API/Z/inspection/C/modules/C90.h +13 -0
  149. data/src/external/Z/API/Z/inspection/C/modules/C94.h +15 -0
  150. data/src/external/Z/API/Z/inspection/C/modules/C99.h +29 -0
  151. data/src/external/Z/API/Z/inspection/C/modules/KR C.h +19 -0
  152. data/src/external/Z/API/Z/inspection/C++/completion.h +512 -0
  153. data/src/external/Z/API/Z/inspection/C++/modules/C++03.h +15 -0
  154. data/src/external/Z/API/Z/inspection/C++/modules/C++11.h +80 -0
  155. data/src/external/Z/API/Z/inspection/C++/modules/C++14.h +26 -0
  156. data/src/external/Z/API/Z/inspection/C++/modules/C++17.h +55 -0
  157. data/src/external/Z/API/Z/inspection/C++/modules/C++85.h +11 -0
  158. data/src/external/Z/API/Z/inspection/C++/modules/C++89.h +13 -0
  159. data/src/external/Z/API/Z/inspection/C++/modules/C++98.h +17 -0
  160. data/src/external/Z/API/Z/inspection/C++.h +78 -0
  161. data/src/external/Z/API/Z/inspection/C.h +79 -0
  162. data/src/external/Z/API/Z/inspection/CPU/completion.h +56 -0
  163. data/src/external/Z/API/Z/inspection/CPU/detection.h +714 -0
  164. data/src/external/Z/API/Z/inspection/CPU/modules/6502.h +25 -0
  165. data/src/external/Z/API/Z/inspection/CPU/modules/AArch32.h +32 -0
  166. data/src/external/Z/API/Z/inspection/CPU/modules/AArch64.h +32 -0
  167. data/src/external/Z/API/Z/inspection/CPU/modules/Z80.h +26 -0
  168. data/src/external/Z/API/Z/inspection/CPU/modules/x86-32.h +31 -0
  169. data/src/external/Z/API/Z/inspection/CPU/modules/x86-64.h +312 -0
  170. data/src/external/Z/API/Z/inspection/CPU.h +209 -0
  171. data/src/external/Z/API/Z/inspection/OS/completion.h +36 -0
  172. data/src/external/Z/API/Z/inspection/OS/detection.h +768 -0
  173. data/src/external/Z/API/Z/inspection/OS/modules/Linux.h +22 -0
  174. data/src/external/Z/API/Z/inspection/OS/modules/MS-DOS.h +16 -0
  175. data/src/external/Z/API/Z/inspection/OS/modules/Mac OS X.h +23 -0
  176. data/src/external/Z/API/Z/inspection/OS/modules/Windows.h +19 -0
  177. data/src/external/Z/API/Z/inspection/OS/modules/iPhone OS.h +23 -0
  178. data/src/external/Z/API/Z/inspection/OS.h +236 -0
  179. data/src/external/Z/API/Z/inspection/Objective-C/completion.h +8 -0
  180. data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v1.0.h +11 -0
  181. data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v2.0.h +15 -0
  182. data/src/external/Z/API/Z/inspection/Objective-C.h +51 -0
  183. data/src/external/Z/API/Z/inspection/Z.h +19 -0
  184. data/src/external/Z/API/Z/inspection/build.h +22 -0
  185. data/src/external/Z/API/Z/inspection/character set.h +66 -0
  186. data/src/external/Z/API/Z/inspection/compiler/completion.h +2885 -0
  187. data/src/external/Z/API/Z/inspection/compiler/modules/Apple LLVM.h +26 -0
  188. data/src/external/Z/API/Z/inspection/compiler/modules/Clang.h +1664 -0
  189. data/src/external/Z/API/Z/inspection/compiler/modules/GCC.h +1366 -0
  190. data/src/external/Z/API/Z/inspection/compiler/modules/SCCZ80.h +473 -0
  191. data/src/external/Z/API/Z/inspection/compiler/modules/Visual C++.h +606 -0
  192. data/src/external/Z/API/Z/inspection/compiler/modules/cc65.h +529 -0
  193. data/src/external/Z/API/Z/inspection/compiler/modules/generic.h +13 -0
  194. data/src/external/Z/API/Z/inspection/compiler/modules/template.h +650 -0
  195. data/src/external/Z/API/Z/inspection/compiler.h +299 -0
  196. data/src/external/Z/API/Z/inspection/data model/completion.h +128 -0
  197. data/src/external/Z/API/Z/inspection/data model/deduction.h +9 -0
  198. data/src/external/Z/API/Z/inspection/data model/detection.h +45 -0
  199. data/src/external/Z/API/Z/inspection/data model.h +362 -0
  200. data/src/external/Z/API/Z/inspection/floating-point/completion.h +50 -0
  201. data/src/external/Z/API/Z/inspection/floating-point.h +324 -0
  202. data/src/external/Z/API/Z/inspection/language.h +163 -0
  203. data/src/external/Z/API/Z/inspection/platform/detection.h +9 -0
  204. data/src/external/Z/API/Z/inspection/platform.h +29 -0
  205. data/src/external/Z/API/Z/keys/C++.h +27 -0
  206. data/src/external/Z/API/Z/keys/C.h +29 -0
  207. data/src/external/Z/API/Z/keys/CPU.h +80 -0
  208. data/src/external/Z/API/Z/keys/OS.h +182 -0
  209. data/src/external/Z/API/Z/keys/Objective-C.h +17 -0
  210. data/src/external/Z/API/Z/keys/chemistry.h +26 -0
  211. data/src/external/Z/API/Z/keys/compiler.h +178 -0
  212. data/src/external/Z/API/Z/keys/data model.h +32 -0
  213. data/src/external/Z/API/Z/keys/endianness.h +24 -0
  214. data/src/external/Z/API/Z/keys/language.h +21 -0
  215. data/src/external/Z/API/Z/keys/layout.h +20 -0
  216. data/src/external/Z/API/Z/keys/mathematics/geometry.h +29 -0
  217. data/src/external/Z/API/Z/keys/mathematics/number.h +21 -0
  218. data/src/external/Z/API/Z/keys/order.h +18 -0
  219. data/src/external/Z/API/Z/keys/platform.h +87 -0
  220. data/src/external/Z/API/Z/keys/program.h +39 -0
  221. data/src/external/Z/API/Z/keys/science/chemical elements.h +200 -0
  222. data/src/external/Z/API/Z/keys/science/electricity.h +18 -0
  223. data/src/external/Z/API/Z/keys/science/magnetism.h +19 -0
  224. data/src/external/Z/API/Z/keys/status.h +69 -0
  225. data/src/external/Z/API/Z/keys/text.h +27 -0
  226. data/src/external/Z/API/Z/keys/value.h +88 -0
  227. data/src/external/Z/API/Z/macros/arguments.h +25 -0
  228. data/src/external/Z/API/Z/macros/casting.h +22 -0
  229. data/src/external/Z/API/Z/macros/character.h +159 -0
  230. data/src/external/Z/API/Z/macros/date.h +14 -0
  231. data/src/external/Z/API/Z/macros/key.h +20 -0
  232. data/src/external/Z/API/Z/macros/language.h +126 -0
  233. data/src/external/Z/API/Z/macros/language.hpp +81 -0
  234. data/src/external/Z/API/Z/macros/members.h +86 -0
  235. data/src/external/Z/API/Z/macros/pasting.h +308 -0
  236. data/src/external/Z/API/Z/macros/pointer.h +33 -0
  237. data/src/external/Z/API/Z/macros/repetition.h +283 -0
  238. data/src/external/Z/API/Z/macros/structure.h +104 -0
  239. data/src/external/Z/API/Z/macros/templating.h +407 -0
  240. data/src/external/Z/API/Z/macros/tokens.h +14 -0
  241. data/src/external/Z/API/Z/macros/type enumeration.h +43 -0
  242. data/src/external/Z/API/Z/macros/type selection.hpp +76 -0
  243. data/src/external/Z/API/Z/macros/value.h +489 -0
  244. data/src/external/Z/API/Z/macros/variadic pasting.h +21 -0
  245. data/src/external/Z/API/Z/macros/variadic selection.h +56 -0
  246. data/src/external/Z/API/Z/macros/variadic.h +46 -0
  247. data/src/external/Z/API/Z/macros/version.h +17 -0
  248. data/src/external/Z/API/Z/network/3/IP.h +36 -0
  249. data/src/external/Z/API/Z/network/4/TCP.h +24 -0
  250. data/src/external/Z/API/Z/network/4/UDP.h +26 -0
  251. data/src/external/Z/API/Z/network/7/ED2K.h +104 -0
  252. data/src/external/Z/API/Z/network/7/HTTP.h +100 -0
  253. data/src/external/Z/API/Z/traits/SelectType.hpp +71 -0
  254. data/src/external/Z/API/Z/traits/TernaryType.hpp +20 -0
  255. data/src/external/Z/API/Z/traits/Type.hpp +4516 -0
  256. data/src/external/Z/API/Z/traits/TypeCount.hpp +52 -0
  257. data/src/external/Z/API/Z/traits/TypeList.hpp +376 -0
  258. data/src/external/Z/API/Z/traits/base.hpp +19 -0
  259. data/src/external/Z/API/Z/traits/filtering.hpp +30 -0
  260. data/src/external/Z/API/Z/traits/mathematics.hpp +48 -0
  261. data/src/external/Z/API/Z/types/arguments.h +19 -0
  262. data/src/external/Z/API/Z/types/base.h +1655 -0
  263. data/src/external/Z/API/Z/types/base.hpp +169 -0
  264. data/src/external/Z/API/Z/types/buffering.h +27 -0
  265. data/src/external/Z/API/Z/types/mathematics.h +135 -0
  266. data/src/external/Z/API/Z/types/time.h +23 -0
  267. data/src/external/Z/COPYING.LESSER +165 -0
  268. data/src/external/Z/development/Qt Creator/Z.pro +253 -0
  269. data/src/external/Z/distribution/CocoaPods/Zeta.podspec +18 -0
  270. data/src/external/Z/distribution/Gentoo Linux/Zeta-0.1.ebuild +22 -0
  271. data/src/external/Z/distribution/Gentoo Linux/metadata.xml +8 -0
  272. data/src/external/Z/distribution/Homebrew/Zeta.rb +11 -0
  273. data/src/external/z80/API/emulation/CPU/Z80.h +201 -0
  274. data/src/external/z80/README.md +229 -0
  275. data/src/external/z80/building/premake4.lua +33 -0
  276. data/src/external/z80/development/Xcode/Z80.xcodeproj/project.pbxproj +520 -0
  277. data/src/external/z80/sources/Z80.c +1660 -0
  278. data/src/interrupt.c +6 -0
  279. data/src/interrupt.h +3 -0
  280. data/src/io.c.erb +115 -0
  281. data/src/io.h.erb +18 -0
  282. data/src/main.c +69 -0
  283. data/src/memory.c.erb +43 -0
  284. data/src/memory.h.erb +9 -0
  285. metadata +329 -0
@@ -0,0 +1,33 @@
1
+ /* Z Kit - macros/pointer.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_macros_pointer_H_
9
+ #define _Z_macros_pointer_H_
10
+
11
+ #include <Z/types/base.h>
12
+
13
+ /* MARK: - Logic operations */
14
+
15
+ #define Z_POINTER_AND(pointer, value) ((void *)( (zuintptr)pointer & (value)));
16
+ #define Z_POINTER_OR( pointer, value) ((void *)( (zuintptr)pointer | (value)));
17
+ #define Z_POINTER_XOR(pointer, value) ((void *)( (zuintptr)pointer ^ (value)));
18
+ #define Z_POINTER_NOT(pointer) ((void *)(~(zuintptr)pointer));
19
+
20
+ /* MARK: - Pointer from base + index */
21
+
22
+ #define Z_BIP(type, base, index) (((type)(base)) + (index))
23
+
24
+ /* MARK: - Pointer from base + offset */
25
+
26
+ #define Z_BOP(type, base, offset) ((type)(((zuint8 *)(base)) + (offset)))
27
+
28
+ /* MARK: - Index from base calculations */
29
+
30
+ #define Z_INDEX(type, base, pointer) ((zusize)(((zuintptr)pointer - (zuintptr)base) / sizeof(type)))
31
+ #define Z_BLOCK_INDEX(base, pointer, block_size) ((zusize)(((zuintptr)pointer - (zuintptr)base) / block_size))
32
+
33
+ #endif /* _Z_macros_pointer_H_ */
@@ -0,0 +1,283 @@
1
+ /* Z Kit - macros/repetition.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_macros_repetition_H_
9
+ #define _Z_macros_repetition_H_
10
+
11
+ #define Z_FOR_0_CALL_WITH_INDEX( f, _)
12
+ #define Z_FOR_1_CALL_WITH_INDEX( f, _) f(0)
13
+ #define Z_FOR_2_CALL_WITH_INDEX( f, _) f(0) _ f(1)
14
+ #define Z_FOR_3_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2)
15
+ #define Z_FOR_4_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2) _ f(3)
16
+ #define Z_FOR_5_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4)
17
+ #define Z_FOR_6_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5)
18
+ #define Z_FOR_7_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6)
19
+ #define Z_FOR_8_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7)
20
+ #define Z_FOR_9_CALL_WITH_INDEX( f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8)
21
+ #define Z_FOR_10_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9)
22
+ #define Z_FOR_11_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10)
23
+ #define Z_FOR_12_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11)
24
+ #define Z_FOR_13_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12)
25
+ #define Z_FOR_14_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13)
26
+ #define Z_FOR_15_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14)
27
+ #define Z_FOR_16_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15)
28
+ #define Z_FOR_17_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16)
29
+ #define Z_FOR_18_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17)
30
+ #define Z_FOR_19_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18)
31
+ #define Z_FOR_20_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19)
32
+ #define Z_FOR_21_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20)
33
+ #define Z_FOR_22_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21)
34
+ #define Z_FOR_23_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22)
35
+ #define Z_FOR_24_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23)
36
+ #define Z_FOR_25_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24)
37
+ #define Z_FOR_26_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25)
38
+ #define Z_FOR_27_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26)
39
+ #define Z_FOR_28_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27)
40
+ #define Z_FOR_29_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28)
41
+ #define Z_FOR_30_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29)
42
+ #define Z_FOR_31_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29) _ f(30)
43
+ #define Z_FOR_32_CALL_WITH_INDEX(f, _) f(0) _ f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29) _ f(30) _ f(31)
44
+
45
+ #define Z_FOR_0_CALL_WITH_TIME( f, _)
46
+ #define Z_FOR_1_CALL_WITH_TIME( f, _) f(1)
47
+ #define Z_FOR_2_CALL_WITH_TIME( f, _) f(1) _ f(2)
48
+ #define Z_FOR_3_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3)
49
+ #define Z_FOR_4_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3) _ f(4)
50
+ #define Z_FOR_5_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5)
51
+ #define Z_FOR_6_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6)
52
+ #define Z_FOR_7_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7)
53
+ #define Z_FOR_8_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8)
54
+ #define Z_FOR_9_CALL_WITH_TIME( f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9)
55
+ #define Z_FOR_10_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10)
56
+ #define Z_FOR_11_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11)
57
+ #define Z_FOR_12_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12)
58
+ #define Z_FOR_13_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13)
59
+ #define Z_FOR_14_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14)
60
+ #define Z_FOR_15_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15)
61
+ #define Z_FOR_16_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16)
62
+ #define Z_FOR_17_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17)
63
+ #define Z_FOR_18_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18)
64
+ #define Z_FOR_19_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19)
65
+ #define Z_FOR_20_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20)
66
+ #define Z_FOR_21_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21)
67
+ #define Z_FOR_22_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22)
68
+ #define Z_FOR_23_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23)
69
+ #define Z_FOR_24_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24)
70
+ #define Z_FOR_25_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25)
71
+ #define Z_FOR_26_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26)
72
+ #define Z_FOR_27_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27)
73
+ #define Z_FOR_28_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28)
74
+ #define Z_FOR_29_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29)
75
+ #define Z_FOR_30_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29) _ f(30)
76
+ #define Z_FOR_31_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29) _ f(30) _ f(31)
77
+ #define Z_FOR_32_CALL_WITH_TIME(f, _) f(1) _ f(2) _ f(3) _ f(4) _ f(5) _ f(6) _ f(7) _ f(8) _ f(9) _ f(10) _ f(11) _ f(12) _ f(13) _ f(14) _ f(15) _ f(16) _ f(17) _ f(18) _ f(19) _ f(20) _ f(21) _ f(22) _ f(23) _ f(24) _ f(25) _ f(26) _ f(27) _ f(28) _ f(29) _ f(30) _ f(31) _ f(32)
78
+
79
+ #define Z_FOR_0_CALL_WITH_TOKEN_AND_INDEX( f, t, _)
80
+ #define Z_FOR_1_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0)
81
+ #define Z_FOR_2_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1)
82
+ #define Z_FOR_3_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2)
83
+ #define Z_FOR_4_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3)
84
+ #define Z_FOR_5_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4)
85
+ #define Z_FOR_6_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5)
86
+ #define Z_FOR_7_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6)
87
+ #define Z_FOR_8_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7)
88
+ #define Z_FOR_9_CALL_WITH_TOKEN_AND_INDEX( f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8)
89
+ #define Z_FOR_10_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9)
90
+ #define Z_FOR_11_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10)
91
+ #define Z_FOR_12_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11)
92
+ #define Z_FOR_13_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12)
93
+ #define Z_FOR_14_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13)
94
+ #define Z_FOR_15_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14)
95
+ #define Z_FOR_16_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15)
96
+ #define Z_FOR_17_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16)
97
+ #define Z_FOR_18_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17)
98
+ #define Z_FOR_19_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18)
99
+ #define Z_FOR_20_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19)
100
+ #define Z_FOR_21_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20)
101
+ #define Z_FOR_22_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21)
102
+ #define Z_FOR_23_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22)
103
+ #define Z_FOR_24_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23)
104
+ #define Z_FOR_25_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24)
105
+ #define Z_FOR_26_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25)
106
+ #define Z_FOR_27_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26)
107
+ #define Z_FOR_28_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27)
108
+ #define Z_FOR_29_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28)
109
+ #define Z_FOR_30_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29)
110
+ #define Z_FOR_31_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29) _ f(t, 30)
111
+ #define Z_FOR_32_CALL_WITH_TOKEN_AND_INDEX(f, t, _) f(t, 0) _ f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29) _ f(t, 30) _ f(t, 31)
112
+
113
+ #define Z_FOR_0_CALL_WITH_TOKEN_AND_TIME( f, t, _)
114
+ #define Z_FOR_1_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1)
115
+ #define Z_FOR_2_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2)
116
+ #define Z_FOR_3_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3)
117
+ #define Z_FOR_4_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4)
118
+ #define Z_FOR_5_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5)
119
+ #define Z_FOR_6_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6)
120
+ #define Z_FOR_7_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7)
121
+ #define Z_FOR_8_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8)
122
+ #define Z_FOR_9_CALL_WITH_TOKEN_AND_TIME( f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9)
123
+ #define Z_FOR_10_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10)
124
+ #define Z_FOR_11_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11)
125
+ #define Z_FOR_12_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12)
126
+ #define Z_FOR_13_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13)
127
+ #define Z_FOR_14_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14)
128
+ #define Z_FOR_15_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15)
129
+ #define Z_FOR_16_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16)
130
+ #define Z_FOR_17_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17)
131
+ #define Z_FOR_18_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18)
132
+ #define Z_FOR_19_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19)
133
+ #define Z_FOR_20_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20)
134
+ #define Z_FOR_21_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21)
135
+ #define Z_FOR_22_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22)
136
+ #define Z_FOR_23_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23)
137
+ #define Z_FOR_24_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24)
138
+ #define Z_FOR_25_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25)
139
+ #define Z_FOR_26_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26)
140
+ #define Z_FOR_27_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27)
141
+ #define Z_FOR_28_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28)
142
+ #define Z_FOR_29_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29)
143
+ #define Z_FOR_30_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29) _ f(t, 30)
144
+ #define Z_FOR_31_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29) _ f(t, 30) _ f(t, 31)
145
+ #define Z_FOR_32_CALL_WITH_TOKEN_AND_TIME(f, t, _) f(t, 1) _ f(t, 2) _ f(t, 3) _ f(t, 4) _ f(t, 5) _ f(t, 6) _ f(t, 7) _ f(t, 8) _ f(t, 9) _ f(t, 10) _ f(t, 11) _ f(t, 12) _ f(t, 13) _ f(t, 14) _ f(t, 15) _ f(t, 16) _ f(t, 17) _ f(t, 18) _ f(t, 19) _ f(t, 20) _ f(t, 21) _ f(t, 22) _ f(t, 23) _ f(t, 24) _ f(t, 25) _ f(t, 26) _ f(t, 27) _ f(t, 28) _ f(t, 29) _ f(t, 30) _ f(t, 31) _ f(t, 32)
146
+
147
+ #define Z_FOR_0_APPEND_INDEX( p, _)
148
+ #define Z_FOR_1_APPEND_INDEX( p, _) p##0
149
+ #define Z_FOR_2_APPEND_INDEX( p, _) p##0 _ p##1
150
+ #define Z_FOR_3_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2
151
+ #define Z_FOR_4_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2 _ p##3
152
+ #define Z_FOR_5_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4
153
+ #define Z_FOR_6_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5
154
+ #define Z_FOR_7_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6
155
+ #define Z_FOR_8_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7
156
+ #define Z_FOR_9_APPEND_INDEX( p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8
157
+ #define Z_FOR_10_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9
158
+ #define Z_FOR_11_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10
159
+ #define Z_FOR_12_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11
160
+ #define Z_FOR_13_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12
161
+ #define Z_FOR_14_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13
162
+ #define Z_FOR_15_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14
163
+ #define Z_FOR_16_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15
164
+ #define Z_FOR_17_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16
165
+ #define Z_FOR_18_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17
166
+ #define Z_FOR_19_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18
167
+ #define Z_FOR_20_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19
168
+ #define Z_FOR_21_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20
169
+ #define Z_FOR_22_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21
170
+ #define Z_FOR_23_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22
171
+ #define Z_FOR_24_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23
172
+ #define Z_FOR_25_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24
173
+ #define Z_FOR_26_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25
174
+ #define Z_FOR_27_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26
175
+ #define Z_FOR_28_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27
176
+ #define Z_FOR_29_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28
177
+ #define Z_FOR_30_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29
178
+ #define Z_FOR_31_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29 _ p##30
179
+ #define Z_FOR_32_APPEND_INDEX(p, _) p##0 _ p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29 _ p##30 _ p##31
180
+
181
+ #define Z_FOR_0_APPEND_TIME( p, _)
182
+ #define Z_FOR_1_APPEND_TIME( p, _) p##1
183
+ #define Z_FOR_2_APPEND_TIME( p, _) p##1 _ p##2
184
+ #define Z_FOR_3_APPEND_TIME( p, _) p##1 _ p##2 _ p##3
185
+ #define Z_FOR_4_APPEND_TIME( p, _) p##1 _ p##2 _ p##3 _ p##4
186
+ #define Z_FOR_5_APPEND_TIME( p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5
187
+ #define Z_FOR_6_APPEND_TIME( p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6
188
+ #define Z_FOR_7_APPEND_TIME( p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7
189
+ #define Z_FOR_8_APPEND_TIME( p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8
190
+ #define Z_FOR_9_APPEND_TIME( p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9
191
+ #define Z_FOR_10_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10
192
+ #define Z_FOR_11_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11
193
+ #define Z_FOR_12_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12
194
+ #define Z_FOR_13_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13
195
+ #define Z_FOR_14_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14
196
+ #define Z_FOR_15_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15
197
+ #define Z_FOR_16_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16
198
+ #define Z_FOR_17_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17
199
+ #define Z_FOR_18_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18
200
+ #define Z_FOR_19_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19
201
+ #define Z_FOR_20_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20
202
+ #define Z_FOR_21_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21
203
+ #define Z_FOR_22_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22
204
+ #define Z_FOR_23_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23
205
+ #define Z_FOR_24_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24
206
+ #define Z_FOR_25_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25
207
+ #define Z_FOR_26_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26
208
+ #define Z_FOR_27_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27
209
+ #define Z_FOR_28_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28
210
+ #define Z_FOR_29_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29
211
+ #define Z_FOR_30_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29 _ p##30
212
+ #define Z_FOR_31_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29 _ p##30 _ p##31
213
+ #define Z_FOR_32_APPEND_TIME(p, _) p##1 _ p##2 _ p##3 _ p##4 _ p##5 _ p##6 _ p##7 _ p##8 _ p##9 _ p##10 _ p##11 _ p##12 _ p##13 _ p##14 _ p##15 _ p##16 _ p##17 _ p##18 _ p##19 _ p##20 _ p##21 _ p##22 _ p##23 _ p##24 _ p##25 _ p##26 _ p##27 _ p##28 _ p##29 _ p##30 _ p##31 _ p##32
214
+
215
+ #define Z_FOR_0_INSERT_INDEX( p, s, _)
216
+ #define Z_FOR_1_INSERT_INDEX( p, s, _) p##0##s
217
+ #define Z_FOR_2_INSERT_INDEX( p, s, _) p##0##s _ p##1##s
218
+ #define Z_FOR_3_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s
219
+ #define Z_FOR_4_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s
220
+ #define Z_FOR_5_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s
221
+ #define Z_FOR_6_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s
222
+ #define Z_FOR_7_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s
223
+ #define Z_FOR_8_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s
224
+ #define Z_FOR_9_INSERT_INDEX( p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s
225
+ #define Z_FOR_10_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s
226
+ #define Z_FOR_11_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s
227
+ #define Z_FOR_12_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s
228
+ #define Z_FOR_13_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s
229
+ #define Z_FOR_14_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s
230
+ #define Z_FOR_15_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s
231
+ #define Z_FOR_16_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s
232
+ #define Z_FOR_17_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s
233
+ #define Z_FOR_18_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s
234
+ #define Z_FOR_19_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s
235
+ #define Z_FOR_20_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s
236
+ #define Z_FOR_21_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s
237
+ #define Z_FOR_22_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s
238
+ #define Z_FOR_23_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s
239
+ #define Z_FOR_24_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s
240
+ #define Z_FOR_25_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s
241
+ #define Z_FOR_26_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s
242
+ #define Z_FOR_27_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s
243
+ #define Z_FOR_28_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s
244
+ #define Z_FOR_29_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s
245
+ #define Z_FOR_30_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s
246
+ #define Z_FOR_31_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s _ p##30##s
247
+ #define Z_FOR_32_INSERT_INDEX(p, s, _) p##0##s _ p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s _ p##30##s _ p##31##s
248
+
249
+ #define Z_FOR_0_INSERT_TIME( p, s, _)
250
+ #define Z_FOR_1_INSERT_TIME( p, s, _) p##1##s
251
+ #define Z_FOR_2_INSERT_TIME( p, s, _) p##1##s _ p##2##s
252
+ #define Z_FOR_3_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s
253
+ #define Z_FOR_4_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s
254
+ #define Z_FOR_5_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s
255
+ #define Z_FOR_6_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s
256
+ #define Z_FOR_7_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s
257
+ #define Z_FOR_8_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s
258
+ #define Z_FOR_9_INSERT_TIME( p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s
259
+ #define Z_FOR_10_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s
260
+ #define Z_FOR_11_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s
261
+ #define Z_FOR_12_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s
262
+ #define Z_FOR_13_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s
263
+ #define Z_FOR_14_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s
264
+ #define Z_FOR_15_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s
265
+ #define Z_FOR_16_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s
266
+ #define Z_FOR_17_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s
267
+ #define Z_FOR_18_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s
268
+ #define Z_FOR_19_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s
269
+ #define Z_FOR_20_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s
270
+ #define Z_FOR_21_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s
271
+ #define Z_FOR_22_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s
272
+ #define Z_FOR_23_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s
273
+ #define Z_FOR_24_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s
274
+ #define Z_FOR_25_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s
275
+ #define Z_FOR_26_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s
276
+ #define Z_FOR_27_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s
277
+ #define Z_FOR_28_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s
278
+ #define Z_FOR_29_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s
279
+ #define Z_FOR_30_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s _ p##30##s
280
+ #define Z_FOR_31_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s _ p##30##s _ p##31##s
281
+ #define Z_FOR_32_INSERT_TIME(p, s, _) p##1##s _ p##2##s _ p##3##s _ p##4##s _ p##5##s _ p##6##s _ p##7##s _ p##8##s _ p##9##s _ p##10##s _ p##11##s _ p##12##s _ p##13##s _ p##14##s _ p##15##s _ p##16##s _ p##17##s _ p##18##s _ p##19##s _ p##20##s _ p##21##s _ p##22##s _ p##23##s _ p##24##s _ p##25##s _ p##26##s _ p##27##s _ p##28##s _ p##29##s _ p##30##s _ p##31##s _ p##32##s
282
+
283
+ #endif /* _Z_macros_repetition_H_ */
@@ -0,0 +1,104 @@
1
+ /* Z Kit - macros/structure.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_macros_structure_H_
9
+ #define _Z_macros_structure_H_
10
+
11
+ #include <Z/macros/language.h>
12
+
13
+ #if !defined(Z_AVOID_VARIADIC_MACROS) && \
14
+ (Z_LANGUAGE_HAS(C, VARIADIC_MACRO) || Z_LANGUAGE_HAS(CPP, C99_PREPROCESSOR))
15
+
16
+ # define Z_STRICT_STRUCTURE(...) \
17
+ Z_STRICT_SIZE_BEGIN \
18
+ struct {__VA_ARGS__} \
19
+ Z_STRICT_SIZE_END
20
+
21
+ # define Z_STRICT_UNION(...) \
22
+ Z_STRICT_SIZE_BEGIN \
23
+ union {__VA_ARGS__} \
24
+ Z_STRICT_SIZE_END
25
+
26
+ # define Z_DEFINE_STRICT_STRUCTURE(...) \
27
+ Z_STRICT_SIZE_BEGIN \
28
+ typedef struct {__VA_ARGS__} \
29
+ Z_STRICT_SIZE_END
30
+
31
+ # define Z_DEFINE_STRICT_UNION(...) \
32
+ Z_STRICT_SIZE_BEGIN \
33
+ typedef union {__VA_ARGS__} \
34
+ Z_STRICT_SIZE_END
35
+
36
+ # ifdef __cplusplus
37
+ # define Z_DEFINE_STRUCTURE_WITH_NAME(name, ...) \
38
+ typedef struct name {__VA_ARGS__} name
39
+ # else
40
+ # define Z_DEFINE_STRUCTURE_WITH_NAME(name, ...) \
41
+ typedef struct name name; \
42
+ struct name {__VA_ARGS__}
43
+ # endif
44
+
45
+ # define Z_DEFINE_STRICT_STRUCTURE_WITH_NAME(name, ...) \
46
+ Z_STRICT_SIZE_BEGIN \
47
+ Z_DEFINE_STRUCTURE_WITH_NAME(name, __VA_ARGS__) \
48
+ Z_STRICT_SIZE_END
49
+
50
+ #else
51
+
52
+ # define Z_STRICT_STRUCTURE(members) \
53
+ Z_STRICT_SIZE_BEGIN \
54
+ struct {members} \
55
+ Z_STRICT_SIZE_END
56
+
57
+ # define Z_STRICT_UNION(members) \
58
+ Z_STRICT_SIZE_BEGIN \
59
+ union {members} \
60
+ Z_STRICT_SIZE_END
61
+
62
+ # define Z_DEFINE_STRICT_STRUCTURE(members) \
63
+ Z_STRICT_SIZE_BEGIN \
64
+ typedef struct {members} \
65
+ Z_STRICT_SIZE_END
66
+
67
+ # define Z_DEFINE_STRICT_UNION(members) \
68
+ Z_STRICT_SIZE_BEGIN \
69
+ typedef union {members} \
70
+ Z_STRICT_SIZE_END
71
+
72
+ # ifdef __cplusplus
73
+ # define Z_DEFINE_STRUCTURE_WITH_NAME(name, members) \
74
+ typedef struct name {members} name
75
+ # else
76
+ # define Z_DEFINE_STRUCTURE_WITH_NAME(name, ...) \
77
+ typedef struct name name; \
78
+ struct name {members}
79
+ # endif
80
+
81
+ # define Z_DEFINE_STRICT_STRUCTURE_WITH_NAME(name, members) \
82
+ Z_STRICT_SIZE_BEGIN \
83
+ Z_DEFINE_STRUCTURE_WITH_NAME(name, members) \
84
+ Z_STRICT_SIZE_END
85
+
86
+ #endif
87
+
88
+ #define Z_STRICT_STRUCTURE_BEGIN Z_STRICT_SIZE_BEGIN struct {
89
+ #define Z_STRICT_STRUCTURE_END } Z_STRICT_SIZE_END
90
+ #define Z_STRICT_UNION_BEGIN Z_STRICT_SIZE_BEGIN union {
91
+ #define Z_STRICT_UNION_END } Z_STRICT_SIZE_END
92
+
93
+ #define Z_DEFINE_STRICT_STRUCTURE_BEGIN Z_STRICT_SIZE_BEGIN typedef struct {
94
+ #define Z_DEFINE_STRICT_STRUCTURE_END } Z_STRICT_SIZE_END
95
+ #define Z_DEFINE_STRICT_UNION_BEGIN Z_STRICT_SIZE_BEGIN typedef union {
96
+ #define Z_DEFINE_STRICT_UNION_END } Z_STRICT_SIZE_END
97
+
98
+ #if Z_LANGUAGE_HAS(C, FLEXIBLE_ARRAY_MEMBER)
99
+ # define Z_FLEXIBLE_ARRAY_MEMBER(member) member
100
+ #else
101
+ # define Z_FLEXIBLE_ARRAY_MEMBER(member)
102
+ #endif
103
+
104
+ #endif /* _Z_macros_structure_H_ */