pixo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1454) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +74 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +23 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +43 -0
  7. data/Rakefile +8 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/ext/CMakeLists.txt +35 -0
  11. data/ext/libpixgem/extconf.rb +29 -0
  12. data/ext/libpixgem/include/opengl.h +4 -0
  13. data/ext/libpixgem/src/application.cpp +135 -0
  14. data/ext/libpixgem/src/application.hpp +28 -0
  15. data/ext/libpixgem/src/camera.cpp +28 -0
  16. data/ext/libpixgem/src/camera.hpp +22 -0
  17. data/ext/libpixgem/src/fade_candy.cpp +32 -0
  18. data/ext/libpixgem/src/fade_candy.hpp +22 -0
  19. data/ext/libpixgem/src/gem.cpp +58 -0
  20. data/ext/libpixgem/src/holder.cpp +9 -0
  21. data/ext/libpixgem/src/holder.hpp +8 -0
  22. data/ext/libpixgem/src/pattern.cpp +57 -0
  23. data/ext/libpixgem/src/pattern.hpp +25 -0
  24. data/ext/pixo/CMakeLists.txt +57 -0
  25. data/ext/pixo/README.md +3 -0
  26. data/ext/pixo/ext/glew/CMakeLists.txt +118 -0
  27. data/ext/pixo/ext/glew/LICENSE.txt +73 -0
  28. data/ext/pixo/ext/glew/Makefile +347 -0
  29. data/ext/pixo/ext/glew/README.md +192 -0
  30. data/ext/pixo/ext/glew/auto/Makefile +357 -0
  31. data/ext/pixo/ext/glew/auto/bin/filter_gl_ext.sh +523 -0
  32. data/ext/pixo/ext/glew/auto/bin/filter_gles_ext.sh +19 -0
  33. data/ext/pixo/ext/glew/auto/bin/filter_spec.py +38 -0
  34. data/ext/pixo/ext/glew/auto/bin/make.pl +223 -0
  35. data/ext/pixo/ext/glew/auto/bin/make_def_fun.pl +35 -0
  36. data/ext/pixo/ext/glew/auto/bin/make_def_var.pl +31 -0
  37. data/ext/pixo/ext/glew/auto/bin/make_enable_index.pl +45 -0
  38. data/ext/pixo/ext/glew/auto/bin/make_header.pl +71 -0
  39. data/ext/pixo/ext/glew/auto/bin/make_html.pl +55 -0
  40. data/ext/pixo/ext/glew/auto/bin/make_index.pl +38 -0
  41. data/ext/pixo/ext/glew/auto/bin/make_info.pl +59 -0
  42. data/ext/pixo/ext/glew/auto/bin/make_info_list.pl +47 -0
  43. data/ext/pixo/ext/glew/auto/bin/make_init.pl +59 -0
  44. data/ext/pixo/ext/glew/auto/bin/make_initd.pl +43 -0
  45. data/ext/pixo/ext/glew/auto/bin/make_list.pl +73 -0
  46. data/ext/pixo/ext/glew/auto/bin/make_list2.pl +44 -0
  47. data/ext/pixo/ext/glew/auto/bin/make_str.pl +53 -0
  48. data/ext/pixo/ext/glew/auto/bin/make_struct_fun.pl +36 -0
  49. data/ext/pixo/ext/glew/auto/bin/make_struct_var.pl +31 -0
  50. data/ext/pixo/ext/glew/auto/bin/parse_spec.pl +393 -0
  51. data/ext/pixo/ext/glew/auto/bin/parse_xml.py +131 -0
  52. data/ext/pixo/ext/glew/auto/bin/update_ext.sh +25 -0
  53. data/ext/pixo/ext/glew/auto/blacklist +14 -0
  54. data/ext/pixo/ext/glew/auto/core/gl/GLX_AMD_gpu_association +23 -0
  55. data/ext/pixo/ext/glew/auto/core/gl/GLX_ARB_get_proc_address +5 -0
  56. data/ext/pixo/ext/glew/auto/core/gl/GLX_ATI_pixel_format_float +5 -0
  57. data/ext/pixo/ext/glew/auto/core/gl/GLX_ATI_render_texture +42 -0
  58. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_create_context_es2_profile +5 -0
  59. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_create_context_es_profile +5 -0
  60. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_fbconfig_packed_float +6 -0
  61. data/ext/pixo/ext/glew/auto/core/gl/GLX_EXT_framebuffer_sRGB +5 -0
  62. data/ext/pixo/ext/glew/auto/core/gl/GLX_MESA_swap_control +6 -0
  63. data/ext/pixo/ext/glew/auto/core/gl/GLX_NV_float_buffer +5 -0
  64. data/ext/pixo/ext/glew/auto/core/gl/GLX_NV_vertex_array_range +6 -0
  65. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIS_shared_multisample +6 -0
  66. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIX_hyperpipe +26 -0
  67. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIX_swap_barrier +6 -0
  68. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGIX_swap_group +5 -0
  69. data/ext/pixo/ext/glew/auto/core/gl/GLX_SGI_video_sync +6 -0
  70. data/ext/pixo/ext/glew/auto/core/gl/GLX_SUN_video_resize +8 -0
  71. data/ext/pixo/ext/glew/auto/core/gl/GLX_VERSION_1_2 +5 -0
  72. data/ext/pixo/ext/glew/auto/core/gl/GLX_VERSION_1_3 +83 -0
  73. data/ext/pixo/ext/glew/auto/core/gl/GLX_VERSION_1_4 +7 -0
  74. data/ext/pixo/ext/glew/auto/core/gl/GL_APPLE_float_pixels +18 -0
  75. data/ext/pixo/ext/glew/auto/core/gl/GL_APPLE_pixel_buffer +5 -0
  76. data/ext/pixo/ext/glew/auto/core/gl/GL_APPLE_texture_range +13 -0
  77. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_draw_instanced +4 -0
  78. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_imaging +113 -0
  79. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_instanced_arrays +8 -0
  80. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_internalformat_query2 +104 -0
  81. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_matrix_palette +19 -0
  82. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_multitexture +73 -0
  83. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_robustness +31 -0
  84. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_separate_shader_objects +73 -0
  85. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_vertex_attrib_64bit +14 -0
  86. data/ext/pixo/ext/glew/auto/core/gl/GL_ARB_vertex_blend +56 -0
  87. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_point_sprites +10 -0
  88. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_texture_env_combine3 +7 -0
  89. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_texture_env_route +7 -0
  90. data/ext/pixo/ext/glew/auto/core/gl/GL_ATIX_vertex_shader_output_point_size +5 -0
  91. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_envmap_bumpmap +16 -0
  92. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_map_object_buffer +6 -0
  93. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_pn_triangles +15 -0
  94. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_separate_stencil +10 -0
  95. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_shader_texture_lod +4 -0
  96. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_texture_compression_3dc +5 -0
  97. data/ext/pixo/ext/glew/auto/core/gl/GL_ATI_vertex_streams +59 -0
  98. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_Cg_shader +6 -0
  99. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_bindable_uniform +13 -0
  100. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_debug_marker +7 -0
  101. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_depth_bounds_test +7 -0
  102. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_draw_instanced +6 -0
  103. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_draw_range_elements +7 -0
  104. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_fog_coord +17 -0
  105. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_framebuffer_sRGB +6 -0
  106. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_geometry_shader4 +27 -0
  107. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_gpu_program_parameters +6 -0
  108. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_gpu_shader4 +64 -0
  109. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_packed_float +7 -0
  110. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_pixel_buffer_object +8 -0
  111. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_secondary_color +28 -0
  112. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_array +13 -0
  113. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_buffer_object +10 -0
  114. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_compression_latc +8 -0
  115. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_compression_rgtc +8 -0
  116. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_cube_map +16 -0
  117. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_edge_clamp +5 -0
  118. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_integer +57 -0
  119. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_rectangle +8 -0
  120. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_texture_shared_exponent +7 -0
  121. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_timer_query +7 -0
  122. data/ext/pixo/ext/glew/auto/core/gl/GL_EXT_vertex_shader +157 -0
  123. data/ext/pixo/ext/glew/auto/core/gl/GL_KTX_buffer_region +13 -0
  124. data/ext/pixo/ext/glew/auto/core/gl/GL_NVX_gpu_memory_info +9 -0
  125. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_depth_buffer_float +11 -0
  126. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_depth_range_unclamped +9 -0
  127. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_fragment_program2 +9 -0
  128. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_fragment_program4 +4 -0
  129. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_fragment_program_option +4 -0
  130. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_framebuffer_multisample_coverage +9 -0
  131. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_geometry_program4 +8 -0
  132. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_geometry_shader4 +4 -0
  133. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_gpu_program4 +24 -0
  134. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_gpu_program5 +10 -0
  135. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_parameter_buffer_object +12 -0
  136. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_present_video +16 -0
  137. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_tessellation_program5 +9 -0
  138. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_transform_feedback +40 -0
  139. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vdpau_interop +19 -0
  140. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vertex_program2_option +6 -0
  141. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vertex_program3 +5 -0
  142. data/ext/pixo/ext/glew/auto/core/gl/GL_NV_vertex_program4 +5 -0
  143. data/ext/pixo/ext/glew/auto/core/gl/GL_SGIX_shadow +8 -0
  144. data/ext/pixo/ext/glew/auto/core/gl/GL_SUN_read_video_pixels +5 -0
  145. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_2 +50 -0
  146. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_2_1 +4 -0
  147. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_3 +147 -0
  148. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_4 +90 -0
  149. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_1_5 +75 -0
  150. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_2_0 +181 -0
  151. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_2_1 +33 -0
  152. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_0 +164 -0
  153. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_1 +42 -0
  154. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_2 +29 -0
  155. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_3_3 +7 -0
  156. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_0 +21 -0
  157. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_1 +3 -0
  158. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_2 +13 -0
  159. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_3 +6 -0
  160. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_4 +8 -0
  161. data/ext/pixo/ext/glew/auto/core/gl/GL_VERSION_4_5 +9 -0
  162. data/ext/pixo/ext/glew/auto/core/gl/GL_WIN_swap_hint +5 -0
  163. data/ext/pixo/ext/glew/auto/core/gl/WGL_ARB_create_context +13 -0
  164. data/ext/pixo/ext/glew/auto/core/gl/WGL_ATI_render_texture_rectangle +5 -0
  165. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_create_context_es2_profile +5 -0
  166. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_create_context_es_profile +5 -0
  167. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_framebuffer_sRGB +5 -0
  168. data/ext/pixo/ext/glew/auto/core/gl/WGL_EXT_pixel_format_packed_float +5 -0
  169. data/ext/pixo/ext/glew/auto/core/gl/WGL_NV_gpu_affinity +13 -0
  170. data/ext/pixo/ext/glew/auto/core/gl/WGL_NV_vertex_array_range +6 -0
  171. data/ext/pixo/ext/glew/auto/custom.txt +7 -0
  172. data/ext/pixo/ext/glew/auto/doc/advanced.html +130 -0
  173. data/ext/pixo/ext/glew/auto/doc/basic.html +180 -0
  174. data/ext/pixo/ext/glew/auto/doc/build.html +49 -0
  175. data/ext/pixo/ext/glew/auto/doc/credits.html +2 -0
  176. data/ext/pixo/ext/glew/auto/doc/index.html +111 -0
  177. data/ext/pixo/ext/glew/auto/doc/install.html +126 -0
  178. data/ext/pixo/ext/glew/auto/doc/log.html +1073 -0
  179. data/ext/pixo/ext/glew/auto/src/eglew_head.h +88 -0
  180. data/ext/pixo/ext/glew/auto/src/eglew_mid.h +4 -0
  181. data/ext/pixo/ext/glew/auto/src/eglew_tail.h +15 -0
  182. data/ext/pixo/ext/glew/auto/src/footer.html +4 -0
  183. data/ext/pixo/ext/glew/auto/src/glew.rc +135 -0
  184. data/ext/pixo/ext/glew/auto/src/glew_head.c +285 -0
  185. data/ext/pixo/ext/glew/auto/src/glew_head.h +1129 -0
  186. data/ext/pixo/ext/glew/auto/src/glew_init_egl.c +45 -0
  187. data/ext/pixo/ext/glew/auto/src/glew_init_gl.c +206 -0
  188. data/ext/pixo/ext/glew/auto/src/glew_init_glx.c +53 -0
  189. data/ext/pixo/ext/glew/auto/src/glew_init_tail.c +67 -0
  190. data/ext/pixo/ext/glew/auto/src/glew_init_wgl.c +41 -0
  191. data/ext/pixo/ext/glew/auto/src/glew_license.h +32 -0
  192. data/ext/pixo/ext/glew/auto/src/glew_str_egl.c +17 -0
  193. data/ext/pixo/ext/glew/auto/src/glew_str_glx.c +17 -0
  194. data/ext/pixo/ext/glew/auto/src/glew_str_head.c +9 -0
  195. data/ext/pixo/ext/glew/auto/src/glew_str_tail.c +7 -0
  196. data/ext/pixo/ext/glew/auto/src/glew_str_wgl.c +17 -0
  197. data/ext/pixo/ext/glew/auto/src/glew_tail.h +67 -0
  198. data/ext/pixo/ext/glew/auto/src/glewinfo.rc +123 -0
  199. data/ext/pixo/ext/glew/auto/src/glewinfo_egl.c +6 -0
  200. data/ext/pixo/ext/glew/auto/src/glewinfo_gl.c +7 -0
  201. data/ext/pixo/ext/glew/auto/src/glewinfo_glx.c +6 -0
  202. data/ext/pixo/ext/glew/auto/src/glewinfo_head.c +89 -0
  203. data/ext/pixo/ext/glew/auto/src/glewinfo_tail.c +598 -0
  204. data/ext/pixo/ext/glew/auto/src/glewinfo_wgl.c +8 -0
  205. data/ext/pixo/ext/glew/auto/src/glxew_head.h +106 -0
  206. data/ext/pixo/ext/glew/auto/src/glxew_mid.h +4 -0
  207. data/ext/pixo/ext/glew/auto/src/glxew_tail.h +20 -0
  208. data/ext/pixo/ext/glew/auto/src/header.html +98 -0
  209. data/ext/pixo/ext/glew/auto/src/khronos_license.h +23 -0
  210. data/ext/pixo/ext/glew/auto/src/mesa_license.h +24 -0
  211. data/ext/pixo/ext/glew/auto/src/visualinfo.rc +123 -0
  212. data/ext/pixo/ext/glew/auto/src/wglew_head.h +36 -0
  213. data/ext/pixo/ext/glew/auto/src/wglew_mid.h +4 -0
  214. data/ext/pixo/ext/glew/auto/src/wglew_tail.h +22 -0
  215. data/ext/pixo/ext/glew/build/cmake/CMakeLists.txt +215 -0
  216. data/ext/pixo/ext/glew/build/cmake/CopyImportedTargetProperties.cmake +88 -0
  217. data/ext/pixo/ext/glew/build/cmake/glew-config.cmake +60 -0
  218. data/ext/pixo/ext/glew/build/cmake/testbuild/CMakeLists.txt +25 -0
  219. data/ext/pixo/ext/glew/build/cmake/testbuild/main.c +23 -0
  220. data/ext/pixo/ext/glew/build/glew.rc +135 -0
  221. data/ext/pixo/ext/glew/build/glewinfo.rc +123 -0
  222. data/ext/pixo/ext/glew/build/vc10/common.props +29 -0
  223. data/ext/pixo/ext/glew/build/vc10/glew.sln +56 -0
  224. data/ext/pixo/ext/glew/build/vc10/glew_shared.vcxproj +254 -0
  225. data/ext/pixo/ext/glew/build/vc10/glew_static.vcxproj +228 -0
  226. data/ext/pixo/ext/glew/build/vc10/glewinfo.vcxproj +252 -0
  227. data/ext/pixo/ext/glew/build/vc10/visualinfo.vcxproj +251 -0
  228. data/ext/pixo/ext/glew/build/vc12/common.props +29 -0
  229. data/ext/pixo/ext/glew/build/vc12/glew.sln +56 -0
  230. data/ext/pixo/ext/glew/build/vc12/glew_shared.vcxproj +258 -0
  231. data/ext/pixo/ext/glew/build/vc12/glew_static.vcxproj +232 -0
  232. data/ext/pixo/ext/glew/build/vc12/glewinfo.vcxproj +259 -0
  233. data/ext/pixo/ext/glew/build/vc12/visualinfo.vcxproj +258 -0
  234. data/ext/pixo/ext/glew/build/vc6/Makefile +21 -0
  235. data/ext/pixo/ext/glew/build/vc6/glew.dsw +71 -0
  236. data/ext/pixo/ext/glew/build/vc6/glew_shared.dsp +122 -0
  237. data/ext/pixo/ext/glew/build/vc6/glew_static.dsp +112 -0
  238. data/ext/pixo/ext/glew/build/vc6/glewinfo.dsp +103 -0
  239. data/ext/pixo/ext/glew/build/vc6/visualinfo.dsp +103 -0
  240. data/ext/pixo/ext/glew/build/visualinfo.rc +123 -0
  241. data/ext/pixo/ext/glew/cmake-testbuild.sh +71 -0
  242. data/ext/pixo/ext/glew/config/Makefile.cygming +21 -0
  243. data/ext/pixo/ext/glew/config/Makefile.cygwin +19 -0
  244. data/ext/pixo/ext/glew/config/Makefile.darwin +25 -0
  245. data/ext/pixo/ext/glew/config/Makefile.darwin-ppc +24 -0
  246. data/ext/pixo/ext/glew/config/Makefile.darwin-universal +27 -0
  247. data/ext/pixo/ext/glew/config/Makefile.darwin-x86_64 +24 -0
  248. data/ext/pixo/ext/glew/config/Makefile.fedora-mingw32 +12 -0
  249. data/ext/pixo/ext/glew/config/Makefile.freebsd +17 -0
  250. data/ext/pixo/ext/glew/config/Makefile.gnu +17 -0
  251. data/ext/pixo/ext/glew/config/Makefile.haiku +20 -0
  252. data/ext/pixo/ext/glew/config/Makefile.irix +17 -0
  253. data/ext/pixo/ext/glew/config/Makefile.kfreebsd +17 -0
  254. data/ext/pixo/ext/glew/config/Makefile.linux +34 -0
  255. data/ext/pixo/ext/glew/config/Makefile.linux-clang +34 -0
  256. data/ext/pixo/ext/glew/config/Makefile.linux-clang-egl +4 -0
  257. data/ext/pixo/ext/glew/config/Makefile.linux-egl +4 -0
  258. data/ext/pixo/ext/glew/config/Makefile.linux-mingw-w64 +22 -0
  259. data/ext/pixo/ext/glew/config/Makefile.linux-mingw32 +22 -0
  260. data/ext/pixo/ext/glew/config/Makefile.linux-mingw64 +22 -0
  261. data/ext/pixo/ext/glew/config/Makefile.linux-osmesa +4 -0
  262. data/ext/pixo/ext/glew/config/Makefile.mingw +17 -0
  263. data/ext/pixo/ext/glew/config/Makefile.mingw-win32 +5 -0
  264. data/ext/pixo/ext/glew/config/Makefile.msys +19 -0
  265. data/ext/pixo/ext/glew/config/Makefile.msys-win32 +5 -0
  266. data/ext/pixo/ext/glew/config/Makefile.msys-win64 +5 -0
  267. data/ext/pixo/ext/glew/config/Makefile.nacl-32 +31 -0
  268. data/ext/pixo/ext/glew/config/Makefile.nacl-64 +31 -0
  269. data/ext/pixo/ext/glew/config/Makefile.netbsd +17 -0
  270. data/ext/pixo/ext/glew/config/Makefile.openbsd +17 -0
  271. data/ext/pixo/ext/glew/config/Makefile.solaris +14 -0
  272. data/ext/pixo/ext/glew/config/Makefile.solaris-gcc +15 -0
  273. data/ext/pixo/ext/glew/config/config.guess +1456 -0
  274. data/ext/pixo/ext/glew/config/version +7 -0
  275. data/ext/pixo/ext/glew/doc/advanced.html +232 -0
  276. data/ext/pixo/ext/glew/doc/basic.html +282 -0
  277. data/ext/pixo/ext/glew/doc/build.html +151 -0
  278. data/ext/pixo/ext/glew/doc/credits.html +104 -0
  279. data/ext/pixo/ext/glew/doc/github.png +0 -0
  280. data/ext/pixo/ext/glew/doc/glew.css +187 -0
  281. data/ext/pixo/ext/glew/doc/glew.html +724 -0
  282. data/ext/pixo/ext/glew/doc/glew.png +0 -0
  283. data/ext/pixo/ext/glew/doc/glew.txt +29 -0
  284. data/ext/pixo/ext/glew/doc/glxew.html +185 -0
  285. data/ext/pixo/ext/glew/doc/gpl.txt +340 -0
  286. data/ext/pixo/ext/glew/doc/index.html +213 -0
  287. data/ext/pixo/ext/glew/doc/install.html +228 -0
  288. data/ext/pixo/ext/glew/doc/khronos.txt +20 -0
  289. data/ext/pixo/ext/glew/doc/log.html +1175 -0
  290. data/ext/pixo/ext/glew/doc/mesa.txt +21 -0
  291. data/ext/pixo/ext/glew/doc/new.png +0 -0
  292. data/ext/pixo/ext/glew/doc/ogl_sm.jpg +0 -0
  293. data/ext/pixo/ext/glew/doc/travis.png +0 -0
  294. data/ext/pixo/ext/glew/doc/wglew.html +168 -0
  295. data/ext/pixo/ext/glew/glew.pc.in +11 -0
  296. data/ext/pixo/ext/glew/include/GL/eglew.h +2261 -0
  297. data/ext/pixo/ext/glew/include/GL/glew.h +20113 -0
  298. data/ext/pixo/ext/glew/include/GL/glxew.h +1769 -0
  299. data/ext/pixo/ext/glew/include/GL/wglew.h +1427 -0
  300. data/ext/pixo/ext/glew/maintain.sh +142 -0
  301. data/ext/pixo/ext/glew/src/glew.c +23960 -0
  302. data/ext/pixo/ext/glew/src/glewinfo.c +13912 -0
  303. data/ext/pixo/ext/glew/src/visualinfo.c +1297 -0
  304. data/ext/pixo/ext/glfw/CMake/MacOSXBundleInfo.plist.in +38 -0
  305. data/ext/pixo/ext/glfw/CMake/amd64-mingw32msvc.cmake +13 -0
  306. data/ext/pixo/ext/glfw/CMake/i586-mingw32msvc.cmake +13 -0
  307. data/ext/pixo/ext/glfw/CMake/i686-pc-mingw32.cmake +13 -0
  308. data/ext/pixo/ext/glfw/CMake/i686-w64-mingw32.cmake +13 -0
  309. data/ext/pixo/ext/glfw/CMake/modules/FindMir.cmake +18 -0
  310. data/ext/pixo/ext/glfw/CMake/modules/FindVulkan.cmake +34 -0
  311. data/ext/pixo/ext/glfw/CMake/modules/FindWaylandProtocols.cmake +26 -0
  312. data/ext/pixo/ext/glfw/CMake/modules/FindXKBCommon.cmake +34 -0
  313. data/ext/pixo/ext/glfw/CMake/x86_64-w64-mingw32.cmake +13 -0
  314. data/ext/pixo/ext/glfw/CMakeLists.txt +419 -0
  315. data/ext/pixo/ext/glfw/COPYING.txt +22 -0
  316. data/ext/pixo/ext/glfw/README.md +274 -0
  317. data/ext/pixo/ext/glfw/cmake_uninstall.cmake.in +29 -0
  318. data/ext/pixo/ext/glfw/deps/KHR/khrplatform.h +282 -0
  319. data/ext/pixo/ext/glfw/deps/getopt.c +230 -0
  320. data/ext/pixo/ext/glfw/deps/getopt.h +57 -0
  321. data/ext/pixo/ext/glfw/deps/glad/glad.h +3520 -0
  322. data/ext/pixo/ext/glfw/deps/glad.c +1555 -0
  323. data/ext/pixo/ext/glfw/deps/linmath.h +574 -0
  324. data/ext/pixo/ext/glfw/deps/mingw/_mingw_dxhelper.h +117 -0
  325. data/ext/pixo/ext/glfw/deps/mingw/dinput.h +2467 -0
  326. data/ext/pixo/ext/glfw/deps/mingw/xinput.h +239 -0
  327. data/ext/pixo/ext/glfw/deps/tinycthread.c +594 -0
  328. data/ext/pixo/ext/glfw/deps/tinycthread.h +441 -0
  329. data/ext/pixo/ext/glfw/deps/vulkan/vk_platform.h +120 -0
  330. data/ext/pixo/ext/glfw/deps/vulkan/vulkan.h +3835 -0
  331. data/ext/pixo/ext/glfw/docs/CMakeLists.txt +32 -0
  332. data/ext/pixo/ext/glfw/docs/Doxyfile.in +1859 -0
  333. data/ext/pixo/ext/glfw/docs/DoxygenLayout.xml +188 -0
  334. data/ext/pixo/ext/glfw/docs/build.dox +347 -0
  335. data/ext/pixo/ext/glfw/docs/compat.dox +224 -0
  336. data/ext/pixo/ext/glfw/docs/compile.dox +284 -0
  337. data/ext/pixo/ext/glfw/docs/context.dox +345 -0
  338. data/ext/pixo/ext/glfw/docs/extra.css +1 -0
  339. data/ext/pixo/ext/glfw/docs/extra.less +370 -0
  340. data/ext/pixo/ext/glfw/docs/footer.html +7 -0
  341. data/ext/pixo/ext/glfw/docs/header.html +34 -0
  342. data/ext/pixo/ext/glfw/docs/input.dox +665 -0
  343. data/ext/pixo/ext/glfw/docs/internal.dox +116 -0
  344. data/ext/pixo/ext/glfw/docs/intro.dox +372 -0
  345. data/ext/pixo/ext/glfw/docs/main.dox +47 -0
  346. data/ext/pixo/ext/glfw/docs/monitor.dox +216 -0
  347. data/ext/pixo/ext/glfw/docs/moving.dox +506 -0
  348. data/ext/pixo/ext/glfw/docs/news.dox +376 -0
  349. data/ext/pixo/ext/glfw/docs/quick.dox +364 -0
  350. data/ext/pixo/ext/glfw/docs/spaces.svg +872 -0
  351. data/ext/pixo/ext/glfw/docs/vulkan.dox +211 -0
  352. data/ext/pixo/ext/glfw/docs/window.dox +1008 -0
  353. data/ext/pixo/ext/glfw/examples/CMakeLists.txt +67 -0
  354. data/ext/pixo/ext/glfw/examples/boing.c +678 -0
  355. data/ext/pixo/ext/glfw/examples/gears.c +357 -0
  356. data/ext/pixo/ext/glfw/examples/glfw.icns +0 -0
  357. data/ext/pixo/ext/glfw/examples/glfw.ico +0 -0
  358. data/ext/pixo/ext/glfw/examples/glfw.rc +3 -0
  359. data/ext/pixo/ext/glfw/examples/heightmap.c +511 -0
  360. data/ext/pixo/ext/glfw/examples/particles.c +1068 -0
  361. data/ext/pixo/ext/glfw/examples/simple.c +163 -0
  362. data/ext/pixo/ext/glfw/examples/splitview.c +545 -0
  363. data/ext/pixo/ext/glfw/examples/wave.c +460 -0
  364. data/ext/pixo/ext/glfw/include/GLFW/glfw3.h +4248 -0
  365. data/ext/pixo/ext/glfw/include/GLFW/glfw3native.h +456 -0
  366. data/ext/pixo/ext/glfw/src/CMakeLists.txt +120 -0
  367. data/ext/pixo/ext/glfw/src/cocoa_init.m +398 -0
  368. data/ext/pixo/ext/glfw/src/cocoa_joystick.h +60 -0
  369. data/ext/pixo/ext/glfw/src/cocoa_joystick.m +511 -0
  370. data/ext/pixo/ext/glfw/src/cocoa_monitor.m +413 -0
  371. data/ext/pixo/ext/glfw/src/cocoa_platform.h +150 -0
  372. data/ext/pixo/ext/glfw/src/cocoa_time.c +60 -0
  373. data/ext/pixo/ext/glfw/src/cocoa_window.m +1653 -0
  374. data/ext/pixo/ext/glfw/src/context.c +720 -0
  375. data/ext/pixo/ext/glfw/src/egl_context.c +746 -0
  376. data/ext/pixo/ext/glfw/src/egl_context.h +213 -0
  377. data/ext/pixo/ext/glfw/src/glfw3.pc.in +13 -0
  378. data/ext/pixo/ext/glfw/src/glfw3Config.cmake.in +1 -0
  379. data/ext/pixo/ext/glfw/src/glfw_config.h.in +65 -0
  380. data/ext/pixo/ext/glfw/src/glx_context.c +677 -0
  381. data/ext/pixo/ext/glfw/src/glx_context.h +182 -0
  382. data/ext/pixo/ext/glfw/src/init.c +200 -0
  383. data/ext/pixo/ext/glfw/src/input.c +659 -0
  384. data/ext/pixo/ext/glfw/src/internal.h +1055 -0
  385. data/ext/pixo/ext/glfw/src/linux_joystick.c +341 -0
  386. data/ext/pixo/ext/glfw/src/linux_joystick.h +68 -0
  387. data/ext/pixo/ext/glfw/src/mir_init.c +238 -0
  388. data/ext/pixo/ext/glfw/src/mir_monitor.c +182 -0
  389. data/ext/pixo/ext/glfw/src/mir_platform.h +130 -0
  390. data/ext/pixo/ext/glfw/src/mir_window.c +848 -0
  391. data/ext/pixo/ext/glfw/src/monitor.c +477 -0
  392. data/ext/pixo/ext/glfw/src/nsgl_context.h +60 -0
  393. data/ext/pixo/ext/glfw/src/nsgl_context.m +308 -0
  394. data/ext/pixo/ext/glfw/src/posix_time.c +85 -0
  395. data/ext/pixo/ext/glfw/src/posix_time.h +48 -0
  396. data/ext/pixo/ext/glfw/src/posix_tls.c +68 -0
  397. data/ext/pixo/ext/glfw/src/posix_tls.h +49 -0
  398. data/ext/pixo/ext/glfw/src/vulkan.c +302 -0
  399. data/ext/pixo/ext/glfw/src/wgl_context.c +718 -0
  400. data/ext/pixo/ext/glfw/src/wgl_context.h +157 -0
  401. data/ext/pixo/ext/glfw/src/win32_init.c +473 -0
  402. data/ext/pixo/ext/glfw/src/win32_joystick.c +763 -0
  403. data/ext/pixo/ext/glfw/src/win32_joystick.h +64 -0
  404. data/ext/pixo/ext/glfw/src/win32_monitor.c +401 -0
  405. data/ext/pixo/ext/glfw/src/win32_platform.h +350 -0
  406. data/ext/pixo/ext/glfw/src/win32_time.c +74 -0
  407. data/ext/pixo/ext/glfw/src/win32_tls.c +69 -0
  408. data/ext/pixo/ext/glfw/src/win32_window.c +1724 -0
  409. data/ext/pixo/ext/glfw/src/window.c +904 -0
  410. data/ext/pixo/ext/glfw/src/wl_init.c +658 -0
  411. data/ext/pixo/ext/glfw/src/wl_monitor.c +269 -0
  412. data/ext/pixo/ext/glfw/src/wl_platform.h +179 -0
  413. data/ext/pixo/ext/glfw/src/wl_window.c +1050 -0
  414. data/ext/pixo/ext/glfw/src/x11_init.c +833 -0
  415. data/ext/pixo/ext/glfw/src/x11_monitor.c +491 -0
  416. data/ext/pixo/ext/glfw/src/x11_platform.h +296 -0
  417. data/ext/pixo/ext/glfw/src/x11_window.c +2475 -0
  418. data/ext/pixo/ext/glfw/src/xkb_unicode.c +889 -0
  419. data/ext/pixo/ext/glfw/src/xkb_unicode.h +33 -0
  420. data/ext/pixo/ext/glfw/tests/CMakeLists.txt +80 -0
  421. data/ext/pixo/ext/glfw/tests/clipboard.c +157 -0
  422. data/ext/pixo/ext/glfw/tests/cursor.c +317 -0
  423. data/ext/pixo/ext/glfw/tests/empty.c +131 -0
  424. data/ext/pixo/ext/glfw/tests/events.c +620 -0
  425. data/ext/pixo/ext/glfw/tests/gamma.c +188 -0
  426. data/ext/pixo/ext/glfw/tests/glfwinfo.c +899 -0
  427. data/ext/pixo/ext/glfw/tests/icon.c +148 -0
  428. data/ext/pixo/ext/glfw/tests/iconify.c +298 -0
  429. data/ext/pixo/ext/glfw/tests/joysticks.c +216 -0
  430. data/ext/pixo/ext/glfw/tests/monitors.c +243 -0
  431. data/ext/pixo/ext/glfw/tests/msaa.c +163 -0
  432. data/ext/pixo/ext/glfw/tests/reopen.c +192 -0
  433. data/ext/pixo/ext/glfw/tests/sharing.c +186 -0
  434. data/ext/pixo/ext/glfw/tests/tearing.c +214 -0
  435. data/ext/pixo/ext/glfw/tests/threads.c +143 -0
  436. data/ext/pixo/ext/glfw/tests/timeout.c +97 -0
  437. data/ext/pixo/ext/glfw/tests/title.c +78 -0
  438. data/ext/pixo/ext/glfw/tests/vulkan.c +2245 -0
  439. data/ext/pixo/ext/glfw/tests/windows.c +166 -0
  440. data/ext/pixo/ext/glm/CMakeLists.txt +227 -0
  441. data/ext/pixo/ext/glm/cmake/CMakePackageConfigHelpers.cmake +227 -0
  442. data/ext/pixo/ext/glm/cmake/GNUInstallDirs.cmake +188 -0
  443. data/ext/pixo/ext/glm/cmake/glm.pc.in +7 -0
  444. data/ext/pixo/ext/glm/cmake/glmBuildConfig.cmake.in +6 -0
  445. data/ext/pixo/ext/glm/cmake/glmConfig.cmake.in +9 -0
  446. data/ext/pixo/ext/glm/copying.txt +54 -0
  447. data/ext/pixo/ext/glm/doc/api/a00001.html +66 -0
  448. data/ext/pixo/ext/glm/doc/api/a00001_source.html +457 -0
  449. data/ext/pixo/ext/glm/doc/api/a00002.html +66 -0
  450. data/ext/pixo/ext/glm/doc/api/a00002_source.html +83 -0
  451. data/ext/pixo/ext/glm/doc/api/a00003.html +66 -0
  452. data/ext/pixo/ext/glm/doc/api/a00003_source.html +167 -0
  453. data/ext/pixo/ext/glm/doc/api/a00004.html +66 -0
  454. data/ext/pixo/ext/glm/doc/api/a00004_source.html +857 -0
  455. data/ext/pixo/ext/glm/doc/api/a00005.html +66 -0
  456. data/ext/pixo/ext/glm/doc/api/a00005_source.html +754 -0
  457. data/ext/pixo/ext/glm/doc/api/a00006.html +66 -0
  458. data/ext/pixo/ext/glm/doc/api/a00006_source.html +194 -0
  459. data/ext/pixo/ext/glm/doc/api/a00007.html +141 -0
  460. data/ext/pixo/ext/glm/doc/api/a00007_source.html +207 -0
  461. data/ext/pixo/ext/glm/doc/api/a00008.html +102 -0
  462. data/ext/pixo/ext/glm/doc/api/a00008_source.html +111 -0
  463. data/ext/pixo/ext/glm/doc/api/a00009.html +137 -0
  464. data/ext/pixo/ext/glm/doc/api/a00009_source.html +149 -0
  465. data/ext/pixo/ext/glm/doc/api/a00010.html +80 -0
  466. data/ext/pixo/ext/glm/doc/api/a00010_source.html +90 -0
  467. data/ext/pixo/ext/glm/doc/api/a00011.html +88 -0
  468. data/ext/pixo/ext/glm/doc/api/a00011_source.html +97 -0
  469. data/ext/pixo/ext/glm/doc/api/a00012.html +91 -0
  470. data/ext/pixo/ext/glm/doc/api/a00012_source.html +107 -0
  471. data/ext/pixo/ext/glm/doc/api/a00013.html +85 -0
  472. data/ext/pixo/ext/glm/doc/api/a00013_source.html +98 -0
  473. data/ext/pixo/ext/glm/doc/api/a00014.html +66 -0
  474. data/ext/pixo/ext/glm/doc/api/a00014_source.html +65 -0
  475. data/ext/pixo/ext/glm/doc/api/a00015.html +81 -0
  476. data/ext/pixo/ext/glm/doc/api/a00015_source.html +88 -0
  477. data/ext/pixo/ext/glm/doc/api/a00016.html +327 -0
  478. data/ext/pixo/ext/glm/doc/api/a00016_source.html +239 -0
  479. data/ext/pixo/ext/glm/doc/api/a00017.html +93 -0
  480. data/ext/pixo/ext/glm/doc/api/a00017_source.html +102 -0
  481. data/ext/pixo/ext/glm/doc/api/a00018.html +162 -0
  482. data/ext/pixo/ext/glm/doc/api/a00018_source.html +193 -0
  483. data/ext/pixo/ext/glm/doc/api/a00019.html +129 -0
  484. data/ext/pixo/ext/glm/doc/api/a00019_source.html +271 -0
  485. data/ext/pixo/ext/glm/doc/api/a00020.html +89 -0
  486. data/ext/pixo/ext/glm/doc/api/a00020_source.html +105 -0
  487. data/ext/pixo/ext/glm/doc/api/a00021.html +126 -0
  488. data/ext/pixo/ext/glm/doc/api/a00021_source.html +175 -0
  489. data/ext/pixo/ext/glm/doc/api/a00022.html +66 -0
  490. data/ext/pixo/ext/glm/doc/api/a00022_source.html +65 -0
  491. data/ext/pixo/ext/glm/doc/api/a00023.html +66 -0
  492. data/ext/pixo/ext/glm/doc/api/a00023_source.html +219 -0
  493. data/ext/pixo/ext/glm/doc/api/a00024.html +76 -0
  494. data/ext/pixo/ext/glm/doc/api/a00024_source.html +84 -0
  495. data/ext/pixo/ext/glm/doc/api/a00025.html +111 -0
  496. data/ext/pixo/ext/glm/doc/api/a00025_source.html +157 -0
  497. data/ext/pixo/ext/glm/doc/api/a00026.html +111 -0
  498. data/ext/pixo/ext/glm/doc/api/a00026_source.html +118 -0
  499. data/ext/pixo/ext/glm/doc/api/a00027.html +100 -0
  500. data/ext/pixo/ext/glm/doc/api/a00027_source.html +111 -0
  501. data/ext/pixo/ext/glm/doc/api/a00028.html +97 -0
  502. data/ext/pixo/ext/glm/doc/api/a00028_source.html +109 -0
  503. data/ext/pixo/ext/glm/doc/api/a00029.html +168 -0
  504. data/ext/pixo/ext/glm/doc/api/a00029_source.html +238 -0
  505. data/ext/pixo/ext/glm/doc/api/a00030.html +94 -0
  506. data/ext/pixo/ext/glm/doc/api/a00030_source.html +110 -0
  507. data/ext/pixo/ext/glm/doc/api/a00031.html +97 -0
  508. data/ext/pixo/ext/glm/doc/api/a00031_source.html +121 -0
  509. data/ext/pixo/ext/glm/doc/api/a00032.html +112 -0
  510. data/ext/pixo/ext/glm/doc/api/a00032_source.html +149 -0
  511. data/ext/pixo/ext/glm/doc/api/a00033.html +85 -0
  512. data/ext/pixo/ext/glm/doc/api/a00033_source.html +165 -0
  513. data/ext/pixo/ext/glm/doc/api/a00034.html +99 -0
  514. data/ext/pixo/ext/glm/doc/api/a00034_source.html +115 -0
  515. data/ext/pixo/ext/glm/doc/api/a00035.html +118 -0
  516. data/ext/pixo/ext/glm/doc/api/a00035_source.html +135 -0
  517. data/ext/pixo/ext/glm/doc/api/a00036.html +100 -0
  518. data/ext/pixo/ext/glm/doc/api/a00036_source.html +111 -0
  519. data/ext/pixo/ext/glm/doc/api/a00037.html +83 -0
  520. data/ext/pixo/ext/glm/doc/api/a00037_source.html +93 -0
  521. data/ext/pixo/ext/glm/doc/api/a00038.html +979 -0
  522. data/ext/pixo/ext/glm/doc/api/a00038_source.html +1716 -0
  523. data/ext/pixo/ext/glm/doc/api/a00039.html +66 -0
  524. data/ext/pixo/ext/glm/doc/api/a00039_source.html +65 -0
  525. data/ext/pixo/ext/glm/doc/api/a00040.html +66 -0
  526. data/ext/pixo/ext/glm/doc/api/a00040_source.html +119 -0
  527. data/ext/pixo/ext/glm/doc/api/a00041.html +81 -0
  528. data/ext/pixo/ext/glm/doc/api/a00041_source.html +93 -0
  529. data/ext/pixo/ext/glm/doc/api/a00042.html +79 -0
  530. data/ext/pixo/ext/glm/doc/api/a00042_source.html +91 -0
  531. data/ext/pixo/ext/glm/doc/api/a00043.html +67 -0
  532. data/ext/pixo/ext/glm/doc/api/a00043_source.html +185 -0
  533. data/ext/pixo/ext/glm/doc/api/a00044.html +93 -0
  534. data/ext/pixo/ext/glm/doc/api/a00044_source.html +104 -0
  535. data/ext/pixo/ext/glm/doc/api/a00045.html +98 -0
  536. data/ext/pixo/ext/glm/doc/api/a00045_source.html +107 -0
  537. data/ext/pixo/ext/glm/doc/api/a00046.html +66 -0
  538. data/ext/pixo/ext/glm/doc/api/a00046_source.html +65 -0
  539. data/ext/pixo/ext/glm/doc/api/a00047.html +93 -0
  540. data/ext/pixo/ext/glm/doc/api/a00047_source.html +124 -0
  541. data/ext/pixo/ext/glm/doc/api/a00048.html +72 -0
  542. data/ext/pixo/ext/glm/doc/api/a00048_source.html +237 -0
  543. data/ext/pixo/ext/glm/doc/api/a00049.html +79 -0
  544. data/ext/pixo/ext/glm/doc/api/a00049_source.html +89 -0
  545. data/ext/pixo/ext/glm/doc/api/a00050_source.html +2457 -0
  546. data/ext/pixo/ext/glm/doc/api/a00051.html +66 -0
  547. data/ext/pixo/ext/glm/doc/api/a00051_source.html +88 -0
  548. data/ext/pixo/ext/glm/doc/api/a00052.html +66 -0
  549. data/ext/pixo/ext/glm/doc/api/a00052_source.html +80 -0
  550. data/ext/pixo/ext/glm/doc/api/a00053.html +66 -0
  551. data/ext/pixo/ext/glm/doc/api/a00053_source.html +79 -0
  552. data/ext/pixo/ext/glm/doc/api/a00054.html +66 -0
  553. data/ext/pixo/ext/glm/doc/api/a00054_source.html +79 -0
  554. data/ext/pixo/ext/glm/doc/api/a00055.html +66 -0
  555. data/ext/pixo/ext/glm/doc/api/a00055_source.html +88 -0
  556. data/ext/pixo/ext/glm/doc/api/a00056.html +66 -0
  557. data/ext/pixo/ext/glm/doc/api/a00056_source.html +79 -0
  558. data/ext/pixo/ext/glm/doc/api/a00057.html +66 -0
  559. data/ext/pixo/ext/glm/doc/api/a00057_source.html +79 -0
  560. data/ext/pixo/ext/glm/doc/api/a00058_source.html +79 -0
  561. data/ext/pixo/ext/glm/doc/api/a00059.html +66 -0
  562. data/ext/pixo/ext/glm/doc/api/a00059_source.html +88 -0
  563. data/ext/pixo/ext/glm/doc/api/a00060.html +66 -0
  564. data/ext/pixo/ext/glm/doc/api/a00060_source.html +65 -0
  565. data/ext/pixo/ext/glm/doc/api/a00061.html +85 -0
  566. data/ext/pixo/ext/glm/doc/api/a00061_source.html +101 -0
  567. data/ext/pixo/ext/glm/doc/api/a00062.html +81 -0
  568. data/ext/pixo/ext/glm/doc/api/a00062_source.html +87 -0
  569. data/ext/pixo/ext/glm/doc/api/a00063.html +76 -0
  570. data/ext/pixo/ext/glm/doc/api/a00063_source.html +91 -0
  571. data/ext/pixo/ext/glm/doc/api/a00064.html +265 -0
  572. data/ext/pixo/ext/glm/doc/api/a00064_source.html +438 -0
  573. data/ext/pixo/ext/glm/doc/api/a00065.html +86 -0
  574. data/ext/pixo/ext/glm/doc/api/a00065_source.html +104 -0
  575. data/ext/pixo/ext/glm/doc/api/a00066.html +79 -0
  576. data/ext/pixo/ext/glm/doc/api/a00066_source.html +89 -0
  577. data/ext/pixo/ext/glm/doc/api/a00067.html +111 -0
  578. data/ext/pixo/ext/glm/doc/api/a00067_source.html +143 -0
  579. data/ext/pixo/ext/glm/doc/api/a00068.html +100 -0
  580. data/ext/pixo/ext/glm/doc/api/a00068_source.html +122 -0
  581. data/ext/pixo/ext/glm/doc/api/a00069.html +99 -0
  582. data/ext/pixo/ext/glm/doc/api/a00069_source.html +108 -0
  583. data/ext/pixo/ext/glm/doc/api/a00070.html +158 -0
  584. data/ext/pixo/ext/glm/doc/api/a00070_source.html +289 -0
  585. data/ext/pixo/ext/glm/doc/api/a00071.html +89 -0
  586. data/ext/pixo/ext/glm/doc/api/a00071_source.html +110 -0
  587. data/ext/pixo/ext/glm/doc/api/a00072.html +77 -0
  588. data/ext/pixo/ext/glm/doc/api/a00072_source.html +84 -0
  589. data/ext/pixo/ext/glm/doc/api/a00073.html +82 -0
  590. data/ext/pixo/ext/glm/doc/api/a00073_source.html +100 -0
  591. data/ext/pixo/ext/glm/doc/api/a00074.html +99 -0
  592. data/ext/pixo/ext/glm/doc/api/a00074_source.html +121 -0
  593. data/ext/pixo/ext/glm/doc/api/a00075.html +78 -0
  594. data/ext/pixo/ext/glm/doc/api/a00075_source.html +84 -0
  595. data/ext/pixo/ext/glm/doc/api/a00076.html +81 -0
  596. data/ext/pixo/ext/glm/doc/api/a00076_source.html +85 -0
  597. data/ext/pixo/ext/glm/doc/api/a00077.html +107 -0
  598. data/ext/pixo/ext/glm/doc/api/a00077_source.html +115 -0
  599. data/ext/pixo/ext/glm/doc/api/a00078.html +82 -0
  600. data/ext/pixo/ext/glm/doc/api/a00078_source.html +91 -0
  601. data/ext/pixo/ext/glm/doc/api/a00079.html +81 -0
  602. data/ext/pixo/ext/glm/doc/api/a00079_source.html +86 -0
  603. data/ext/pixo/ext/glm/doc/api/a00080.html +175 -0
  604. data/ext/pixo/ext/glm/doc/api/a00080_source.html +233 -0
  605. data/ext/pixo/ext/glm/doc/api/a00081.html +66 -0
  606. data/ext/pixo/ext/glm/doc/api/a00081_source.html +65 -0
  607. data/ext/pixo/ext/glm/doc/api/a00082_source.html +61 -0
  608. data/ext/pixo/ext/glm/doc/api/a00083.html +78 -0
  609. data/ext/pixo/ext/glm/doc/api/a00083_source.html +84 -0
  610. data/ext/pixo/ext/glm/doc/api/a00084.html +79 -0
  611. data/ext/pixo/ext/glm/doc/api/a00084_source.html +87 -0
  612. data/ext/pixo/ext/glm/doc/api/a00085.html +66 -0
  613. data/ext/pixo/ext/glm/doc/api/a00085_source.html +123 -0
  614. data/ext/pixo/ext/glm/doc/api/a00086.html +76 -0
  615. data/ext/pixo/ext/glm/doc/api/a00086_source.html +81 -0
  616. data/ext/pixo/ext/glm/doc/api/a00087.html +161 -0
  617. data/ext/pixo/ext/glm/doc/api/a00087_source.html +329 -0
  618. data/ext/pixo/ext/glm/doc/api/a00088.html +129 -0
  619. data/ext/pixo/ext/glm/doc/api/a00088_source.html +189 -0
  620. data/ext/pixo/ext/glm/doc/api/a00089.html +98 -0
  621. data/ext/pixo/ext/glm/doc/api/a00089_source.html +115 -0
  622. data/ext/pixo/ext/glm/doc/api/a00090.html +67 -0
  623. data/ext/pixo/ext/glm/doc/api/a00090_source.html +133 -0
  624. data/ext/pixo/ext/glm/doc/api/a00091.html +81 -0
  625. data/ext/pixo/ext/glm/doc/api/a00091_source.html +90 -0
  626. data/ext/pixo/ext/glm/doc/api/a00092.html +109 -0
  627. data/ext/pixo/ext/glm/doc/api/a00092_source.html +126 -0
  628. data/ext/pixo/ext/glm/doc/api/a00093.html +83 -0
  629. data/ext/pixo/ext/glm/doc/api/a00093_source.html +94 -0
  630. data/ext/pixo/ext/glm/doc/api/a00094.html +108 -0
  631. data/ext/pixo/ext/glm/doc/api/a00094_source.html +143 -0
  632. data/ext/pixo/ext/glm/doc/api/a00095.html +126 -0
  633. data/ext/pixo/ext/glm/doc/api/a00095_source.html +149 -0
  634. data/ext/pixo/ext/glm/doc/api/a00096.html +69 -0
  635. data/ext/pixo/ext/glm/doc/api/a00096_source.html +131 -0
  636. data/ext/pixo/ext/glm/doc/api/a00097.html +67 -0
  637. data/ext/pixo/ext/glm/doc/api/a00097_source.html +79 -0
  638. data/ext/pixo/ext/glm/doc/api/a00098.html +66 -0
  639. data/ext/pixo/ext/glm/doc/api/a00098_source.html +827 -0
  640. data/ext/pixo/ext/glm/doc/api/a00099.html +67 -0
  641. data/ext/pixo/ext/glm/doc/api/a00099_source.html +219 -0
  642. data/ext/pixo/ext/glm/doc/api/a00100.html +67 -0
  643. data/ext/pixo/ext/glm/doc/api/a00100_source.html +282 -0
  644. data/ext/pixo/ext/glm/doc/api/a00101.html +67 -0
  645. data/ext/pixo/ext/glm/doc/api/a00101_source.html +402 -0
  646. data/ext/pixo/ext/glm/doc/api/a00102.html +82 -0
  647. data/ext/pixo/ext/glm/doc/api/a00102_source.html +105 -0
  648. data/ext/pixo/ext/glm/doc/api/a00103.html +91 -0
  649. data/ext/pixo/ext/glm/doc/api/a00103_source.html +102 -0
  650. data/ext/pixo/ext/glm/doc/api/a00104.html +82 -0
  651. data/ext/pixo/ext/glm/doc/api/a00104_source.html +89 -0
  652. data/ext/pixo/ext/glm/doc/api/a00105.html +88 -0
  653. data/ext/pixo/ext/glm/doc/api/a00105_source.html +95 -0
  654. data/ext/pixo/ext/glm/doc/api/a00106.html +102 -0
  655. data/ext/pixo/ext/glm/doc/api/a00106_source.html +144 -0
  656. data/ext/pixo/ext/glm/doc/api/a00107.html +66 -0
  657. data/ext/pixo/ext/glm/doc/api/a00107_source.html +65 -0
  658. data/ext/pixo/ext/glm/doc/api/a00108.html +241 -0
  659. data/ext/pixo/ext/glm/doc/api/a00108_source.html +383 -0
  660. data/ext/pixo/ext/glm/doc/api/a00109.html +493 -0
  661. data/ext/pixo/ext/glm/doc/api/a00109_source.html +769 -0
  662. data/ext/pixo/ext/glm/doc/api/a00110.html +82 -0
  663. data/ext/pixo/ext/glm/doc/api/a00110_source.html +113 -0
  664. data/ext/pixo/ext/glm/doc/api/a00111.html +66 -0
  665. data/ext/pixo/ext/glm/doc/api/a00111_source.html +248 -0
  666. data/ext/pixo/ext/glm/doc/api/a00112.html +66 -0
  667. data/ext/pixo/ext/glm/doc/api/a00112_source.html +79 -0
  668. data/ext/pixo/ext/glm/doc/api/a00113.html +102 -0
  669. data/ext/pixo/ext/glm/doc/api/a00113_source.html +352 -0
  670. data/ext/pixo/ext/glm/doc/api/a00114.html +271 -0
  671. data/ext/pixo/ext/glm/doc/api/a00114_source.html +469 -0
  672. data/ext/pixo/ext/glm/doc/api/a00115.html +66 -0
  673. data/ext/pixo/ext/glm/doc/api/a00115_source.html +245 -0
  674. data/ext/pixo/ext/glm/doc/api/a00116.html +66 -0
  675. data/ext/pixo/ext/glm/doc/api/a00116_source.html +228 -0
  676. data/ext/pixo/ext/glm/doc/api/a00117.html +66 -0
  677. data/ext/pixo/ext/glm/doc/api/a00117_source.html +230 -0
  678. data/ext/pixo/ext/glm/doc/api/a00118.html +66 -0
  679. data/ext/pixo/ext/glm/doc/api/a00118_source.html +236 -0
  680. data/ext/pixo/ext/glm/doc/api/a00119.html +66 -0
  681. data/ext/pixo/ext/glm/doc/api/a00119_source.html +252 -0
  682. data/ext/pixo/ext/glm/doc/api/a00120.html +66 -0
  683. data/ext/pixo/ext/glm/doc/api/a00120_source.html +235 -0
  684. data/ext/pixo/ext/glm/doc/api/a00121.html +66 -0
  685. data/ext/pixo/ext/glm/doc/api/a00121_source.html +240 -0
  686. data/ext/pixo/ext/glm/doc/api/a00122.html +66 -0
  687. data/ext/pixo/ext/glm/doc/api/a00122_source.html +240 -0
  688. data/ext/pixo/ext/glm/doc/api/a00123.html +66 -0
  689. data/ext/pixo/ext/glm/doc/api/a00123_source.html +257 -0
  690. data/ext/pixo/ext/glm/doc/api/a00124.html +71 -0
  691. data/ext/pixo/ext/glm/doc/api/a00124_source.html +692 -0
  692. data/ext/pixo/ext/glm/doc/api/a00125.html +128 -0
  693. data/ext/pixo/ext/glm/doc/api/a00125_source.html +158 -0
  694. data/ext/pixo/ext/glm/doc/api/a00126.html +67 -0
  695. data/ext/pixo/ext/glm/doc/api/a00126_source.html +299 -0
  696. data/ext/pixo/ext/glm/doc/api/a00127.html +192 -0
  697. data/ext/pixo/ext/glm/doc/api/a00127_source.html +435 -0
  698. data/ext/pixo/ext/glm/doc/api/a00128.html +66 -0
  699. data/ext/pixo/ext/glm/doc/api/a00128_source.html +357 -0
  700. data/ext/pixo/ext/glm/doc/api/a00129.html +66 -0
  701. data/ext/pixo/ext/glm/doc/api/a00129_source.html +443 -0
  702. data/ext/pixo/ext/glm/doc/api/a00130.html +66 -0
  703. data/ext/pixo/ext/glm/doc/api/a00130_source.html +461 -0
  704. data/ext/pixo/ext/glm/doc/api/a00131.html +66 -0
  705. data/ext/pixo/ext/glm/doc/api/a00131_source.html +500 -0
  706. data/ext/pixo/ext/glm/doc/api/a00132.html +91 -0
  707. data/ext/pixo/ext/glm/doc/api/a00132_source.html +101 -0
  708. data/ext/pixo/ext/glm/doc/api/a00133.html +107 -0
  709. data/ext/pixo/ext/glm/doc/api/a00133_source.html +159 -0
  710. data/ext/pixo/ext/glm/doc/api/a00134.html +66 -0
  711. data/ext/pixo/ext/glm/doc/api/a00134_source.html +65 -0
  712. data/ext/pixo/ext/glm/doc/api/a00135.html +66 -0
  713. data/ext/pixo/ext/glm/doc/api/a00135_source.html +65 -0
  714. data/ext/pixo/ext/glm/doc/api/a00136.html +66 -0
  715. data/ext/pixo/ext/glm/doc/api/a00136_source.html +65 -0
  716. data/ext/pixo/ext/glm/doc/api/a00137.html +86 -0
  717. data/ext/pixo/ext/glm/doc/api/a00137_source.html +98 -0
  718. data/ext/pixo/ext/glm/doc/api/a00138.html +91 -0
  719. data/ext/pixo/ext/glm/doc/api/a00138_source.html +104 -0
  720. data/ext/pixo/ext/glm/doc/api/a00139.html +66 -0
  721. data/ext/pixo/ext/glm/doc/api/a00139_source.html +65 -0
  722. data/ext/pixo/ext/glm/doc/api/a00140.html +85 -0
  723. data/ext/pixo/ext/glm/doc/api/a00140_source.html +94 -0
  724. data/ext/pixo/ext/glm/doc/api/a00146.html +1123 -0
  725. data/ext/pixo/ext/glm/doc/api/a00147.html +325 -0
  726. data/ext/pixo/ext/glm/doc/api/a00148.html +367 -0
  727. data/ext/pixo/ext/glm/doc/api/a00149.html +577 -0
  728. data/ext/pixo/ext/glm/doc/api/a00150.html +210 -0
  729. data/ext/pixo/ext/glm/doc/api/a00151.html +364 -0
  730. data/ext/pixo/ext/glm/doc/api/a00152.html +532 -0
  731. data/ext/pixo/ext/glm/doc/api/a00153.html +393 -0
  732. data/ext/pixo/ext/glm/doc/api/a00154.html +103 -0
  733. data/ext/pixo/ext/glm/doc/api/a00155.html +177 -0
  734. data/ext/pixo/ext/glm/doc/api/a00156.html +84 -0
  735. data/ext/pixo/ext/glm/doc/api/a00157.html +808 -0
  736. data/ext/pixo/ext/glm/doc/api/a00158.html +2827 -0
  737. data/ext/pixo/ext/glm/doc/api/a00159.html +53 -0
  738. data/ext/pixo/ext/glm/doc/api/a00160.html +985 -0
  739. data/ext/pixo/ext/glm/doc/api/a00161.html +141 -0
  740. data/ext/pixo/ext/glm/doc/api/a00162.html +670 -0
  741. data/ext/pixo/ext/glm/doc/api/a00163.html +217 -0
  742. data/ext/pixo/ext/glm/doc/api/a00164.html +137 -0
  743. data/ext/pixo/ext/glm/doc/api/a00165.html +290 -0
  744. data/ext/pixo/ext/glm/doc/api/a00166.html +201 -0
  745. data/ext/pixo/ext/glm/doc/api/a00167.html +1885 -0
  746. data/ext/pixo/ext/glm/doc/api/a00168.html +129 -0
  747. data/ext/pixo/ext/glm/doc/api/a00169.html +1690 -0
  748. data/ext/pixo/ext/glm/doc/api/a00170.html +136 -0
  749. data/ext/pixo/ext/glm/doc/api/a00171.html +1406 -0
  750. data/ext/pixo/ext/glm/doc/api/a00172.html +939 -0
  751. data/ext/pixo/ext/glm/doc/api/a00173.html +303 -0
  752. data/ext/pixo/ext/glm/doc/api/a00174.html +406 -0
  753. data/ext/pixo/ext/glm/doc/api/a00175.html +603 -0
  754. data/ext/pixo/ext/glm/doc/api/a00176.html +688 -0
  755. data/ext/pixo/ext/glm/doc/api/a00177.html +3678 -0
  756. data/ext/pixo/ext/glm/doc/api/a00178.html +445 -0
  757. data/ext/pixo/ext/glm/doc/api/a00179.html +233 -0
  758. data/ext/pixo/ext/glm/doc/api/a00180.html +53 -0
  759. data/ext/pixo/ext/glm/doc/api/a00181.html +1293 -0
  760. data/ext/pixo/ext/glm/doc/api/a00182.html +273 -0
  761. data/ext/pixo/ext/glm/doc/api/a00183.html +103 -0
  762. data/ext/pixo/ext/glm/doc/api/a00184.html +213 -0
  763. data/ext/pixo/ext/glm/doc/api/a00185.html +153 -0
  764. data/ext/pixo/ext/glm/doc/api/a00186.html +117 -0
  765. data/ext/pixo/ext/glm/doc/api/a00187.html +312 -0
  766. data/ext/pixo/ext/glm/doc/api/a00188.html +193 -0
  767. data/ext/pixo/ext/glm/doc/api/a00189.html +464 -0
  768. data/ext/pixo/ext/glm/doc/api/a00190.html +565 -0
  769. data/ext/pixo/ext/glm/doc/api/a00191.html +99 -0
  770. data/ext/pixo/ext/glm/doc/api/a00192.html +553 -0
  771. data/ext/pixo/ext/glm/doc/api/a00193.html +355 -0
  772. data/ext/pixo/ext/glm/doc/api/a00194.html +282 -0
  773. data/ext/pixo/ext/glm/doc/api/a00195.html +246 -0
  774. data/ext/pixo/ext/glm/doc/api/a00196.html +143 -0
  775. data/ext/pixo/ext/glm/doc/api/a00197.html +137 -0
  776. data/ext/pixo/ext/glm/doc/api/a00198.html +53 -0
  777. data/ext/pixo/ext/glm/doc/api/a00199.html +314 -0
  778. data/ext/pixo/ext/glm/doc/api/a00200.html +397 -0
  779. data/ext/pixo/ext/glm/doc/api/a00201.html +55 -0
  780. data/ext/pixo/ext/glm/doc/api/a00202.html +126 -0
  781. data/ext/pixo/ext/glm/doc/api/a00203.html +105 -0
  782. data/ext/pixo/ext/glm/doc/api/a00204.html +117 -0
  783. data/ext/pixo/ext/glm/doc/api/a00205.html +191 -0
  784. data/ext/pixo/ext/glm/doc/api/a00206.html +421 -0
  785. data/ext/pixo/ext/glm/doc/api/a00207.html +259 -0
  786. data/ext/pixo/ext/glm/doc/api/a00208.html +317 -0
  787. data/ext/pixo/ext/glm/doc/api/a00209.html +251 -0
  788. data/ext/pixo/ext/glm/doc/api/a00210.html +64 -0
  789. data/ext/pixo/ext/glm/doc/api/a00211.html +293 -0
  790. data/ext/pixo/ext/glm/doc/api/a00212.html +99 -0
  791. data/ext/pixo/ext/glm/doc/api/a00213.html +127 -0
  792. data/ext/pixo/ext/glm/doc/api/a00214.html +90 -0
  793. data/ext/pixo/ext/glm/doc/api/a00215.html +127 -0
  794. data/ext/pixo/ext/glm/doc/api/a00216.html +115 -0
  795. data/ext/pixo/ext/glm/doc/api/a00217.html +93 -0
  796. data/ext/pixo/ext/glm/doc/api/a00218.html +105 -0
  797. data/ext/pixo/ext/glm/doc/api/a00219.html +93 -0
  798. data/ext/pixo/ext/glm/doc/api/a00220.html +613 -0
  799. data/ext/pixo/ext/glm/doc/api/a00221.html +55 -0
  800. data/ext/pixo/ext/glm/doc/api/a00222.html +137 -0
  801. data/ext/pixo/ext/glm/doc/api/a00223.html +165 -0
  802. data/ext/pixo/ext/glm/doc/api/a00224.html +439 -0
  803. data/ext/pixo/ext/glm/doc/api/a00225.html +53 -0
  804. data/ext/pixo/ext/glm/doc/api/a00226.html +53 -0
  805. data/ext/pixo/ext/glm/doc/api/a00227.html +53 -0
  806. data/ext/pixo/ext/glm/doc/api/a00228.html +53 -0
  807. data/ext/pixo/ext/glm/doc/api/a00229.html +211 -0
  808. data/ext/pixo/ext/glm/doc/api/a00230.html +213 -0
  809. data/ext/pixo/ext/glm/doc/api/a00231.html +83 -0
  810. data/ext/pixo/ext/glm/doc/api/a00232.html +143 -0
  811. data/ext/pixo/ext/glm/doc/api/a00233.html +372 -0
  812. data/ext/pixo/ext/glm/doc/api/a00234.html +7811 -0
  813. data/ext/pixo/ext/glm/doc/api/a00235.html +54 -0
  814. data/ext/pixo/ext/glm/doc/api/a00236.html +163 -0
  815. data/ext/pixo/ext/glm/doc/api/a00237.html +271 -0
  816. data/ext/pixo/ext/glm/doc/api/a00238.html +149 -0
  817. data/ext/pixo/ext/glm/doc/api/arrowdown.png +0 -0
  818. data/ext/pixo/ext/glm/doc/api/arrowright.png +0 -0
  819. data/ext/pixo/ext/glm/doc/api/bc_s.png +0 -0
  820. data/ext/pixo/ext/glm/doc/api/bdwn.png +0 -0
  821. data/ext/pixo/ext/glm/doc/api/closed.png +0 -0
  822. data/ext/pixo/ext/glm/doc/api/dir_1f76e953200861345293ade84ac7fb6c.html +61 -0
  823. data/ext/pixo/ext/glm/doc/api/dir_275089585c7fc1b5fd5d7d42c69cb1da.html +61 -0
  824. data/ext/pixo/ext/glm/doc/api/dir_577c788b67d63fb3b3b5752bd495d0f2.html +63 -0
  825. data/ext/pixo/ext/glm/doc/api/dir_5ce58d942b2d0776e17a9a58abc01e04.html +114 -0
  826. data/ext/pixo/ext/glm/doc/api/dir_7b98f88bffbed4b390b5f8f520d9c08e.html +61 -0
  827. data/ext/pixo/ext/glm/doc/api/dir_8d176b5b7dd0ae42ea6876078f2bde49.html +177 -0
  828. data/ext/pixo/ext/glm/doc/api/dir_9440d7c11b99dcd7e5d369c7cf9802fe.html +101 -0
  829. data/ext/pixo/ext/glm/doc/api/dir_e29b03b892e0e25920d021a614d4db9b.html +63 -0
  830. data/ext/pixo/ext/glm/doc/api/dir_e529a619cfdec1fa4c331fb042fd332f.html +129 -0
  831. data/ext/pixo/ext/glm/doc/api/doc.png +0 -0
  832. data/ext/pixo/ext/glm/doc/api/doxygen.css +865 -0
  833. data/ext/pixo/ext/glm/doc/api/doxygen.png +0 -0
  834. data/ext/pixo/ext/glm/doc/api/dynsections.js +104 -0
  835. data/ext/pixo/ext/glm/doc/api/files.html +200 -0
  836. data/ext/pixo/ext/glm/doc/api/folderclosed.png +0 -0
  837. data/ext/pixo/ext/glm/doc/api/folderopen.png +0 -0
  838. data/ext/pixo/ext/glm/doc/api/index.html +68 -0
  839. data/ext/pixo/ext/glm/doc/api/jquery.js +68 -0
  840. data/ext/pixo/ext/glm/doc/api/logo.png +0 -0
  841. data/ext/pixo/ext/glm/doc/api/modules.html +149 -0
  842. data/ext/pixo/ext/glm/doc/api/nav_f.png +0 -0
  843. data/ext/pixo/ext/glm/doc/api/nav_g.png +0 -0
  844. data/ext/pixo/ext/glm/doc/api/nav_h.png +0 -0
  845. data/ext/pixo/ext/glm/doc/api/open.png +0 -0
  846. data/ext/pixo/ext/glm/doc/api/splitbar.png +0 -0
  847. data/ext/pixo/ext/glm/doc/api/sync_off.png +0 -0
  848. data/ext/pixo/ext/glm/doc/api/sync_on.png +0 -0
  849. data/ext/pixo/ext/glm/doc/api/tab_a.png +0 -0
  850. data/ext/pixo/ext/glm/doc/api/tab_b.png +0 -0
  851. data/ext/pixo/ext/glm/doc/api/tab_h.png +0 -0
  852. data/ext/pixo/ext/glm/doc/api/tab_s.png +0 -0
  853. data/ext/pixo/ext/glm/doc/api/tabs.css +79 -0
  854. data/ext/pixo/ext/glm/doc/glm.docx +0 -0
  855. data/ext/pixo/ext/glm/doc/glm.pdf +0 -0
  856. data/ext/pixo/ext/glm/doc/logo.png +0 -0
  857. data/ext/pixo/ext/glm/doc/man.doxy +2396 -0
  858. data/ext/pixo/ext/glm/doc/pages.doxy +32 -0
  859. data/ext/pixo/ext/glm/doc/theme/doxygen.css +865 -0
  860. data/ext/pixo/ext/glm/doc/theme/tabs.css +79 -0
  861. data/ext/pixo/ext/glm/glm/CMakeLists.txt +67 -0
  862. data/ext/pixo/ext/glm/glm/common.hpp +6 -0
  863. data/ext/pixo/ext/glm/glm/detail/_features.hpp +399 -0
  864. data/ext/pixo/ext/glm/glm/detail/_fixes.hpp +30 -0
  865. data/ext/pixo/ext/glm/glm/detail/_noise.hpp +107 -0
  866. data/ext/pixo/ext/glm/glm/detail/_swizzle.hpp +797 -0
  867. data/ext/pixo/ext/glm/glm/detail/_swizzle_func.hpp +696 -0
  868. data/ext/pixo/ext/glm/glm/detail/_vectorize.hpp +131 -0
  869. data/ext/pixo/ext/glm/glm/detail/dummy.cpp +207 -0
  870. data/ext/pixo/ext/glm/glm/detail/func_common.hpp +427 -0
  871. data/ext/pixo/ext/glm/glm/detail/func_common.inl +848 -0
  872. data/ext/pixo/ext/glm/glm/detail/func_common_simd.inl +231 -0
  873. data/ext/pixo/ext/glm/glm/detail/func_exponential.hpp +103 -0
  874. data/ext/pixo/ext/glm/glm/detail/func_exponential.inl +146 -0
  875. data/ext/pixo/ext/glm/glm/detail/func_exponential_simd.inl +35 -0
  876. data/ext/pixo/ext/glm/glm/detail/func_geometric.hpp +113 -0
  877. data/ext/pixo/ext/glm/glm/detail/func_geometric.inl +247 -0
  878. data/ext/pixo/ext/glm/glm/detail/func_geometric_simd.inl +99 -0
  879. data/ext/pixo/ext/glm/glm/detail/func_integer.hpp +203 -0
  880. data/ext/pixo/ext/glm/glm/detail/func_integer.inl +375 -0
  881. data/ext/pixo/ext/glm/glm/detail/func_integer_simd.inl +66 -0
  882. data/ext/pixo/ext/glm/glm/detail/func_matrix.hpp +149 -0
  883. data/ext/pixo/ext/glm/glm/detail/func_matrix.inl +401 -0
  884. data/ext/pixo/ext/glm/glm/detail/func_matrix_simd.inl +88 -0
  885. data/ext/pixo/ext/glm/glm/detail/func_packing.hpp +168 -0
  886. data/ext/pixo/ext/glm/glm/detail/func_packing.inl +190 -0
  887. data/ext/pixo/ext/glm/glm/detail/func_packing_simd.inl +9 -0
  888. data/ext/pixo/ext/glm/glm/detail/func_trigonometric.hpp +176 -0
  889. data/ext/pixo/ext/glm/glm/detail/func_trigonometric.inl +200 -0
  890. data/ext/pixo/ext/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  891. data/ext/pixo/ext/glm/glm/detail/func_vector_relational.hpp +111 -0
  892. data/ext/pixo/ext/glm/glm/detail/func_vector_relational.inl +105 -0
  893. data/ext/pixo/ext/glm/glm/detail/func_vector_relational_simd.inl +9 -0
  894. data/ext/pixo/ext/glm/glm/detail/glm.cpp +257 -0
  895. data/ext/pixo/ext/glm/glm/detail/precision.hpp +63 -0
  896. data/ext/pixo/ext/glm/glm/detail/setup.hpp +777 -0
  897. data/ext/pixo/ext/glm/glm/detail/type_float.hpp +67 -0
  898. data/ext/pixo/ext/glm/glm/detail/type_gentype.hpp +195 -0
  899. data/ext/pixo/ext/glm/glm/detail/type_gentype.inl +341 -0
  900. data/ext/pixo/ext/glm/glm/detail/type_half.hpp +19 -0
  901. data/ext/pixo/ext/glm/glm/detail/type_half.inl +244 -0
  902. data/ext/pixo/ext/glm/glm/detail/type_int.hpp +306 -0
  903. data/ext/pixo/ext/glm/glm/detail/type_mat.hpp +767 -0
  904. data/ext/pixo/ext/glm/glm/detail/type_mat.inl +3 -0
  905. data/ext/pixo/ext/glm/glm/detail/type_mat2x2.hpp +183 -0
  906. data/ext/pixo/ext/glm/glm/detail/type_mat2x2.inl +490 -0
  907. data/ext/pixo/ext/glm/glm/detail/type_mat2x3.hpp +165 -0
  908. data/ext/pixo/ext/glm/glm/detail/type_mat2x3.inl +464 -0
  909. data/ext/pixo/ext/glm/glm/detail/type_mat2x4.hpp +167 -0
  910. data/ext/pixo/ext/glm/glm/detail/type_mat2x4.inl +473 -0
  911. data/ext/pixo/ext/glm/glm/detail/type_mat3x2.hpp +173 -0
  912. data/ext/pixo/ext/glm/glm/detail/type_mat3x2.inl +498 -0
  913. data/ext/pixo/ext/glm/glm/detail/type_mat3x3.hpp +190 -0
  914. data/ext/pixo/ext/glm/glm/detail/type_mat3x3.inl +567 -0
  915. data/ext/pixo/ext/glm/glm/detail/type_mat3x4.hpp +172 -0
  916. data/ext/pixo/ext/glm/glm/detail/type_mat3x4.inl +538 -0
  917. data/ext/pixo/ext/glm/glm/detail/type_mat4x2.hpp +177 -0
  918. data/ext/pixo/ext/glm/glm/detail/type_mat4x2.inl +551 -0
  919. data/ext/pixo/ext/glm/glm/detail/type_mat4x3.hpp +177 -0
  920. data/ext/pixo/ext/glm/glm/detail/type_mat4x3.inl +568 -0
  921. data/ext/pixo/ext/glm/glm/detail/type_mat4x4.hpp +195 -0
  922. data/ext/pixo/ext/glm/glm/detail/type_mat4x4.inl +677 -0
  923. data/ext/pixo/ext/glm/glm/detail/type_mat4x4_simd.inl +7 -0
  924. data/ext/pixo/ext/glm/glm/detail/type_vec.hpp +576 -0
  925. data/ext/pixo/ext/glm/glm/detail/type_vec.inl +2 -0
  926. data/ext/pixo/ext/glm/glm/detail/type_vec1.hpp +299 -0
  927. data/ext/pixo/ext/glm/glm/detail/type_vec1.inl +564 -0
  928. data/ext/pixo/ext/glm/glm/detail/type_vec2.hpp +385 -0
  929. data/ext/pixo/ext/glm/glm/detail/type_vec2.inl +900 -0
  930. data/ext/pixo/ext/glm/glm/detail/type_vec3.hpp +406 -0
  931. data/ext/pixo/ext/glm/glm/detail/type_vec3.inl +1028 -0
  932. data/ext/pixo/ext/glm/glm/detail/type_vec4.hpp +451 -0
  933. data/ext/pixo/ext/glm/glm/detail/type_vec4.inl +975 -0
  934. data/ext/pixo/ext/glm/glm/detail/type_vec4_simd.inl +481 -0
  935. data/ext/pixo/ext/glm/glm/exponential.hpp +6 -0
  936. data/ext/pixo/ext/glm/glm/ext.hpp +117 -0
  937. data/ext/pixo/ext/glm/glm/fwd.hpp +2570 -0
  938. data/ext/pixo/ext/glm/glm/geometric.hpp +6 -0
  939. data/ext/pixo/ext/glm/glm/glm.hpp +88 -0
  940. data/ext/pixo/ext/glm/glm/gtc/bitfield.hpp +207 -0
  941. data/ext/pixo/ext/glm/glm/gtc/bitfield.inl +515 -0
  942. data/ext/pixo/ext/glm/glm/gtc/color_encoding.hpp +50 -0
  943. data/ext/pixo/ext/glm/glm/gtc/color_encoding.inl +65 -0
  944. data/ext/pixo/ext/glm/glm/gtc/color_space.hpp +56 -0
  945. data/ext/pixo/ext/glm/glm/gtc/color_space.inl +75 -0
  946. data/ext/pixo/ext/glm/glm/gtc/constants.hpp +176 -0
  947. data/ext/pixo/ext/glm/glm/gtc/constants.inl +181 -0
  948. data/ext/pixo/ext/glm/glm/gtc/epsilon.hpp +73 -0
  949. data/ext/pixo/ext/glm/glm/gtc/epsilon.inl +125 -0
  950. data/ext/pixo/ext/glm/glm/gtc/functions.hpp +53 -0
  951. data/ext/pixo/ext/glm/glm/gtc/functions.inl +31 -0
  952. data/ext/pixo/ext/glm/glm/gtc/integer.hpp +102 -0
  953. data/ext/pixo/ext/glm/glm/gtc/integer.inl +71 -0
  954. data/ext/pixo/ext/glm/glm/gtc/matrix_access.hpp +59 -0
  955. data/ext/pixo/ext/glm/glm/gtc/matrix_access.inl +63 -0
  956. data/ext/pixo/ext/glm/glm/gtc/matrix_integer.hpp +486 -0
  957. data/ext/pixo/ext/glm/glm/gtc/matrix_inverse.hpp +49 -0
  958. data/ext/pixo/ext/glm/glm/gtc/matrix_inverse.inl +120 -0
  959. data/ext/pixo/ext/glm/glm/gtc/matrix_transform.hpp +465 -0
  960. data/ext/pixo/ext/glm/glm/gtc/matrix_transform.inl +575 -0
  961. data/ext/pixo/ext/glm/glm/gtc/noise.hpp +60 -0
  962. data/ext/pixo/ext/glm/glm/gtc/noise.inl +808 -0
  963. data/ext/pixo/ext/glm/glm/gtc/packing.hpp +579 -0
  964. data/ext/pixo/ext/glm/glm/gtc/packing.inl +781 -0
  965. data/ext/pixo/ext/glm/glm/gtc/quaternion.hpp +397 -0
  966. data/ext/pixo/ext/glm/glm/gtc/quaternion.inl +801 -0
  967. data/ext/pixo/ext/glm/glm/gtc/quaternion_simd.inl +198 -0
  968. data/ext/pixo/ext/glm/glm/gtc/random.hpp +98 -0
  969. data/ext/pixo/ext/glm/glm/gtc/random.inl +350 -0
  970. data/ext/pixo/ext/glm/glm/gtc/reciprocal.hpp +135 -0
  971. data/ext/pixo/ext/glm/glm/gtc/reciprocal.inl +192 -0
  972. data/ext/pixo/ext/glm/glm/gtc/round.hpp +174 -0
  973. data/ext/pixo/ext/glm/glm/gtc/round.inl +344 -0
  974. data/ext/pixo/ext/glm/glm/gtc/type_aligned.hpp +362 -0
  975. data/ext/pixo/ext/glm/glm/gtc/type_precision.hpp +861 -0
  976. data/ext/pixo/ext/glm/glm/gtc/type_precision.inl +7 -0
  977. data/ext/pixo/ext/glm/glm/gtc/type_ptr.hpp +149 -0
  978. data/ext/pixo/ext/glm/glm/gtc/type_ptr.inl +450 -0
  979. data/ext/pixo/ext/glm/glm/gtc/ulp.hpp +63 -0
  980. data/ext/pixo/ext/glm/glm/gtc/ulp.inl +321 -0
  981. data/ext/pixo/ext/glm/glm/gtc/vec1.hpp +164 -0
  982. data/ext/pixo/ext/glm/glm/gtc/vec1.inl +2 -0
  983. data/ext/pixo/ext/glm/glm/gtx/associated_min_max.hpp +202 -0
  984. data/ext/pixo/ext/glm/glm/gtx/associated_min_max.inl +355 -0
  985. data/ext/pixo/ext/glm/glm/gtx/bit.hpp +95 -0
  986. data/ext/pixo/ext/glm/glm/gtx/bit.inl +93 -0
  987. data/ext/pixo/ext/glm/glm/gtx/closest_point.hpp +45 -0
  988. data/ext/pixo/ext/glm/glm/gtx/closest_point.inl +46 -0
  989. data/ext/pixo/ext/glm/glm/gtx/color_space.hpp +68 -0
  990. data/ext/pixo/ext/glm/glm/gtx/color_space.inl +143 -0
  991. data/ext/pixo/ext/glm/glm/gtx/color_space_YCoCg.hpp +56 -0
  992. data/ext/pixo/ext/glm/glm/gtx/color_space_YCoCg.inl +108 -0
  993. data/ext/pixo/ext/glm/glm/gtx/common.hpp +53 -0
  994. data/ext/pixo/ext/glm/glm/gtx/common.inl +112 -0
  995. data/ext/pixo/ext/glm/glm/gtx/compatibility.hpp +130 -0
  996. data/ext/pixo/ext/glm/glm/gtx/compatibility.inl +65 -0
  997. data/ext/pixo/ext/glm/glm/gtx/component_wise.hpp +65 -0
  998. data/ext/pixo/ext/glm/glm/gtx/component_wise.inl +128 -0
  999. data/ext/pixo/ext/glm/glm/gtx/dual_quaternion.hpp +266 -0
  1000. data/ext/pixo/ext/glm/glm/gtx/dual_quaternion.inl +357 -0
  1001. data/ext/pixo/ext/glm/glm/gtx/euler_angles.hpp +143 -0
  1002. data/ext/pixo/ext/glm/glm/gtx/euler_angles.inl +312 -0
  1003. data/ext/pixo/ext/glm/glm/gtx/extend.hpp +38 -0
  1004. data/ext/pixo/ext/glm/glm/gtx/extend.inl +49 -0
  1005. data/ext/pixo/ext/glm/glm/gtx/extended_min_max.hpp +133 -0
  1006. data/ext/pixo/ext/glm/glm/gtx/extended_min_max.inl +140 -0
  1007. data/ext/pixo/ext/glm/glm/gtx/fast_exponential.hpp +91 -0
  1008. data/ext/pixo/ext/glm/glm/gtx/fast_exponential.inl +137 -0
  1009. data/ext/pixo/ext/glm/glm/gtx/fast_square_root.hpp +88 -0
  1010. data/ext/pixo/ext/glm/glm/gtx/fast_square_root.inl +81 -0
  1011. data/ext/pixo/ext/glm/glm/gtx/fast_trigonometry.hpp +75 -0
  1012. data/ext/pixo/ext/glm/glm/gtx/fast_trigonometry.inl +143 -0
  1013. data/ext/pixo/ext/glm/glm/gtx/float_notmalize.inl +14 -0
  1014. data/ext/pixo/ext/glm/glm/gtx/gradient_paint.hpp +48 -0
  1015. data/ext/pixo/ext/glm/glm/gtx/gradient_paint.inl +37 -0
  1016. data/ext/pixo/ext/glm/glm/gtx/handed_coordinate_space.hpp +46 -0
  1017. data/ext/pixo/ext/glm/glm/gtx/handed_coordinate_space.inl +27 -0
  1018. data/ext/pixo/ext/glm/glm/gtx/hash.hpp +134 -0
  1019. data/ext/pixo/ext/glm/glm/gtx/hash.inl +185 -0
  1020. data/ext/pixo/ext/glm/glm/gtx/integer.hpp +72 -0
  1021. data/ext/pixo/ext/glm/glm/gtx/integer.inl +182 -0
  1022. data/ext/pixo/ext/glm/glm/gtx/intersect.hpp +87 -0
  1023. data/ext/pixo/ext/glm/glm/gtx/intersect.inl +170 -0
  1024. data/ext/pixo/ext/glm/glm/gtx/io.hpp +197 -0
  1025. data/ext/pixo/ext/glm/glm/gtx/io.inl +441 -0
  1026. data/ext/pixo/ext/glm/glm/gtx/log_base.hpp +44 -0
  1027. data/ext/pixo/ext/glm/glm/gtx/log_base.inl +18 -0
  1028. data/ext/pixo/ext/glm/glm/gtx/matrix_cross_product.hpp +43 -0
  1029. data/ext/pixo/ext/glm/glm/gtx/matrix_cross_product.inl +38 -0
  1030. data/ext/pixo/ext/glm/glm/gtx/matrix_decompose.hpp +42 -0
  1031. data/ext/pixo/ext/glm/glm/gtx/matrix_decompose.inl +194 -0
  1032. data/ext/pixo/ext/glm/glm/gtx/matrix_interpolation.hpp +61 -0
  1033. data/ext/pixo/ext/glm/glm/gtx/matrix_interpolation.inl +134 -0
  1034. data/ext/pixo/ext/glm/glm/gtx/matrix_major_storage.hpp +115 -0
  1035. data/ext/pixo/ext/glm/glm/gtx/matrix_major_storage.inl +167 -0
  1036. data/ext/pixo/ext/glm/glm/gtx/matrix_operation.hpp +84 -0
  1037. data/ext/pixo/ext/glm/glm/gtx/matrix_operation.inl +118 -0
  1038. data/ext/pixo/ext/glm/glm/gtx/matrix_query.hpp +73 -0
  1039. data/ext/pixo/ext/glm/glm/gtx/matrix_query.inl +114 -0
  1040. data/ext/pixo/ext/glm/glm/gtx/matrix_transform_2d.hpp +78 -0
  1041. data/ext/pixo/ext/glm/glm/gtx/matrix_transform_2d.inl +69 -0
  1042. data/ext/pixo/ext/glm/glm/gtx/mixed_product.hpp +37 -0
  1043. data/ext/pixo/ext/glm/glm/gtx/mixed_product.inl +16 -0
  1044. data/ext/pixo/ext/glm/glm/gtx/norm.hpp +86 -0
  1045. data/ext/pixo/ext/glm/glm/gtx/norm.inl +106 -0
  1046. data/ext/pixo/ext/glm/glm/gtx/normal.hpp +39 -0
  1047. data/ext/pixo/ext/glm/glm/gtx/normal.inl +16 -0
  1048. data/ext/pixo/ext/glm/glm/gtx/normalize_dot.hpp +45 -0
  1049. data/ext/pixo/ext/glm/glm/gtx/normalize_dot.inl +17 -0
  1050. data/ext/pixo/ext/glm/glm/gtx/number_precision.hpp +57 -0
  1051. data/ext/pixo/ext/glm/glm/gtx/number_precision.inl +7 -0
  1052. data/ext/pixo/ext/glm/glm/gtx/optimum_pow.hpp +50 -0
  1053. data/ext/pixo/ext/glm/glm/gtx/optimum_pow.inl +23 -0
  1054. data/ext/pixo/ext/glm/glm/gtx/orthonormalize.hpp +45 -0
  1055. data/ext/pixo/ext/glm/glm/gtx/orthonormalize.inl +30 -0
  1056. data/ext/pixo/ext/glm/glm/gtx/perpendicular.hpp +39 -0
  1057. data/ext/pixo/ext/glm/glm/gtx/perpendicular.inl +15 -0
  1058. data/ext/pixo/ext/glm/glm/gtx/polar_coordinates.hpp +44 -0
  1059. data/ext/pixo/ext/glm/glm/gtx/polar_coordinates.inl +37 -0
  1060. data/ext/pixo/ext/glm/glm/gtx/projection.hpp +36 -0
  1061. data/ext/pixo/ext/glm/glm/gtx/projection.inl +11 -0
  1062. data/ext/pixo/ext/glm/glm/gtx/quaternion.hpp +185 -0
  1063. data/ext/pixo/ext/glm/glm/gtx/quaternion.inl +212 -0
  1064. data/ext/pixo/ext/glm/glm/gtx/range.hpp +85 -0
  1065. data/ext/pixo/ext/glm/glm/gtx/raw_data.hpp +47 -0
  1066. data/ext/pixo/ext/glm/glm/gtx/raw_data.inl +2 -0
  1067. data/ext/pixo/ext/glm/glm/gtx/rotate_normalized_axis.hpp +64 -0
  1068. data/ext/pixo/ext/glm/glm/gtx/rotate_normalized_axis.inl +59 -0
  1069. data/ext/pixo/ext/glm/glm/gtx/rotate_vector.hpp +117 -0
  1070. data/ext/pixo/ext/glm/glm/gtx/rotate_vector.inl +188 -0
  1071. data/ext/pixo/ext/glm/glm/gtx/scalar_multiplication.hpp +69 -0
  1072. data/ext/pixo/ext/glm/glm/gtx/scalar_relational.hpp +32 -0
  1073. data/ext/pixo/ext/glm/glm/gtx/scalar_relational.inl +89 -0
  1074. data/ext/pixo/ext/glm/glm/gtx/spline.hpp +61 -0
  1075. data/ext/pixo/ext/glm/glm/gtx/spline.inl +63 -0
  1076. data/ext/pixo/ext/glm/glm/gtx/std_based_type.hpp +63 -0
  1077. data/ext/pixo/ext/glm/glm/gtx/std_based_type.inl +7 -0
  1078. data/ext/pixo/ext/glm/glm/gtx/string_cast.hpp +47 -0
  1079. data/ext/pixo/ext/glm/glm/gtx/string_cast.inl +458 -0
  1080. data/ext/pixo/ext/glm/glm/gtx/transform.hpp +56 -0
  1081. data/ext/pixo/ext/glm/glm/gtx/transform.inl +24 -0
  1082. data/ext/pixo/ext/glm/glm/gtx/transform2.hpp +107 -0
  1083. data/ext/pixo/ext/glm/glm/gtx/transform2.inl +126 -0
  1084. data/ext/pixo/ext/glm/glm/gtx/type_aligned.hpp +966 -0
  1085. data/ext/pixo/ext/glm/glm/gtx/type_aligned.inl +7 -0
  1086. data/ext/pixo/ext/glm/glm/gtx/type_trait.hpp +252 -0
  1087. data/ext/pixo/ext/glm/glm/gtx/type_trait.inl +0 -0
  1088. data/ext/pixo/ext/glm/glm/gtx/vector_angle.hpp +60 -0
  1089. data/ext/pixo/ext/glm/glm/gtx/vector_angle.inl +58 -0
  1090. data/ext/pixo/ext/glm/glm/gtx/vector_query.hpp +62 -0
  1091. data/ext/pixo/ext/glm/glm/gtx/vector_query.inl +193 -0
  1092. data/ext/pixo/ext/glm/glm/gtx/wrap.hpp +51 -0
  1093. data/ext/pixo/ext/glm/glm/gtx/wrap.inl +58 -0
  1094. data/ext/pixo/ext/glm/glm/integer.hpp +6 -0
  1095. data/ext/pixo/ext/glm/glm/mat2x2.hpp +52 -0
  1096. data/ext/pixo/ext/glm/glm/mat2x3.hpp +32 -0
  1097. data/ext/pixo/ext/glm/glm/mat2x4.hpp +31 -0
  1098. data/ext/pixo/ext/glm/glm/mat3x2.hpp +31 -0
  1099. data/ext/pixo/ext/glm/glm/mat3x3.hpp +52 -0
  1100. data/ext/pixo/ext/glm/glm/mat3x4.hpp +31 -0
  1101. data/ext/pixo/ext/glm/glm/mat4x2.hpp +31 -0
  1102. data/ext/pixo/ext/glm/glm/mat4x3.hpp +31 -0
  1103. data/ext/pixo/ext/glm/glm/mat4x4.hpp +52 -0
  1104. data/ext/pixo/ext/glm/glm/matrix.hpp +6 -0
  1105. data/ext/pixo/ext/glm/glm/packing.hpp +6 -0
  1106. data/ext/pixo/ext/glm/glm/simd/common.h +240 -0
  1107. data/ext/pixo/ext/glm/glm/simd/exponential.h +20 -0
  1108. data/ext/pixo/ext/glm/glm/simd/geometric.h +124 -0
  1109. data/ext/pixo/ext/glm/glm/simd/integer.h +115 -0
  1110. data/ext/pixo/ext/glm/glm/simd/matrix.h +1028 -0
  1111. data/ext/pixo/ext/glm/glm/simd/packing.h +8 -0
  1112. data/ext/pixo/ext/glm/glm/simd/platform.h +437 -0
  1113. data/ext/pixo/ext/glm/glm/simd/trigonometric.h +9 -0
  1114. data/ext/pixo/ext/glm/glm/simd/vector_relational.h +8 -0
  1115. data/ext/pixo/ext/glm/glm/trigonometric.hpp +6 -0
  1116. data/ext/pixo/ext/glm/glm/vec2.hpp +6 -0
  1117. data/ext/pixo/ext/glm/glm/vec3.hpp +6 -0
  1118. data/ext/pixo/ext/glm/glm/vec4.hpp +6 -0
  1119. data/ext/pixo/ext/glm/glm/vector_relational.hpp +6 -0
  1120. data/ext/pixo/ext/glm/readme.md +962 -0
  1121. data/ext/pixo/ext/glm/test/CMakeLists.txt +17 -0
  1122. data/ext/pixo/ext/glm/test/bug/CMakeLists.txt +0 -0
  1123. data/ext/pixo/ext/glm/test/core/CMakeLists.txt +38 -0
  1124. data/ext/pixo/ext/glm/test/core/core_func_common.cpp +1272 -0
  1125. data/ext/pixo/ext/glm/test/core/core_func_exponential.cpp +128 -0
  1126. data/ext/pixo/ext/glm/test/core/core_func_geometric.cpp +193 -0
  1127. data/ext/pixo/ext/glm/test/core/core_func_integer.cpp +1554 -0
  1128. data/ext/pixo/ext/glm/test/core/core_func_integer_bit_count.cpp +291 -0
  1129. data/ext/pixo/ext/glm/test/core/core_func_integer_find_lsb.cpp +400 -0
  1130. data/ext/pixo/ext/glm/test/core/core_func_integer_find_msb.cpp +438 -0
  1131. data/ext/pixo/ext/glm/test/core/core_func_matrix.cpp +277 -0
  1132. data/ext/pixo/ext/glm/test/core/core_func_noise.cpp +7 -0
  1133. data/ext/pixo/ext/glm/test/core/core_func_packing.cpp +156 -0
  1134. data/ext/pixo/ext/glm/test/core/core_func_swizzle.cpp +78 -0
  1135. data/ext/pixo/ext/glm/test/core/core_func_trigonometric.cpp +10 -0
  1136. data/ext/pixo/ext/glm/test/core/core_func_vector_relational.cpp +42 -0
  1137. data/ext/pixo/ext/glm/test/core/core_setup_force_cxx98.cpp +10 -0
  1138. data/ext/pixo/ext/glm/test/core/core_setup_message.cpp +263 -0
  1139. data/ext/pixo/ext/glm/test/core/core_setup_precision.cpp +58 -0
  1140. data/ext/pixo/ext/glm/test/core/core_type_aligned.cpp +128 -0
  1141. data/ext/pixo/ext/glm/test/core/core_type_cast.cpp +144 -0
  1142. data/ext/pixo/ext/glm/test/core/core_type_ctor.cpp +358 -0
  1143. data/ext/pixo/ext/glm/test/core/core_type_float.cpp +31 -0
  1144. data/ext/pixo/ext/glm/test/core/core_type_int.cpp +43 -0
  1145. data/ext/pixo/ext/glm/test/core/core_type_length.cpp +79 -0
  1146. data/ext/pixo/ext/glm/test/core/core_type_mat2x2.cpp +145 -0
  1147. data/ext/pixo/ext/glm/test/core/core_type_mat2x3.cpp +118 -0
  1148. data/ext/pixo/ext/glm/test/core/core_type_mat2x4.cpp +121 -0
  1149. data/ext/pixo/ext/glm/test/core/core_type_mat3x2.cpp +124 -0
  1150. data/ext/pixo/ext/glm/test/core/core_type_mat3x3.cpp +184 -0
  1151. data/ext/pixo/ext/glm/test/core/core_type_mat3x4.cpp +123 -0
  1152. data/ext/pixo/ext/glm/test/core/core_type_mat4x2.cpp +127 -0
  1153. data/ext/pixo/ext/glm/test/core/core_type_mat4x3.cpp +128 -0
  1154. data/ext/pixo/ext/glm/test/core/core_type_mat4x4.cpp +313 -0
  1155. data/ext/pixo/ext/glm/test/core/core_type_vec1.cpp +147 -0
  1156. data/ext/pixo/ext/glm/test/core/core_type_vec2.cpp +312 -0
  1157. data/ext/pixo/ext/glm/test/core/core_type_vec3.cpp +486 -0
  1158. data/ext/pixo/ext/glm/test/core/core_type_vec4.cpp +559 -0
  1159. data/ext/pixo/ext/glm/test/external/gli/CMakeLists.txt +27 -0
  1160. data/ext/pixo/ext/glm/test/external/gli/core/dummy.cpp +4 -0
  1161. data/ext/pixo/ext/glm/test/external/gli/core/generate_mipmaps.hpp +25 -0
  1162. data/ext/pixo/ext/glm/test/external/gli/core/generate_mipmaps.inl +69 -0
  1163. data/ext/pixo/ext/glm/test/external/gli/core/image2d.hpp +169 -0
  1164. data/ext/pixo/ext/glm/test/external/gli/core/image2d.inl +229 -0
  1165. data/ext/pixo/ext/glm/test/external/gli/core/operation.hpp +82 -0
  1166. data/ext/pixo/ext/glm/test/external/gli/core/operation.inl +233 -0
  1167. data/ext/pixo/ext/glm/test/external/gli/core/operator.hpp +28 -0
  1168. data/ext/pixo/ext/glm/test/external/gli/core/operator.inl +210 -0
  1169. data/ext/pixo/ext/glm/test/external/gli/core/shared_array.hpp +48 -0
  1170. data/ext/pixo/ext/glm/test/external/gli/core/shared_array.inl +151 -0
  1171. data/ext/pixo/ext/glm/test/external/gli/core/shared_ptr.hpp +41 -0
  1172. data/ext/pixo/ext/glm/test/external/gli/core/shared_ptr.inl +125 -0
  1173. data/ext/pixo/ext/glm/test/external/gli/core/size.hpp +31 -0
  1174. data/ext/pixo/ext/glm/test/external/gli/core/size.inl +47 -0
  1175. data/ext/pixo/ext/glm/test/external/gli/core/texture2d.hpp +122 -0
  1176. data/ext/pixo/ext/glm/test/external/gli/core/texture2d.inl +304 -0
  1177. data/ext/pixo/ext/glm/test/external/gli/core/texture2d_array.hpp +59 -0
  1178. data/ext/pixo/ext/glm/test/external/gli/core/texture2d_array.inl +78 -0
  1179. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube.hpp +65 -0
  1180. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube.inl +70 -0
  1181. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube_array.hpp +59 -0
  1182. data/ext/pixo/ext/glm/test/external/gli/core/texture_cube_array.inl +72 -0
  1183. data/ext/pixo/ext/glm/test/external/gli/gli.hpp +31 -0
  1184. data/ext/pixo/ext/glm/test/external/gli/gtx/compression.hpp +27 -0
  1185. data/ext/pixo/ext/glm/test/external/gli/gtx/compression.inl +8 -0
  1186. data/ext/pixo/ext/glm/test/external/gli/gtx/fetch.hpp +46 -0
  1187. data/ext/pixo/ext/glm/test/external/gli/gtx/fetch.inl +91 -0
  1188. data/ext/pixo/ext/glm/test/external/gli/gtx/gl_texture2d.hpp +33 -0
  1189. data/ext/pixo/ext/glm/test/external/gli/gtx/gl_texture2d.inl +210 -0
  1190. data/ext/pixo/ext/glm/test/external/gli/gtx/gradient.hpp +38 -0
  1191. data/ext/pixo/ext/glm/test/external/gli/gtx/gradient.inl +74 -0
  1192. data/ext/pixo/ext/glm/test/external/gli/gtx/loader.hpp +37 -0
  1193. data/ext/pixo/ext/glm/test/external/gli/gtx/loader.inl +46 -0
  1194. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds10.hpp +35 -0
  1195. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds10.inl +595 -0
  1196. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds9.hpp +39 -0
  1197. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_dds9.inl +790 -0
  1198. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_tga.hpp +36 -0
  1199. data/ext/pixo/ext/glm/test/external/gli/gtx/loader_tga.inl +159 -0
  1200. data/ext/pixo/ext/glm/test/external/gli/gtx/wavelet.hpp +27 -0
  1201. data/ext/pixo/ext/glm/test/external/gli/gtx/wavelet.inl +8 -0
  1202. data/ext/pixo/ext/glm/test/glm.cppcheck +6 -0
  1203. data/ext/pixo/ext/glm/test/gtc/CMakeLists.txt +22 -0
  1204. data/ext/pixo/ext/glm/test/gtc/gtc_bitfield.cpp +642 -0
  1205. data/ext/pixo/ext/glm/test/gtc/gtc_color_encoding.cpp +51 -0
  1206. data/ext/pixo/ext/glm/test/gtc/gtc_color_space.cpp +50 -0
  1207. data/ext/pixo/ext/glm/test/gtc/gtc_constants.cpp +28 -0
  1208. data/ext/pixo/ext/glm/test/gtc/gtc_epsilon.cpp +77 -0
  1209. data/ext/pixo/ext/glm/test/gtc/gtc_functions.cpp +35 -0
  1210. data/ext/pixo/ext/glm/test/gtc/gtc_integer.cpp +232 -0
  1211. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_access.cpp +381 -0
  1212. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_integer.cpp +8 -0
  1213. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_inverse.cpp +51 -0
  1214. data/ext/pixo/ext/glm/test/gtc/gtc_matrix_transform.cpp +54 -0
  1215. data/ext/pixo/ext/glm/test/gtc/gtc_noise.cpp +188 -0
  1216. data/ext/pixo/ext/glm/test/gtc/gtc_packing.cpp +682 -0
  1217. data/ext/pixo/ext/glm/test/gtc/gtc_quaternion.cpp +312 -0
  1218. data/ext/pixo/ext/glm/test/gtc/gtc_random.cpp +377 -0
  1219. data/ext/pixo/ext/glm/test/gtc/gtc_reciprocal.cpp +8 -0
  1220. data/ext/pixo/ext/glm/test/gtc/gtc_round.cpp +458 -0
  1221. data/ext/pixo/ext/glm/test/gtc/gtc_type_aligned.cpp +118 -0
  1222. data/ext/pixo/ext/glm/test/gtc/gtc_type_precision.cpp +890 -0
  1223. data/ext/pixo/ext/glm/test/gtc/gtc_type_ptr.cpp +252 -0
  1224. data/ext/pixo/ext/glm/test/gtc/gtc_ulp.cpp +96 -0
  1225. data/ext/pixo/ext/glm/test/gtc/gtc_user_defined_types.cpp +30 -0
  1226. data/ext/pixo/ext/glm/test/gtc/gtc_vec1.cpp +8 -0
  1227. data/ext/pixo/ext/glm/test/gtx/CMakeLists.txt +49 -0
  1228. data/ext/pixo/ext/glm/test/gtx/gtx_associated_min_max.cpp +9 -0
  1229. data/ext/pixo/ext/glm/test/gtx/gtx_closest_point.cpp +8 -0
  1230. data/ext/pixo/ext/glm/test/gtx/gtx_color_space.cpp +19 -0
  1231. data/ext/pixo/ext/glm/test/gtx/gtx_color_space_YCoCg.cpp +8 -0
  1232. data/ext/pixo/ext/glm/test/gtx/gtx_common.cpp +127 -0
  1233. data/ext/pixo/ext/glm/test/gtx/gtx_compatibility.cpp +18 -0
  1234. data/ext/pixo/ext/glm/test/gtx/gtx_component_wise.cpp +115 -0
  1235. data/ext/pixo/ext/glm/test/gtx/gtx_dual_quaternion.cpp +188 -0
  1236. data/ext/pixo/ext/glm/test/gtx/gtx_euler_angle.cpp +328 -0
  1237. data/ext/pixo/ext/glm/test/gtx/gtx_extend.cpp +8 -0
  1238. data/ext/pixo/ext/glm/test/gtx/gtx_extended_min_max.cpp +8 -0
  1239. data/ext/pixo/ext/glm/test/gtx/gtx_extented_min_max.cpp +39 -0
  1240. data/ext/pixo/ext/glm/test/gtx/gtx_fast_exponential.cpp +8 -0
  1241. data/ext/pixo/ext/glm/test/gtx/gtx_fast_square_root.cpp +45 -0
  1242. data/ext/pixo/ext/glm/test/gtx/gtx_fast_trigonometry.cpp +445 -0
  1243. data/ext/pixo/ext/glm/test/gtx/gtx_gradient_paint.cpp +33 -0
  1244. data/ext/pixo/ext/glm/test/gtx/gtx_handed_coordinate_space.cpp +8 -0
  1245. data/ext/pixo/ext/glm/test/gtx/gtx_int_10_10_10_2.cpp +18 -0
  1246. data/ext/pixo/ext/glm/test/gtx/gtx_integer.cpp +64 -0
  1247. data/ext/pixo/ext/glm/test/gtx/gtx_intersect.cpp +8 -0
  1248. data/ext/pixo/ext/glm/test/gtx/gtx_io.cpp +175 -0
  1249. data/ext/pixo/ext/glm/test/gtx/gtx_log_base.cpp +53 -0
  1250. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_cross_product.cpp +8 -0
  1251. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_decompose.cpp +18 -0
  1252. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_interpolation.cpp +10 -0
  1253. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_major_storage.cpp +8 -0
  1254. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_operation.cpp +8 -0
  1255. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_query.cpp +65 -0
  1256. data/ext/pixo/ext/glm/test/gtx/gtx_matrix_transform_2d.cpp +8 -0
  1257. data/ext/pixo/ext/glm/test/gtx/gtx_mixed_product.cpp +18 -0
  1258. data/ext/pixo/ext/glm/test/gtx/gtx_norm.cpp +8 -0
  1259. data/ext/pixo/ext/glm/test/gtx/gtx_normal.cpp +8 -0
  1260. data/ext/pixo/ext/glm/test/gtx/gtx_normalize_dot.cpp +8 -0
  1261. data/ext/pixo/ext/glm/test/gtx/gtx_number_precision.cpp +8 -0
  1262. data/ext/pixo/ext/glm/test/gtx/gtx_optimum_pow.cpp +8 -0
  1263. data/ext/pixo/ext/glm/test/gtx/gtx_orthonormalize.cpp +8 -0
  1264. data/ext/pixo/ext/glm/test/gtx/gtx_perpendicular.cpp +8 -0
  1265. data/ext/pixo/ext/glm/test/gtx/gtx_polar_coordinates.cpp +8 -0
  1266. data/ext/pixo/ext/glm/test/gtx/gtx_projection.cpp +8 -0
  1267. data/ext/pixo/ext/glm/test/gtx/gtx_quaternion.cpp +102 -0
  1268. data/ext/pixo/ext/glm/test/gtx/gtx_random.cpp +99 -0
  1269. data/ext/pixo/ext/glm/test/gtx/gtx_range.cpp +52 -0
  1270. data/ext/pixo/ext/glm/test/gtx/gtx_rotate_normalized_axis.cpp +8 -0
  1271. data/ext/pixo/ext/glm/test/gtx/gtx_rotate_vector.cpp +75 -0
  1272. data/ext/pixo/ext/glm/test/gtx/gtx_scalar_multiplication.cpp +34 -0
  1273. data/ext/pixo/ext/glm/test/gtx/gtx_scalar_relational.cpp +170 -0
  1274. data/ext/pixo/ext/glm/test/gtx/gtx_simd_mat4.cpp +324 -0
  1275. data/ext/pixo/ext/glm/test/gtx/gtx_simd_vec4.cpp +71 -0
  1276. data/ext/pixo/ext/glm/test/gtx/gtx_spline.cpp +99 -0
  1277. data/ext/pixo/ext/glm/test/gtx/gtx_string_cast.cpp +128 -0
  1278. data/ext/pixo/ext/glm/test/gtx/gtx_type_aligned.cpp +113 -0
  1279. data/ext/pixo/ext/glm/test/gtx/gtx_type_trait.cpp +12 -0
  1280. data/ext/pixo/ext/glm/test/gtx/gtx_vector_angle.cpp +58 -0
  1281. data/ext/pixo/ext/glm/test/gtx/gtx_vector_query.cpp +81 -0
  1282. data/ext/pixo/ext/glm/test/gtx/gtx_wrap.cpp +189 -0
  1283. data/ext/pixo/ext/glm/util/autoexp.txt +28 -0
  1284. data/ext/pixo/ext/glm/util/autoexp.vc2010.dat +3896 -0
  1285. data/ext/pixo/ext/glm/util/glm.natvis +69 -0
  1286. data/ext/pixo/ext/glm/util/usertype.dat +407 -0
  1287. data/ext/pixo/ext/tinyobjloader/CMakeLists.txt +146 -0
  1288. data/ext/pixo/ext/tinyobjloader/LICENSE +21 -0
  1289. data/ext/pixo/ext/tinyobjloader/README.md +254 -0
  1290. data/ext/pixo/ext/tinyobjloader/appveyor.yml +22 -0
  1291. data/ext/pixo/ext/tinyobjloader/build.ninja +53 -0
  1292. data/ext/pixo/ext/tinyobjloader/deps/cpplint.py +6323 -0
  1293. data/ext/pixo/ext/tinyobjloader/examples/callback_api/Makefile +2 -0
  1294. data/ext/pixo/ext/tinyobjloader/examples/callback_api/main.cc +166 -0
  1295. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/obj_sticher.cc +110 -0
  1296. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/obj_writer.cc +176 -0
  1297. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/obj_writer.h +9 -0
  1298. data/ext/pixo/ext/tinyobjloader/examples/obj_sticher/premake4.lua +38 -0
  1299. data/ext/pixo/ext/tinyobjloader/examples/viewer/README.md +37 -0
  1300. data/ext/pixo/ext/tinyobjloader/examples/viewer/premake4.lua +44 -0
  1301. data/ext/pixo/ext/tinyobjloader/examples/viewer/stb_image.h +6755 -0
  1302. data/ext/pixo/ext/tinyobjloader/examples/viewer/trackball.cc +292 -0
  1303. data/ext/pixo/ext/tinyobjloader/examples/viewer/trackball.h +75 -0
  1304. data/ext/pixo/ext/tinyobjloader/examples/viewer/viewer.cc +698 -0
  1305. data/ext/pixo/ext/tinyobjloader/examples/voxelize/Makefile +2 -0
  1306. data/ext/pixo/ext/tinyobjloader/examples/voxelize/README.md +5 -0
  1307. data/ext/pixo/ext/tinyobjloader/examples/voxelize/main.cc +74 -0
  1308. data/ext/pixo/ext/tinyobjloader/examples/voxelize/voxelizer.h +764 -0
  1309. data/ext/pixo/ext/tinyobjloader/experimental/LICENSE.ltalloc +26 -0
  1310. data/ext/pixo/ext/tinyobjloader/experimental/README.md +5 -0
  1311. data/ext/pixo/ext/tinyobjloader/experimental/ltalloc.cc +973 -0
  1312. data/ext/pixo/ext/tinyobjloader/experimental/ltalloc.h +14 -0
  1313. data/ext/pixo/ext/tinyobjloader/experimental/ltalloc.hpp +59 -0
  1314. data/ext/pixo/ext/tinyobjloader/experimental/premake5.lua +95 -0
  1315. data/ext/pixo/ext/tinyobjloader/experimental/tinyobj_loader_opt.h +1678 -0
  1316. data/ext/pixo/ext/tinyobjloader/experimental/trackball.cc +292 -0
  1317. data/ext/pixo/ext/tinyobjloader/experimental/trackball.h +75 -0
  1318. data/ext/pixo/ext/tinyobjloader/experimental/viewer.cc +748 -0
  1319. data/ext/pixo/ext/tinyobjloader/images/rungholt.jpg +0 -0
  1320. data/ext/pixo/ext/tinyobjloader/images/sanmugel.png +0 -0
  1321. data/ext/pixo/ext/tinyobjloader/jni/Android.mk +12 -0
  1322. data/ext/pixo/ext/tinyobjloader/jni/Application.mk +2 -0
  1323. data/ext/pixo/ext/tinyobjloader/jni/Makefile +2 -0
  1324. data/ext/pixo/ext/tinyobjloader/jni/README +1 -0
  1325. data/ext/pixo/ext/tinyobjloader/loader_example.cc +419 -0
  1326. data/ext/pixo/ext/tinyobjloader/models/catmark_torus_creases0.obj +101 -0
  1327. data/ext/pixo/ext/tinyobjloader/models/cornell_box.mtl +24 -0
  1328. data/ext/pixo/ext/tinyobjloader/models/cornell_box.obj +145 -0
  1329. data/ext/pixo/ext/tinyobjloader/models/cornell_box_multimaterial.obj +146 -0
  1330. data/ext/pixo/ext/tinyobjloader/models/cube.mtl +24 -0
  1331. data/ext/pixo/ext/tinyobjloader/models/cube.obj +31 -0
  1332. data/ext/pixo/ext/tinyobjloader/models/issue-92.mtl +6 -0
  1333. data/ext/pixo/ext/tinyobjloader/models/issue-92.obj +7 -0
  1334. data/ext/pixo/ext/tinyobjloader/models/issue-95-2.mtl +5 -0
  1335. data/ext/pixo/ext/tinyobjloader/models/issue-95-2.obj +7 -0
  1336. data/ext/pixo/ext/tinyobjloader/models/issue-95.mtl +5 -0
  1337. data/ext/pixo/ext/tinyobjloader/models/issue-95.obj +7 -0
  1338. data/ext/pixo/ext/tinyobjloader/models/missing_material_file.obj +145 -0
  1339. data/ext/pixo/ext/tinyobjloader/models/mtllib-multiple-files-issue-112.mtl +6 -0
  1340. data/ext/pixo/ext/tinyobjloader/models/mtllib-multiple-files-issue-112.obj +7 -0
  1341. data/ext/pixo/ext/tinyobjloader/models/no_material.obj +133 -0
  1342. data/ext/pixo/ext/tinyobjloader/models/pbr-mat-ext.mtl +19 -0
  1343. data/ext/pixo/ext/tinyobjloader/models/pbr-mat-ext.obj +10 -0
  1344. data/ext/pixo/ext/tinyobjloader/models/test-nan.obj +145 -0
  1345. data/ext/pixo/ext/tinyobjloader/models/texture-options-issue-85.mtl +36 -0
  1346. data/ext/pixo/ext/tinyobjloader/models/texture-options-issue-85.obj +7 -0
  1347. data/ext/pixo/ext/tinyobjloader/models/tr-and-d-issue-43.mtl +13 -0
  1348. data/ext/pixo/ext/tinyobjloader/models/tr-and-d-issue-43.obj +817 -0
  1349. data/ext/pixo/ext/tinyobjloader/models/usemtl-issue-104.obj +30 -0
  1350. data/ext/pixo/ext/tinyobjloader/models/usemtl-issue-68.mtl +9 -0
  1351. data/ext/pixo/ext/tinyobjloader/models/usemtl-issue-68.obj +817 -0
  1352. data/ext/pixo/ext/tinyobjloader/premake4.lua +29 -0
  1353. data/ext/pixo/ext/tinyobjloader/python/TODO.md +2 -0
  1354. data/ext/pixo/ext/tinyobjloader/python/cornell_box_multimaterial_output.json +581 -0
  1355. data/ext/pixo/ext/tinyobjloader/python/howto.py +9 -0
  1356. data/ext/pixo/ext/tinyobjloader/python/main.cpp +203 -0
  1357. data/ext/pixo/ext/tinyobjloader/python/setup.py +13 -0
  1358. data/ext/pixo/ext/tinyobjloader/tests/Makefile +16 -0
  1359. data/ext/pixo/ext/tinyobjloader/tests/README.md +37 -0
  1360. data/ext/pixo/ext/tinyobjloader/tests/catch.hpp +10445 -0
  1361. data/ext/pixo/ext/tinyobjloader/tests/config-msvc.py +52 -0
  1362. data/ext/pixo/ext/tinyobjloader/tests/config-posix.py +53 -0
  1363. data/ext/pixo/ext/tinyobjloader/tests/kuroga.py +312 -0
  1364. data/ext/pixo/ext/tinyobjloader/tests/tester.cc +588 -0
  1365. data/ext/pixo/ext/tinyobjloader/tests/vcbuild.bat +4 -0
  1366. data/ext/pixo/ext/tinyobjloader/tiny_obj_loader.cc +2 -0
  1367. data/ext/pixo/ext/tinyobjloader/tiny_obj_loader.h +2029 -0
  1368. data/ext/pixo/ext/tinyobjloader/tinyobjloader-config.cmake.in +9 -0
  1369. data/ext/pixo/ext/tinyobjloader/tinyobjloader.pc.in +15 -0
  1370. data/ext/pixo/ext/tinyobjloader/tools/travis_postbuild.sh +12 -0
  1371. data/ext/pixo/ext/tinyobjloader/tools/windows/premake5.exe +0 -0
  1372. data/ext/pixo/ext/tinyobjloader/vcsetup.bat +1 -0
  1373. data/ext/pixo/ext/tinyobjloader/wercker.yml +10 -0
  1374. data/ext/pixo/fadecandy_configs/4x4x4.json +21 -0
  1375. data/ext/pixo/fadecandy_configs/8x8x8.json +18 -0
  1376. data/ext/pixo/patterns/basic.glsl +20 -0
  1377. data/ext/pixo/patterns/bendy_pipes.glsl +116 -0
  1378. data/ext/pixo/patterns/blades.glsl +69 -0
  1379. data/ext/pixo/patterns/blob_neon.glsl +71 -0
  1380. data/ext/pixo/patterns/bubbles.glsl +58 -0
  1381. data/ext/pixo/patterns/chevron.glsl +45 -0
  1382. data/ext/pixo/patterns/clouds.glsl +382 -0
  1383. data/ext/pixo/patterns/cnoise.glsl +162 -0
  1384. data/ext/pixo/patterns/corrente_continua.glsl +51 -0
  1385. data/ext/pixo/patterns/drain.glsl +32 -0
  1386. data/ext/pixo/patterns/dual_spiral.glsl +21 -0
  1387. data/ext/pixo/patterns/ether.glsl +35 -0
  1388. data/ext/pixo/patterns/fire.glsl +56 -0
  1389. data/ext/pixo/patterns/fireball.glsl +229 -0
  1390. data/ext/pixo/patterns/flame.glsl +101 -0
  1391. data/ext/pixo/patterns/flower.glsl +27 -0
  1392. data/ext/pixo/patterns/galaxy.glsl +50 -0
  1393. data/ext/pixo/patterns/goop.glsl +117 -0
  1394. data/ext/pixo/patterns/hypno_rings.glsl +13 -0
  1395. data/ext/pixo/patterns/lightning.glsl +111 -0
  1396. data/ext/pixo/patterns/paint.glsl +39 -0
  1397. data/ext/pixo/patterns/plad.glsl +22 -0
  1398. data/ext/pixo/patterns/plasam.glsl +30 -0
  1399. data/ext/pixo/patterns/plasma_globe.glsl +215 -0
  1400. data/ext/pixo/patterns/pulse.glsl +44 -0
  1401. data/ext/pixo/patterns/pulsing_circles.glsl +32 -0
  1402. data/ext/pixo/patterns/rainbow_ribbon.glsl +41 -0
  1403. data/ext/pixo/patterns/rings.glsl +62 -0
  1404. data/ext/pixo/patterns/sauron.glsl +220 -0
  1405. data/ext/pixo/patterns/scales.glsl +64 -0
  1406. data/ext/pixo/patterns/soccer.glsl +737 -0
  1407. data/ext/pixo/patterns/spherical_polyhedra.glsl +251 -0
  1408. data/ext/pixo/patterns/spiral.glsl +23 -0
  1409. data/ext/pixo/patterns/star.glsl +518 -0
  1410. data/ext/pixo/patterns/tiedy.glsl +39 -0
  1411. data/ext/pixo/patterns/tunnel.glsl +145 -0
  1412. data/ext/pixo/patterns/warping_grid.glsl +50 -0
  1413. data/ext/pixo/pixlib/CMakeLists.txt +34 -0
  1414. data/ext/pixo/pixlib/include/opc_client.h +205 -0
  1415. data/ext/pixo/pixlib/include/pixlib/app.hpp +41 -0
  1416. data/ext/pixo/pixlib/include/pixlib/camera.hpp +78 -0
  1417. data/ext/pixo/pixlib/include/pixlib/cube.hpp +46 -0
  1418. data/ext/pixo/pixlib/include/pixlib/drawable.hpp +11 -0
  1419. data/ext/pixo/pixlib/include/pixlib/fade_candy.hpp +38 -0
  1420. data/ext/pixo/pixlib/include/pixlib/led_cluster.hpp +58 -0
  1421. data/ext/pixo/pixlib/include/pixlib/led_mesh.hpp +60 -0
  1422. data/ext/pixo/pixlib/include/pixlib/led_renderer.hpp +36 -0
  1423. data/ext/pixo/pixlib/include/pixlib/mesh.hpp +56 -0
  1424. data/ext/pixo/pixlib/include/pixlib/pattern.hpp +21 -0
  1425. data/ext/pixo/pixlib/include/pixlib/pattern_renderer.hpp +28 -0
  1426. data/ext/pixo/pixlib/include/pixlib/renderer.hpp +32 -0
  1427. data/ext/pixo/pixlib/include/pixlib/scene.hpp +39 -0
  1428. data/ext/pixo/pixlib/include/pixlib/shader.hpp +19 -0
  1429. data/ext/pixo/pixlib/include/pixlib/texture.hpp +34 -0
  1430. data/ext/pixo/pixlib/include/pixlib/timer.hpp +19 -0
  1431. data/ext/pixo/pixlib/include/pixlib.hpp +6 -0
  1432. data/ext/pixo/pixlib/src/app.cpp +59 -0
  1433. data/ext/pixo/pixlib/src/camera.cpp +106 -0
  1434. data/ext/pixo/pixlib/src/cube.cpp +100 -0
  1435. data/ext/pixo/pixlib/src/fade_candy.cpp +70 -0
  1436. data/ext/pixo/pixlib/src/led_cluster.cpp +78 -0
  1437. data/ext/pixo/pixlib/src/led_mesh.cpp +123 -0
  1438. data/ext/pixo/pixlib/src/led_renderer.cpp +135 -0
  1439. data/ext/pixo/pixlib/src/mesh.cpp +146 -0
  1440. data/ext/pixo/pixlib/src/pattern.cpp +32 -0
  1441. data/ext/pixo/pixlib/src/pattern_renderer.cpp +103 -0
  1442. data/ext/pixo/pixlib/src/renderer.cpp +127 -0
  1443. data/ext/pixo/pixlib/src/scene.cpp +52 -0
  1444. data/ext/pixo/pixlib/src/shader.cpp +59 -0
  1445. data/ext/pixo/pixlib/src/texture.cpp +62 -0
  1446. data/ext/pixo/pixlib/src/timer.cpp +39 -0
  1447. data/ext/pixo/src/CMakeLists.txt +14 -0
  1448. data/ext/pixo/src/main.cpp +244 -0
  1449. data/ext/pixo/src/opengl.h +4 -0
  1450. data/lib/pixo/version.rb +3 -0
  1451. data/lib/pixo.rb +7 -0
  1452. data/pixo.gemspec +34 -0
  1453. data/pkg/pixo-0.1.0.gem +0 -0
  1454. metadata +1539 -0
@@ -0,0 +1,3896 @@
1
+ ; AutoExp.Dat - templates for automatically expanding data
2
+ ; Copyright(c) Microsoft Corporation. All Rights Reserved.
3
+ ;---------------------------------------------------------------
4
+ ;
5
+ ; While debugging, Data Tips and items in the Watch and Variable
6
+ ; windows are automatically expanded to show their most important
7
+ ; elements. The expansion follows the format given by the rules
8
+ ; in this file. You can add rules for your types or change the
9
+ ; predefined rules.
10
+ ;
11
+ ; For good examples, read the rules in this file.
12
+ ;
13
+ ; To find what the debugger considers the type of a variable to
14
+ ; be, add it to the Watch window and look at the Type column.
15
+ ;
16
+ ; An AutoExpand rule is a line with the name of a type, an equals
17
+ ; sign, and text with replaceable parts in angle brackets. The
18
+ ; part in angle brackets names a member of the type and an
19
+ ; optional Watch format specifier.
20
+ ;
21
+ ; AutoExpand rules use the following syntax. The equals sign (=),
22
+ ; angle brackets (<>), and comma are taken literally. Square
23
+ ; brackets ([]) indicate optional items.
24
+ ;
25
+ ; type=[text]<member[,format]>...
26
+ ;
27
+ ; type Name of the type (may be followed by <*> for template
28
+ ; types such as the ATL types listed below).
29
+ ;
30
+ ; text Any text.Usually the name of the member to display,
31
+ ; or a shorthand name for the member.
32
+ ;
33
+ ; member Name of a member to display.
34
+ ;
35
+ ; format Watch format specifier. One of the following:
36
+ ;
37
+ ; Letter Description Sample Display
38
+ ; ------ -------------------------- ------------ -------------
39
+ ; d,i Signed decimal integer 0xF000F065,d -268373915
40
+ ; u Unsigned decimal integer 0x0065,u 101
41
+ ; o Unsigned octal integer 0xF065,o 0170145
42
+ ; x,X Hexadecimal integer 61541,X 0X0000F065
43
+ ; l,h long or short prefix for 00406042,hx 0x0c22
44
+ ; d, i, u, o, x, X
45
+ ; f Signed floating-point 3./2.,f 1.500000
46
+ ; e Signed scientific-notation 3./2.,e 1.500000e+000
47
+ ; g Shorter of e and f 3./2.,g 1.5
48
+ ; c Single character 0x0065,c 'e'
49
+ ; s Zero-terminated string pVar,s "Hello world"
50
+ ; su Unicode string pVar,su "Hello world"
51
+ ;
52
+ ; For details of other format specifiers see Help under:
53
+ ; "format specifiers/watch variable"
54
+ ;
55
+ ; The special format <,t> specifies the name of the most-derived
56
+ ; type of the object. This is especially useful with pointers or
57
+ ; references to a base class.
58
+ ;
59
+ ; If there is no rule for a class, the base classes are checked for
60
+ ; a matching rule.
61
+ ;
62
+ ; There are some special entries allowed in the AutoExpand section:
63
+ ; $BUILTIN is used to display more complex types that need to do more
64
+ ; than just show a member variable or two.
65
+ ; $ADDIN allows external DLLs to be added to display even more complex
66
+ ; types via the EE Add-in API. The first argument is the DLL name, the
67
+ ; second argument is the name of the export from the DLL to use. For
68
+ ; further information on this API see the sample called EEAddIn.
69
+ ;
70
+ ; WARNING: if hexadecimal mode is on in the watch window, all numbers here are
71
+ ; evaluated in hex, e.g. 42 becomes 0x42
72
+
73
+ [AutoExpand]
74
+
75
+ ; from windef.h
76
+ tagPOINT =x=<x> y=<y>
77
+ tagRECT =top=<top> bottom=<bottom> left=<left> right=<right>
78
+
79
+ ; from winuser.h
80
+ tagMSG =msg=<message,x> wp=<wParam,x> lp=<lParam,x>
81
+
82
+ ; intrinsics
83
+ __m64 =<m64_i64,x>
84
+ __m128=$BUILTIN(M128)
85
+ __m128i=$BUILTIN(M128I)
86
+ __m128d=$BUILTIN(M128D)
87
+
88
+ ; from afxwin.h
89
+ CDC =hDC=<m_hDC> attrib=<m_hAttribDC>
90
+ CPaintDC =<,t> hWnd=<m_hWnd>
91
+ CPoint =x=<x> y=<y>
92
+ CRect =top=<top> bottom=<bottom> left=<left> right=<right>
93
+ CSize =cx=<cx> cy=<cy>
94
+ CWnd =<,t> hWnd=<m_hWnd>
95
+ CWinApp =<,t> <m_pszAppName,s>
96
+ CWinThread =<,t> h=<m_hThread> proc=<m_pfnThreadProc>
97
+
98
+ ; from afxcoll.h
99
+ CPtrList =cnt=<m_nCount>
100
+
101
+ ; from afxstat_.h
102
+ CProcessLocalObject =<,t>
103
+ CThreadLocalObject =<,t>
104
+
105
+ ; from afx.h
106
+ CArchiveException =cause=<m_cause>
107
+ CFile =hFile=<m_hFile> name=<m_strFileName.m_pchData,s>
108
+ CFileException =cause=<m_cause> OS Error=m_lOsError
109
+ CMemFile =pos=<m_nPosition> size=<m_nFileSize>
110
+ CObject =<,t>
111
+ CRuntimeClass =<m_lpszClassName,s>
112
+ CStdioFile =FILE*=<m_pStream> name=<m_strFilename.m_pchData,s>
113
+ CTimeSpan =time=<m_time>
114
+ CTime =time=<m_time>
115
+
116
+ ; from afxcoll.h
117
+ CByteArray =count=<m_nCount>
118
+ CStringList =count=<m_nCount>
119
+ ; same for all CXXXArray classes
120
+ ; same for CXXXList
121
+ ; same for CMapXXToXX
122
+
123
+ ; various string classes from MFC & ATL
124
+
125
+ _com_error=<m_hresult,hr>
126
+ _bstr_t=<m_Data->m_wstr,su> (<m_Data->m_RefCount,u>)
127
+ _com_ptr_t<*>=<m_pInterface>
128
+ _LARGE_INTEGER=<QuadPart>
129
+ _ULARGE_INTEGER=<QuadPart>
130
+ ATL::CComPtr<*>=<p>
131
+
132
+ ATL::CComQIPtr<*>=<p>
133
+
134
+ tagVARIANT=$BUILTIN(VARIANT)
135
+ VARIANT=$BUILTIN(VARIANT)
136
+ _GUID=$BUILTIN(GUID)
137
+
138
+ ; see EEAddIn sample for how to use these
139
+ ;_SYSTEMTIME=$ADDIN(EEAddIn.dll,AddIn_SystemTime)
140
+ ;_FILETIME=$ADDIN(EEAddIn.dll,AddIn_FileTime)
141
+
142
+ [Visualizer]
143
+ ; This section contains visualizers for STL and ATL containers
144
+ ; DO NOT MODIFY
145
+ ATL::CStringT<char,*>|CSimpleStringT<char,*>|ATL::CSimpleStringT<char,*>{
146
+ preview ([$e.m_pszData,s])
147
+ stringview ([$e.m_pszData,sb])
148
+ }
149
+ ATL::CStringT<wchar_t,*>|CSimpleStringT<wchar_t,*>|ATL::CSimpleStringT<wchar_t,*>|ATL::CStringT<unsigned short,*>|CSimpleStringT<unsigned short,*>|ATL::CSimpleStringT<unsigned short,*>{
150
+ preview ([$e.m_pszData,su])
151
+ stringview ([$e.m_pszData,sub])
152
+ }
153
+ ATL::CComBSTR{
154
+ preview ([$e.m_str,su])
155
+ stringview ([$e.m_str,sub])
156
+ }
157
+
158
+
159
+ ; Many visualizers use nested #()s.
160
+ ; Why not use #(foo, bar) instead of #(#(foo), #(bar))?
161
+ ; The former alphabetically sorts its fields, while the latter does not.
162
+
163
+ ;------------------------------------------------------------------------------
164
+ ; std::pair from <utility>
165
+ ;------------------------------------------------------------------------------
166
+ std::pair<*>{
167
+ ; pair is previewed with "(<first>, <second>)".
168
+ preview (
169
+ #(
170
+ "(",
171
+ $e.first,
172
+ ", ",
173
+ $e.second,
174
+ ")"
175
+ )
176
+ )
177
+
178
+ ; We gloss over the fact that first and second are actually stored in _Pair_base.
179
+ children (
180
+ #(
181
+ #(first : $e.first),
182
+ #(second : $e.second)
183
+ )
184
+ )
185
+ }
186
+
187
+ ;------------------------------------------------------------------------------
188
+ ; std::plus, etc. from <functional>
189
+ ;------------------------------------------------------------------------------
190
+ ; STL functors are previewed with their names.
191
+ ; They have no state, so they have no children.
192
+ std::plus<*>{
193
+ preview ( "plus" )
194
+ children ( #array(expr: 0, size: 0) )
195
+ }
196
+ std::minus<*>{
197
+ preview ( "minus" )
198
+ children ( #array(expr: 0, size: 0) )
199
+ }
200
+ std::multiplies<*>{
201
+ preview ( "multiplies" )
202
+ children ( #array(expr: 0, size: 0) )
203
+ }
204
+ std::divides<*>{
205
+ preview ( "divides" )
206
+ children ( #array(expr: 0, size: 0) )
207
+ }
208
+ std::modulus<*>{
209
+ preview ( "modulus" )
210
+ children ( #array(expr: 0, size: 0) )
211
+ }
212
+ std::negate<*>{
213
+ preview ( "negate" )
214
+ children ( #array(expr: 0, size: 0) )
215
+ }
216
+ std::equal_to<*>{
217
+ preview ( "equal_to" )
218
+ children ( #array(expr: 0, size: 0) )
219
+ }
220
+ std::not_equal_to<*>{
221
+ preview ( "not_equal_to" )
222
+ children ( #array(expr: 0, size: 0) )
223
+ }
224
+ std::greater<*>{
225
+ preview ( "greater" )
226
+ children ( #array(expr: 0, size: 0) )
227
+ }
228
+ std::less<*>{
229
+ preview ( "less" )
230
+ children ( #array(expr: 0, size: 0) )
231
+ }
232
+ std::greater_equal<*>{
233
+ preview ( "greater_equal" )
234
+ children ( #array(expr: 0, size: 0) )
235
+ }
236
+ std::less_equal<*>{
237
+ preview ( "less_equal" )
238
+ children ( #array(expr: 0, size: 0) )
239
+ }
240
+ std::logical_and<*>{
241
+ preview ( "logical_and" )
242
+ children ( #array(expr: 0, size: 0) )
243
+ }
244
+ std::logical_or<*>{
245
+ preview ( "logical_or" )
246
+ children ( #array(expr: 0, size: 0) )
247
+ }
248
+ std::logical_not<*>{
249
+ preview ( "logical_not" )
250
+ children ( #array(expr: 0, size: 0) )
251
+ }
252
+
253
+ ;------------------------------------------------------------------------------
254
+ ; std::not1() from <functional>
255
+ ; std::not2() from <functional>
256
+ ;------------------------------------------------------------------------------
257
+ ; STL negators are previewed with "not[12](<stored functor>)".
258
+ ; They have a child with the fake name of [pred], so that the
259
+ ; stored functor can be inspected.
260
+ std::unary_negate<*>{
261
+ preview (
262
+ #(
263
+ "not1(",
264
+ $e._Functor,
265
+ ")"
266
+ )
267
+ )
268
+
269
+ children (
270
+ #([pred] : $e._Functor)
271
+ )
272
+ }
273
+ std::binary_negate<*>{
274
+ preview (
275
+ #(
276
+ "not2(",
277
+ $e._Functor,
278
+ ")"
279
+ )
280
+ )
281
+
282
+ children (
283
+ #([pred] : $e._Functor)
284
+ )
285
+ }
286
+
287
+ ;------------------------------------------------------------------------------
288
+ ; std::bind1st() from <functional>
289
+ ; std::bind2nd() from <functional>
290
+ ;------------------------------------------------------------------------------
291
+ ; STL binders are previewed with "bind1st(<op>, <value>)" or "bind2nd(<op>, <value>)".
292
+ ; We gloss over the fact that they derive from unary_function.
293
+ std::binder1st<*>{
294
+ preview (
295
+ #(
296
+ "bind1st(",
297
+ $e.op,
298
+ ", ",
299
+ $e.value,
300
+ ")"
301
+ )
302
+ )
303
+
304
+ children (
305
+ #(
306
+ #(op : $e.op),
307
+ #(value : $e.value)
308
+ )
309
+ )
310
+ }
311
+ std::binder2nd<*>{
312
+ preview (
313
+ #(
314
+ "bind2nd(",
315
+ $e.op,
316
+ ", ",
317
+ $e.value,
318
+ ")"
319
+ )
320
+ )
321
+
322
+ children (
323
+ #(
324
+ #(op : $e.op),
325
+ #(value : $e.value)
326
+ )
327
+ )
328
+ }
329
+
330
+ ;------------------------------------------------------------------------------
331
+ ; std::ptr_fun() from <functional>
332
+ ;------------------------------------------------------------------------------
333
+ ; STL function pointer adaptors are previewed with "ptr_fun(<stored function pointer>)".
334
+ ; Function pointers have no children, so the adaptors have no children.
335
+ std::pointer_to_unary_function<*>|std::pointer_to_binary_function<*>{
336
+ preview (
337
+ #(
338
+ "ptr_fun(",
339
+ $e._Pfun,
340
+ ")"
341
+ )
342
+ )
343
+
344
+ children ( #array(expr: 0, size: 0) )
345
+ }
346
+
347
+ ;------------------------------------------------------------------------------
348
+ ; std::mem_fun() from <functional>
349
+ ; std::mem_fun_ref() from <functional>
350
+ ;------------------------------------------------------------------------------
351
+ ; See ptr_fun().
352
+ std::mem_fun_t<*>|std::mem_fun1_t<*>|std::const_mem_fun_t<*>|std::const_mem_fun1_t<*>{
353
+ preview (
354
+ #(
355
+ "mem_fun(",
356
+ $e._Pmemfun,
357
+ ")"
358
+ )
359
+ )
360
+
361
+ children ( #array(expr: 0, size: 0) )
362
+ }
363
+ std::mem_fun_ref_t<*>|std::mem_fun1_ref_t<*>|std::const_mem_fun_ref_t<*>|std::const_mem_fun1_ref_t<*>{
364
+ preview (
365
+ #(
366
+ "mem_fun_ref(",
367
+ $e._Pmemfun,
368
+ ")"
369
+ )
370
+ )
371
+
372
+ children ( #array(expr: 0, size: 0) )
373
+ }
374
+
375
+ ;------------------------------------------------------------------------------
376
+ ; std::auto_ptr from <memory>
377
+ ;------------------------------------------------------------------------------
378
+ std::auto_ptr<*>{
379
+ ; An empty auto_ptr is previewed with "empty".
380
+ ; Otherwise, it is previewed with "auto_ptr <object>".
381
+ preview (
382
+ #if ($e._Myptr == 0) (
383
+ "empty"
384
+ ) #else (
385
+ #(
386
+ "auto_ptr ",
387
+ *$e._Myptr
388
+ )
389
+ )
390
+ )
391
+
392
+ ; An empty auto_ptr has no children.
393
+ ; Otherwise, it has a single child, its stored pointer, with a fake name of [ptr].
394
+ children (
395
+ #if ($e._Myptr == 0) (
396
+ #array(expr: 0, size: 0)
397
+ ) #else (
398
+ #([ptr] : $e._Myptr)
399
+ )
400
+ )
401
+ }
402
+
403
+ ;------------------------------------------------------------------------------
404
+ ; std::basic_string from <string>
405
+ ;------------------------------------------------------------------------------
406
+ ; basic_string is previewed with its stored string.
407
+ ; It has [size] and [capacity] children, followed by [0], [1], [2], etc. children
408
+ ; displaying its stored characters.
409
+ ; The ($e._Myres) < ($e._BUF_SIZE) test determines whether the Small String Optimization
410
+ ; is in effect.
411
+ ; NOTE: The parentheses in ($e._Myres) < ($e._BUF_SIZE) are necessary.
412
+ std::basic_string<char,*>{
413
+ preview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s] ) #else ( [$e._Bx._Ptr,s] ))
414
+ stringview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sb] ) #else ( [$e._Bx._Ptr,sb] ))
415
+
416
+ children (
417
+ #(
418
+ #([size] : $e._Mysize),
419
+ #([capacity] : $e._Myres),
420
+ #if (($e._Myres) < ($e._BUF_SIZE)) (
421
+ #array(expr: $e._Bx._Buf[$i], size: $e._Mysize)
422
+ ) #else (
423
+ #array(expr: $e._Bx._Ptr[$i], size: $e._Mysize)
424
+ )
425
+ )
426
+ )
427
+ }
428
+ std::basic_string<unsigned short,*>|std::basic_string<wchar_t,*>{
429
+ preview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,su] ) #else ( [$e._Bx._Ptr,su] ))
430
+ stringview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sub] ) #else ( [$e._Bx._Ptr,sub] ))
431
+
432
+ children (
433
+ #(
434
+ #([size] : $e._Mysize),
435
+ #([capacity] : $e._Myres),
436
+ #if (($e._Myres) < ($e._BUF_SIZE)) (
437
+ #array(expr: $e._Bx._Buf[$i], size: $e._Mysize)
438
+ ) #else (
439
+ #array(expr: $e._Bx._Ptr[$i], size: $e._Mysize)
440
+ )
441
+ )
442
+ )
443
+ }
444
+ std::_String_iterator<char,*>|std::_String_const_iterator<char,*>{
445
+ preview ( [$e._Ptr,s] )
446
+ stringview ( [$e._Ptr,sb] )
447
+ children ( #([ptr] : $e._Ptr) )
448
+ }
449
+ std::_String_iterator<unsigned short,*>|std::_String_const_iterator<unsigned short,*>|std::_String_iterator<wchar_t,*>|std::_String_const_iterator<wchar_t,*>{
450
+ preview ( [$e._Ptr,su] )
451
+ stringview ( [$e._Ptr,sub] )
452
+ children ( #([ptr] : $e._Ptr) )
453
+ }
454
+
455
+ ;------------------------------------------------------------------------------
456
+ ; std::vector<bool> from <vector>
457
+ ;------------------------------------------------------------------------------
458
+ ; Despite its packed representation, vector<bool> is visualized like vector<T>.
459
+ std::vector<bool,*>{
460
+ preview (
461
+ #(
462
+ "[",
463
+ $e._Mysize,
464
+ "](",
465
+ #array(
466
+ expr: (bool)(($e._Myvec._Myfirst[$i / _VBITS] >> ($i % _VBITS)) & 1),
467
+ size: $e._Mysize
468
+ ),
469
+ ")"
470
+ )
471
+ )
472
+
473
+ children (
474
+ #(
475
+ #([size] : $e._Mysize),
476
+ #([capacity] : ($e._Myvec._Myend - $e._Myvec._Myfirst) * _VBITS),
477
+ #array(
478
+ expr: (bool)(($e._Myvec._Myfirst[$i / _VBITS] >> ($i % _VBITS)) & 1),
479
+ size: $e._Mysize
480
+ )
481
+ )
482
+ )
483
+ }
484
+ std::_Vb_reference<*>|std::_Vb_iterator<*>|std::_Vb_const_iterator<*>{
485
+ preview (
486
+ (bool)((*$e._Myptr >> $e._Myoff) & 1)
487
+ )
488
+
489
+ children (
490
+ #(
491
+ #([ptr] : $e._Myptr),
492
+ #([offset] : $e._Myoff)
493
+ )
494
+ )
495
+ }
496
+
497
+ ;------------------------------------------------------------------------------
498
+ ; std::vector from <vector>
499
+ ;------------------------------------------------------------------------------
500
+ ; vector is previewed with "[<size>](<elements>)".
501
+ ; It has [size] and [capacity] children, followed by its elements.
502
+ ; The other containers follow its example.
503
+ std::vector<*>{
504
+ preview (
505
+ #(
506
+ "[",
507
+ $e._Mylast - $e._Myfirst,
508
+ "](",
509
+ #array(
510
+ expr: $e._Myfirst[$i],
511
+ size: $e._Mylast - $e._Myfirst
512
+ ),
513
+ ")"
514
+ )
515
+ )
516
+
517
+ children (
518
+ #(
519
+ #([size] : $e._Mylast - $e._Myfirst),
520
+ #([capacity] : $e._Myend - $e._Myfirst),
521
+ #array(
522
+ expr: $e._Myfirst[$i],
523
+ size: $e._Mylast - $e._Myfirst
524
+ )
525
+ )
526
+ )
527
+ }
528
+ std::_Vector_iterator<*>|std::_Vector_const_iterator<*>{
529
+ preview (
530
+ *$e._Ptr
531
+ )
532
+
533
+ children (
534
+ #([ptr] : $e._Ptr)
535
+ )
536
+ }
537
+
538
+ ;------------------------------------------------------------------------------
539
+ ; std::deque from <deque>
540
+ ;------------------------------------------------------------------------------
541
+ std::deque<*>{
542
+ preview (
543
+ #(
544
+ "[",
545
+ $e._Mysize,
546
+ "](",
547
+ #array(
548
+ expr: $e._Map[(($i + $e._Myoff) / $e._EEN_DS) % $e._Mapsize][($i + $e._Myoff) % $e._EEN_DS],
549
+ size: $e._Mysize
550
+ ),
551
+ ")"
552
+ )
553
+ )
554
+
555
+ children (
556
+ #(
557
+ #array(
558
+ expr: $e._Map[(($i + $e._Myoff) / $e._EEN_DS) % $e._Mapsize][($i + $e._Myoff) % $e._EEN_DS],
559
+ size: $e._Mysize
560
+ )
561
+ )
562
+ )
563
+ }
564
+ std::_Deque_iterator<*,*>|std::_Deque_const_iterator<*,*>{
565
+ preview (
566
+ #if ($e._Myoff >= ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Myoff + ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mysize) (
567
+ "end"
568
+ ) #else (
569
+ ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Map[($e._Myoff / ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mapsize][$e._Myoff % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS]
570
+ )
571
+ )
572
+
573
+ children (
574
+ #if ($e._Myoff >= ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Myoff + ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mysize) (
575
+ #array(expr: 0, size: 0)
576
+ ) #else (
577
+ #(
578
+ #([index] : $e._Myoff - ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Myoff),
579
+ #([ptr] : &((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Map[($e._Myoff / ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mapsize][$e._Myoff % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS] )
580
+ )
581
+ )
582
+ )
583
+ }
584
+
585
+ ;------------------------------------------------------------------------------
586
+ ; std::list from <list>
587
+ ;------------------------------------------------------------------------------
588
+ std::list<*>{
589
+ preview (
590
+ #(
591
+ "[",
592
+ $e._Mysize,
593
+ "](",
594
+ #list(
595
+ head: $e._Myhead->_Next,
596
+ size: $e._Mysize,
597
+ next: _Next
598
+ ) : $e._Myval,
599
+ ")"
600
+ )
601
+ )
602
+
603
+ children (
604
+ #list(
605
+ head: $e._Myhead->_Next,
606
+ size: $e._Mysize,
607
+ next: _Next
608
+ ) : $e._Myval
609
+ )
610
+ }
611
+ std::_List_iterator<*>|std::_List_const_iterator<*>{
612
+ preview ( $e._Ptr->_Myval )
613
+ children ( #([ptr] : &$e._Ptr->_Myval) )
614
+ }
615
+
616
+ ;------------------------------------------------------------------------------
617
+ ; std::queue from <queue>
618
+ ; std::stack from <stack>
619
+ ;------------------------------------------------------------------------------
620
+ std::queue<*>|std::stack<*>{
621
+ preview ( $e.c )
622
+ children ( #(c : $e.c) )
623
+ }
624
+
625
+ ;------------------------------------------------------------------------------
626
+ ; std::priority_queue from <queue>
627
+ ;------------------------------------------------------------------------------
628
+ std::priority_queue<*>{
629
+ preview ( $e.c )
630
+
631
+ children (
632
+ #(
633
+ #(c [heap]: $e.c),
634
+ #(comp : $e.comp)
635
+ )
636
+ )
637
+ }
638
+
639
+ ;------------------------------------------------------------------------------
640
+ ; std::map from <map>
641
+ ; std::multimap from <map>
642
+ ; std::set from <set>
643
+ ; std::multiset from <set>
644
+ ;------------------------------------------------------------------------------
645
+ std::map<*>|std::multimap<*>|std::set<*>|std::multiset<*>{
646
+ preview (
647
+ #(
648
+ "[",
649
+ $e._Mysize,
650
+ "](",
651
+ #tree(
652
+ head: $e._Myhead->_Parent,
653
+ skip: $e._Myhead,
654
+ left: _Left,
655
+ right: _Right,
656
+ size: $e._Mysize
657
+ ) : $e._Myval,
658
+ ")"
659
+ )
660
+ )
661
+
662
+ children (
663
+ #(
664
+ #([comp] : $e.comp),
665
+ #tree(
666
+ head: $e._Myhead->_Parent,
667
+ skip: $e._Myhead,
668
+ left: _Left,
669
+ right: _Right,
670
+ size: $e._Mysize
671
+ ) : $e._Myval
672
+ )
673
+ )
674
+ }
675
+ std::_Tree_iterator<*>|std::_Tree_const_iterator<*>{
676
+ preview ( $e._Ptr->_Myval )
677
+ children ( #([ptr] : &$e._Ptr->_Myval) )
678
+ }
679
+
680
+ ;------------------------------------------------------------------------------
681
+ ; std::bitset from <bitset>
682
+ ;------------------------------------------------------------------------------
683
+ std::bitset<*>{
684
+ preview (
685
+ #(
686
+ "[",
687
+ $e._EEN_BITS,
688
+ "](",
689
+ #array(
690
+ expr: [($e._Array[$i / $e._Bitsperword] >> ($i % $e._Bitsperword)) & 1,d],
691
+ size: $e._EEN_BITS
692
+ ),
693
+ ")"
694
+ )
695
+ )
696
+
697
+ children (
698
+ #array(
699
+ expr: [($e._Array[$i / $e._Bitsperword] >> ($i % $e._Bitsperword)) & 1,d],
700
+ size: $e._EEN_BITS
701
+ )
702
+ )
703
+ }
704
+ std::bitset<*>::reference{
705
+ preview (
706
+ [($e._Pbitset->_Array[$i / $e._Pbitset->_Bitsperword] >> ($e._Mypos % $e._Pbitset->_Bitsperword)) & 1,d]
707
+ )
708
+
709
+ children (
710
+ #(
711
+ #([bitset] : $e._Pbitset),
712
+ #([pos] : $e._Mypos)
713
+ )
714
+ )
715
+ }
716
+
717
+ ;------------------------------------------------------------------------------
718
+ ; std::reverse_iterator from <iterator>
719
+ ;------------------------------------------------------------------------------
720
+ std::reverse_iterator<std::_String_iterator<*> >|std::reverse_iterator<std::_String_const_iterator<*> >{
721
+ preview (
722
+ #(
723
+ "reverse_iterator to ",
724
+ $e.current._Ptr[-1]
725
+ )
726
+ )
727
+
728
+ children (
729
+ #(
730
+ #([to] : $e.current._Ptr - 1),
731
+ #(current : $e.current)
732
+ )
733
+ )
734
+ }
735
+ std::reverse_iterator<std::_Vb_iterator<*> >|std::reverse_iterator<std::_Vb_const_iterator<*> >{
736
+ preview (
737
+ #(
738
+ "reverse_iterator to ",
739
+ #if ($e.current._Myoff != 0) (
740
+ (bool)((*$e.current._Myptr >> ($e.current._Myoff - 1)) & 1)
741
+ ) #else (
742
+ (bool)(($e.current._Myptr[-1] >> (_VBITS - 1)) & 1)
743
+ )
744
+ )
745
+ )
746
+
747
+ children (
748
+ #if ($e.current._Myoff != 0) (
749
+ #(
750
+ #([to ptr] : $e.current._Myptr),
751
+ #([to offset] : $e.current._Myoff - 1),
752
+ #(current : $e.current)
753
+ )
754
+ ) #else (
755
+ #(
756
+ #([to ptr] : $e.current._Myptr - 1),
757
+ #([to offset] : _VBITS - 1),
758
+ #(current : $e.current)
759
+ )
760
+ )
761
+ )
762
+ }
763
+ std::reverse_iterator<std::_Vector_iterator<*> >|std::reverse_iterator<std::_Vector_const_iterator<*> >{
764
+ preview (
765
+ #(
766
+ "reverse_iterator to ",
767
+ $e.current._Ptr[-1]
768
+ )
769
+ )
770
+
771
+ children (
772
+ #(
773
+ #([to] : $e.current._Ptr - 1),
774
+ #(current : $e.current)
775
+ )
776
+ )
777
+ }
778
+ std::reverse_iterator<std::_Deque_iterator<*,*> >|std::reverse_iterator<std::_Deque_const_iterator<*,*> >{
779
+ preview (
780
+ #(
781
+ "reverse_iterator to ",
782
+ #if ($e.current._Myoff == ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Myoff) (
783
+ "end"
784
+ ) #else (
785
+ ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Map[(($e.current._Myoff - 1) / ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Mapsize][($e.current._Myoff - 1) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS]
786
+ )
787
+ )
788
+ )
789
+
790
+ children (
791
+ #if ($e.current._Myoff == ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Myoff) (
792
+ #(current : $e.current)
793
+ ) #else (
794
+ #(
795
+ #([to index] : ($e.current._Myoff - 1) - ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Myoff),
796
+ #([to ptr] : &((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Map[(($e.current._Myoff - 1) / ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Mapsize][($e.current._Myoff - 1) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS] ),
797
+ #(current : $e.current)
798
+ )
799
+ )
800
+ )
801
+ }
802
+ std::reverse_iterator<std::_List_iterator<*> >|std::reverse_iterator<std::_List_const_iterator<*> >{
803
+ preview (
804
+ #(
805
+ "reverse_iterator to ",
806
+ $e.current._Ptr->_Prev->_Myval
807
+ )
808
+ )
809
+
810
+ children (
811
+ #(
812
+ #([to] : &$e.current._Ptr->_Prev->_Myval),
813
+ #(current : $e.current)
814
+ )
815
+ )
816
+ }
817
+ std::reverse_iterator<std::_Array_iterator<*> >|std::reverse_iterator<std::_Array_const_iterator<*> >{
818
+ preview (
819
+ #(
820
+ "reverse_iterator to ",
821
+ #if ($e.current._EEN_IDL == 0) (
822
+ $e.current._Ptr[-1]
823
+ ) #else (
824
+ #if ($e.current._Idx == 0) (
825
+ "end"
826
+ ) #else (
827
+ $e.current._Ptr[$e.current._Idx - 1]
828
+ )
829
+ )
830
+ )
831
+ )
832
+
833
+ children (
834
+ #if ($e.current._EEN_IDL == 0) (
835
+ #(
836
+ #([to] : $e.current._Ptr - 1),
837
+ #(current : $e.current)
838
+ )
839
+ ) #else (
840
+ #if ($e.current._Idx == 0) (
841
+ #(current : $e.current)
842
+ ) #else (
843
+ #(
844
+ #([to] : $e.current._Ptr + $e.current._Idx - 1),
845
+ #(current : $e.current)
846
+ )
847
+ )
848
+ )
849
+ )
850
+ }
851
+ std::reverse_iterator<*>{
852
+ preview (
853
+ #(
854
+ "reverse_iterator current ",
855
+ $e.current
856
+ )
857
+ )
858
+
859
+ children (
860
+ #(current : $e.current)
861
+ )
862
+ }
863
+
864
+ ;------------------------------------------------------------------------------
865
+ ; std::complex from <complex>
866
+ ;------------------------------------------------------------------------------
867
+ std::complex<*>{
868
+ preview (
869
+ #if ($e._Val[1] == 0) (
870
+ ; Purely real.
871
+ $e._Val[0]
872
+ ) #else (
873
+ #if ($e._Val[0] == 0) (
874
+ ; Purely imaginary.
875
+ #if ($e._Val[1] < 0) (
876
+ #("-i*", -$e._Val[1])
877
+ ) #else (
878
+ #("i*", $e._Val[1])
879
+ )
880
+ ) #else (
881
+ ; Mixed.
882
+ #if ($e._Val[1] < 0) (
883
+ #($e._Val[0], "-i*", -$e._Val[1])
884
+ ) #else (
885
+ #($e._Val[0], "+i*", $e._Val[1])
886
+ )
887
+ )
888
+ )
889
+ )
890
+
891
+ children (
892
+ #(
893
+ #(real : $e._Val[0]),
894
+ #(imag : $e._Val[1])
895
+ )
896
+ )
897
+ }
898
+
899
+ ;------------------------------------------------------------------------------
900
+ ; std::valarray from <valarray>
901
+ ;------------------------------------------------------------------------------
902
+ std::valarray<*>{
903
+ preview (
904
+ #(
905
+ "[",
906
+ $e._Mysize,
907
+ "](",
908
+ #array(
909
+ expr: $e._Myptr[$i],
910
+ size: $e._Mysize
911
+ ),
912
+ ")"
913
+ )
914
+ )
915
+
916
+ children (
917
+ #array(
918
+ expr: $e._Myptr[$i],
919
+ size: $e._Mysize
920
+ )
921
+ )
922
+ }
923
+
924
+ ;------------------------------------------------------------------------------
925
+ ; std::tr1::reference_wrapper from <functional>
926
+ ;------------------------------------------------------------------------------
927
+ std::tr1::reference_wrapper<*>{
928
+ preview (
929
+ #if ($e._Callee._EEN_INDIRECT == 1) (
930
+ ; For ordinary T, reference_wrapper<T> stores a T * _Callee._Ptr
931
+ ; which is non-null. Actual references are previewed with what they
932
+ ; refer to, so reference_wrapper<T> is previewed with dereferencing its
933
+ ; stored pointer.
934
+ *$e._Callee._Ptr
935
+ ) #else (
936
+ ; When T is a pointer to data member type, reference_wrapper<T>
937
+ ; stores a T _Callee._Object directly.
938
+ $e._Callee._Object
939
+ )
940
+ )
941
+
942
+ children (
943
+ #if ($e._Callee._EEN_INDIRECT == 1) (
944
+ ; Actual references have the same children as what they refer to.
945
+ ; Unfortunately, there appears to be no way to imitate this exactly.
946
+ ; Therefore, we make reference_wrapper<T> appear to have a single
947
+ ; child, its stored pointer, with a fake name of [ptr].
948
+ #([ptr] : $e._Callee._Ptr)
949
+ ) #else (
950
+ ; When T is a pointer to data member type, T has no children,
951
+ ; so we make reference_wrapper<T> appear to have no children.
952
+ #array(expr: 0, size: 0)
953
+ )
954
+ )
955
+ }
956
+
957
+ ;------------------------------------------------------------------------------
958
+ ; std::tr1::shared_ptr from <memory>
959
+ ;------------------------------------------------------------------------------
960
+ std::tr1::_Ref_count<*>{
961
+ preview ( "default" )
962
+ children ( #array(expr: 0, size: 0) )
963
+ }
964
+ std::tr1::_Ref_count_del<*>{
965
+ preview ( "custom deleter" )
966
+ children ( #([deleter] : $e._Dtor) )
967
+ }
968
+ std::tr1::_Ref_count_del_alloc<*>{
969
+ preview ( "custom deleter, custom allocator" )
970
+ children (
971
+ #(
972
+ #([deleter] : $e._Dtor),
973
+ #([allocator] : $e._Myal)
974
+ )
975
+ )
976
+ }
977
+ std::tr1::_Ref_count_obj<*>{
978
+ preview ( "make_shared" )
979
+ children ( #array(expr: 0, size: 0) )
980
+ }
981
+ std::tr1::_Ref_count_obj_alloc<*>{
982
+ preview ( "allocate_shared" )
983
+ children ( #([allocator] : $e._Myal) )
984
+ }
985
+ std::tr1::shared_ptr<*>{
986
+ preview (
987
+ ; shared_ptr<T> stores a T * _Ptr .
988
+ #if ($e._Ptr == 0) (
989
+ ; A default-constructed shared_ptr has a null _Ptr and a null _Rep,
990
+ ; and is formally said to be empty.
991
+ ; A shared_ptr constructed from a null pointer has a null _Ptr
992
+ ; and a NON-null _Rep . It is formally said to own the null pointer.
993
+ ; We preview both with "empty".
994
+ "empty"
995
+ ) #else (
996
+ ; Raw pointers are previewed with "<pointer value> <object>".
997
+ ; auto_ptr is previewed with "auto_ptr <object>".
998
+ ; Following these examples, shared_ptr is previewed with
999
+ ; "shared_ptr <object> [N strong refs, M weak refs]".
1000
+ #(
1001
+ "shared_ptr ",
1002
+ *$e._Ptr,
1003
+ " [",
1004
+ $e._Rep->_Uses,
1005
+ #if ($e._Rep->_Uses == 1) (" strong ref") #else (" strong refs"),
1006
+ #if ($e._Rep->_Weaks - 1 > 0) (
1007
+ #(
1008
+ ", ",
1009
+ $e._Rep->_Weaks - 1,
1010
+ #if ($e._Rep->_Weaks - 1 == 1) (" weak ref") #else (" weak refs")
1011
+ )
1012
+ ),
1013
+ "] [",
1014
+ *$e._Rep,
1015
+ "]"
1016
+ )
1017
+ ; Note: _Rep->_Uses counts how many shared_ptrs share ownership of the object,
1018
+ ; so we directly display it as the strong reference count.
1019
+ ; _Rep->_Weaks counts how many shared_ptrs and weak_ptrs share ownership of
1020
+ ; the "representation object" (or "control block"). All of the shared_ptrs are
1021
+ ; counted as a single owner. That is, _Weaks is initialized to 1, and when
1022
+ ; _Uses falls to 0, _Weaks is decremented. This avoids incrementing and decrementing
1023
+ ; _Weaks every time that a shared_ptr gains or loses ownership. Therefore,
1024
+ ; _Weaks - 1 is the weak reference count, the number of weak_ptrs that are observing
1025
+ ; the shared object.
1026
+ )
1027
+ )
1028
+
1029
+ children (
1030
+ #if ($e._Ptr == 0) (
1031
+ ; We make empty shared_ptrs (and shared_ptrs that own
1032
+ ; the null pointer) appear to have no children.
1033
+ #array(expr: 0, size: 0)
1034
+ ) #else (
1035
+ #(
1036
+ ; We make shared_ptr appear to have two children:
1037
+
1038
+ ; Its stored pointer, with a fake name of [ptr].
1039
+ #([ptr] : $e._Ptr),
1040
+
1041
+ ; Its deleter and allocator, which may be default or custom.
1042
+ #([deleter and allocator] : *$e._Rep)
1043
+ )
1044
+ )
1045
+ )
1046
+ }
1047
+
1048
+ ;------------------------------------------------------------------------------
1049
+ ; std::tr1::weak_ptr from <memory>
1050
+ ;------------------------------------------------------------------------------
1051
+ std::tr1::weak_ptr<*>{
1052
+ preview (
1053
+ #if ($e._Ptr == 0) (
1054
+ "empty"
1055
+ ) #elif ($e._Rep->_Uses == 0) (
1056
+ ; weak_ptr is just like shared_ptr, except that a weak_ptr can be expired.
1057
+ #(
1058
+ "expired [",
1059
+ *$e._Rep,
1060
+ "]"
1061
+ )
1062
+ ) #else (
1063
+ #(
1064
+ "weak_ptr ",
1065
+ *$e._Ptr,
1066
+ " [",
1067
+ $e._Rep->_Uses,
1068
+ #if ($e._Rep->_Uses == 1) (" strong ref") #else (" strong refs"),
1069
+ #if ($e._Rep->_Weaks - 1 > 0) (
1070
+ #(
1071
+ ", ",
1072
+ $e._Rep->_Weaks - 1,
1073
+ #if ($e._Rep->_Weaks - 1 == 1) (" weak ref") #else (" weak refs")
1074
+ )
1075
+ ),
1076
+ "] [",
1077
+ *$e._Rep,
1078
+ "]"
1079
+ )
1080
+ )
1081
+ )
1082
+
1083
+ children (
1084
+ #if ($e._Ptr == 0) (
1085
+ #array(expr: 0, size: 0)
1086
+ ) #elif ($e._Rep->_Uses == 0) (
1087
+ ; When a weak_ptr is expired, we show its deleter and allocator.
1088
+ ; The deleter has already been used, but the control block has not yet been deallocated.
1089
+ #([deleter and allocator] : *$e._Rep)
1090
+ ) #else (
1091
+ #(
1092
+ #([ptr] : $e._Ptr),
1093
+ #([deleter and allocator] : *$e._Rep)
1094
+ )
1095
+ )
1096
+ )
1097
+ }
1098
+
1099
+ ;------------------------------------------------------------------------------
1100
+ ; std::tr1::mem_fn() from <functional>
1101
+ ;------------------------------------------------------------------------------
1102
+ ; Note that when mem_fn() is given a data member pointer, it returns a _Call_wrapper<_Callable_pmd<*> > .
1103
+ ; Data member pointers themselves don't have useful previews, so we don't attempt to visualize this.
1104
+ ; When mem_fn() is given a member function pointer, it returns a _Mem_fn[N], which we can visualize.
1105
+ std::tr1::_Mem_fn1<*>|std::tr1::_Mem_fn2<*>|std::tr1::_Mem_fn3<*>|std::tr1::_Mem_fn4<*>|std::tr1::_Mem_fn5<*>|std::tr1::_Mem_fn6<*>|std::tr1::_Mem_fn7<*>|std::tr1::_Mem_fn8<*>|std::tr1::_Mem_fn9<*>|std::tr1::_Mem_fn10<*>{
1106
+ preview (
1107
+ ; We preview the functor returned by mem_fn() with "mem_fn(<stored member function pointer>)".
1108
+ #(
1109
+ "mem_fn(",
1110
+ $e._Callee._Object,
1111
+ ")"
1112
+ )
1113
+ )
1114
+
1115
+ children (
1116
+ ; Member function pointers have no children.
1117
+ #array(expr: 0, size: 0)
1118
+ )
1119
+ }
1120
+
1121
+ ;------------------------------------------------------------------------------
1122
+ ; std::tr1::bind() from <functional>
1123
+ ;------------------------------------------------------------------------------
1124
+ ; bind() placeholders are previewed with their names.
1125
+ ; They have no state, so they have no children.
1126
+ std::tr1::_Ph<1>{
1127
+ preview ( "_1" )
1128
+ children ( #array(expr: 0, size: 0) )
1129
+ }
1130
+ std::tr1::_Ph<2>{
1131
+ preview ( "_2" )
1132
+ children ( #array(expr: 0, size: 0) )
1133
+ }
1134
+ std::tr1::_Ph<3>{
1135
+ preview ( "_3" )
1136
+ children ( #array(expr: 0, size: 0) )
1137
+ }
1138
+ std::tr1::_Ph<4>{
1139
+ preview ( "_4" )
1140
+ children ( #array(expr: 0, size: 0) )
1141
+ }
1142
+ std::tr1::_Ph<5>{
1143
+ preview ( "_5" )
1144
+ children ( #array(expr: 0, size: 0) )
1145
+ }
1146
+ std::tr1::_Ph<6>{
1147
+ preview ( "_6" )
1148
+ children ( #array(expr: 0, size: 0) )
1149
+ }
1150
+ std::tr1::_Ph<7>{
1151
+ preview ( "_7" )
1152
+ children ( #array(expr: 0, size: 0) )
1153
+ }
1154
+ std::tr1::_Ph<8>{
1155
+ preview ( "_8" )
1156
+ children ( #array(expr: 0, size: 0) )
1157
+ }
1158
+ std::tr1::_Ph<9>{
1159
+ preview ( "_9" )
1160
+ children ( #array(expr: 0, size: 0) )
1161
+ }
1162
+ std::tr1::_Ph<10>{
1163
+ preview ( "_10" )
1164
+ children ( #array(expr: 0, size: 0) )
1165
+ }
1166
+
1167
+ ; The functor returned by bind(f, t1, t2) is previewed with "bind(f, t1, t2)".
1168
+ ; It has children with the fake names of [f], [t1], [t2], etc.
1169
+ std::tr1::_Bind<*,*,std::tr1::_Bind0<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind0<*> >{
1170
+ preview (
1171
+ #(
1172
+ "bind(", $e._Bx._Callee._Object,
1173
+ ")"
1174
+ )
1175
+ )
1176
+
1177
+ children (
1178
+ #(
1179
+ #([f] : $e._Bx._Callee._Object)
1180
+ )
1181
+ )
1182
+ }
1183
+ std::tr1::_Bind<*,*,std::tr1::_Bind1<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind1<*> >{
1184
+ preview (
1185
+ #(
1186
+ "bind(", $e._Bx._Callee._Object,
1187
+ ", ", $e._Bx._Vx0,
1188
+ ")"
1189
+ )
1190
+ )
1191
+
1192
+ children (
1193
+ #(
1194
+ #([f] : $e._Bx._Callee._Object),
1195
+ #([t1] : $e._Bx._Vx0)
1196
+ )
1197
+ )
1198
+ }
1199
+ std::tr1::_Bind<*,*,std::tr1::_Bind2<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind2<*> >{
1200
+ preview (
1201
+ #(
1202
+ "bind(", $e._Bx._Callee._Object,
1203
+ ", ", $e._Bx._Vx0,
1204
+ ", ", $e._Bx._Vx1,
1205
+ ")"
1206
+ )
1207
+ )
1208
+
1209
+ children (
1210
+ #(
1211
+ #([f] : $e._Bx._Callee._Object),
1212
+ #([t1] : $e._Bx._Vx0),
1213
+ #([t2] : $e._Bx._Vx1)
1214
+ )
1215
+ )
1216
+ }
1217
+ std::tr1::_Bind<*,*,std::tr1::_Bind3<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind3<*> >{
1218
+ preview (
1219
+ #(
1220
+ "bind(", $e._Bx._Callee._Object,
1221
+ ", ", $e._Bx._Vx0,
1222
+ ", ", $e._Bx._Vx1,
1223
+ ", ", $e._Bx._Vx2,
1224
+ ")"
1225
+ )
1226
+ )
1227
+
1228
+ children (
1229
+ #(
1230
+ #([f] : $e._Bx._Callee._Object),
1231
+ #([t1] : $e._Bx._Vx0),
1232
+ #([t2] : $e._Bx._Vx1),
1233
+ #([t3] : $e._Bx._Vx2)
1234
+ )
1235
+ )
1236
+ }
1237
+ std::tr1::_Bind<*,*,std::tr1::_Bind4<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind4<*> >{
1238
+ preview (
1239
+ #(
1240
+ "bind(", $e._Bx._Callee._Object,
1241
+ ", ", $e._Bx._Vx0,
1242
+ ", ", $e._Bx._Vx1,
1243
+ ", ", $e._Bx._Vx2,
1244
+ ", ", $e._Bx._Vx3,
1245
+ ")"
1246
+ )
1247
+ )
1248
+
1249
+ children (
1250
+ #(
1251
+ #([f] : $e._Bx._Callee._Object),
1252
+ #([t1] : $e._Bx._Vx0),
1253
+ #([t2] : $e._Bx._Vx1),
1254
+ #([t3] : $e._Bx._Vx2),
1255
+ #([t4] : $e._Bx._Vx3)
1256
+ )
1257
+ )
1258
+ }
1259
+ std::tr1::_Bind<*,*,std::tr1::_Bind5<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind5<*> >{
1260
+ preview (
1261
+ #(
1262
+ "bind(", $e._Bx._Callee._Object,
1263
+ ", ", $e._Bx._Vx0,
1264
+ ", ", $e._Bx._Vx1,
1265
+ ", ", $e._Bx._Vx2,
1266
+ ", ", $e._Bx._Vx3,
1267
+ ", ", $e._Bx._Vx4,
1268
+ ")"
1269
+ )
1270
+ )
1271
+
1272
+ children (
1273
+ #(
1274
+ #([f] : $e._Bx._Callee._Object),
1275
+ #([t1] : $e._Bx._Vx0),
1276
+ #([t2] : $e._Bx._Vx1),
1277
+ #([t3] : $e._Bx._Vx2),
1278
+ #([t4] : $e._Bx._Vx3),
1279
+ #([t5] : $e._Bx._Vx4)
1280
+ )
1281
+ )
1282
+ }
1283
+ std::tr1::_Bind<*,*,std::tr1::_Bind6<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind6<*> >{
1284
+ preview (
1285
+ #(
1286
+ "bind(", $e._Bx._Callee._Object,
1287
+ ", ", $e._Bx._Vx0,
1288
+ ", ", $e._Bx._Vx1,
1289
+ ", ", $e._Bx._Vx2,
1290
+ ", ", $e._Bx._Vx3,
1291
+ ", ", $e._Bx._Vx4,
1292
+ ", ", $e._Bx._Vx5,
1293
+ ")"
1294
+ )
1295
+ )
1296
+
1297
+ children (
1298
+ #(
1299
+ #([f] : $e._Bx._Callee._Object),
1300
+ #([t1] : $e._Bx._Vx0),
1301
+ #([t2] : $e._Bx._Vx1),
1302
+ #([t3] : $e._Bx._Vx2),
1303
+ #([t4] : $e._Bx._Vx3),
1304
+ #([t5] : $e._Bx._Vx4),
1305
+ #([t6] : $e._Bx._Vx5)
1306
+ )
1307
+ )
1308
+ }
1309
+ std::tr1::_Bind<*,*,std::tr1::_Bind7<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind7<*> >{
1310
+ preview (
1311
+ #(
1312
+ "bind(", $e._Bx._Callee._Object,
1313
+ ", ", $e._Bx._Vx0,
1314
+ ", ", $e._Bx._Vx1,
1315
+ ", ", $e._Bx._Vx2,
1316
+ ", ", $e._Bx._Vx3,
1317
+ ", ", $e._Bx._Vx4,
1318
+ ", ", $e._Bx._Vx5,
1319
+ ", ", $e._Bx._Vx6,
1320
+ ")"
1321
+ )
1322
+ )
1323
+
1324
+ children (
1325
+ #(
1326
+ #([f] : $e._Bx._Callee._Object),
1327
+ #([t1] : $e._Bx._Vx0),
1328
+ #([t2] : $e._Bx._Vx1),
1329
+ #([t3] : $e._Bx._Vx2),
1330
+ #([t4] : $e._Bx._Vx3),
1331
+ #([t5] : $e._Bx._Vx4),
1332
+ #([t6] : $e._Bx._Vx5),
1333
+ #([t7] : $e._Bx._Vx6)
1334
+ )
1335
+ )
1336
+ }
1337
+ std::tr1::_Bind<*,*,std::tr1::_Bind8<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind8<*> >{
1338
+ preview (
1339
+ #(
1340
+ "bind(", $e._Bx._Callee._Object,
1341
+ ", ", $e._Bx._Vx0,
1342
+ ", ", $e._Bx._Vx1,
1343
+ ", ", $e._Bx._Vx2,
1344
+ ", ", $e._Bx._Vx3,
1345
+ ", ", $e._Bx._Vx4,
1346
+ ", ", $e._Bx._Vx5,
1347
+ ", ", $e._Bx._Vx6,
1348
+ ", ", $e._Bx._Vx7,
1349
+ ")"
1350
+ )
1351
+ )
1352
+
1353
+ children (
1354
+ #(
1355
+ #([f] : $e._Bx._Callee._Object),
1356
+ #([t1] : $e._Bx._Vx0),
1357
+ #([t2] : $e._Bx._Vx1),
1358
+ #([t3] : $e._Bx._Vx2),
1359
+ #([t4] : $e._Bx._Vx3),
1360
+ #([t5] : $e._Bx._Vx4),
1361
+ #([t6] : $e._Bx._Vx5),
1362
+ #([t7] : $e._Bx._Vx6),
1363
+ #([t8] : $e._Bx._Vx7)
1364
+ )
1365
+ )
1366
+ }
1367
+ std::tr1::_Bind<*,*,std::tr1::_Bind9<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind9<*> >{
1368
+ preview (
1369
+ #(
1370
+ "bind(", $e._Bx._Callee._Object,
1371
+ ", ", $e._Bx._Vx0,
1372
+ ", ", $e._Bx._Vx1,
1373
+ ", ", $e._Bx._Vx2,
1374
+ ", ", $e._Bx._Vx3,
1375
+ ", ", $e._Bx._Vx4,
1376
+ ", ", $e._Bx._Vx5,
1377
+ ", ", $e._Bx._Vx6,
1378
+ ", ", $e._Bx._Vx7,
1379
+ ", ", $e._Bx._Vx8,
1380
+ ")"
1381
+ )
1382
+ )
1383
+
1384
+ children (
1385
+ #(
1386
+ #([f] : $e._Bx._Callee._Object),
1387
+ #([t1] : $e._Bx._Vx0),
1388
+ #([t2] : $e._Bx._Vx1),
1389
+ #([t3] : $e._Bx._Vx2),
1390
+ #([t4] : $e._Bx._Vx3),
1391
+ #([t5] : $e._Bx._Vx4),
1392
+ #([t6] : $e._Bx._Vx5),
1393
+ #([t7] : $e._Bx._Vx6),
1394
+ #([t8] : $e._Bx._Vx7),
1395
+ #([t9] : $e._Bx._Vx8)
1396
+ )
1397
+ )
1398
+ }
1399
+ std::tr1::_Bind<*,*,std::tr1::_Bind10<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind10<*> >{
1400
+ preview (
1401
+ #(
1402
+ "bind(", $e._Bx._Callee._Object,
1403
+ ", ", $e._Bx._Vx0,
1404
+ ", ", $e._Bx._Vx1,
1405
+ ", ", $e._Bx._Vx2,
1406
+ ", ", $e._Bx._Vx3,
1407
+ ", ", $e._Bx._Vx4,
1408
+ ", ", $e._Bx._Vx5,
1409
+ ", ", $e._Bx._Vx6,
1410
+ ", ", $e._Bx._Vx7,
1411
+ ", ", $e._Bx._Vx8,
1412
+ ", ", $e._Bx._Vx9,
1413
+ ")"
1414
+ )
1415
+ )
1416
+
1417
+ children (
1418
+ #(
1419
+ #([f] : $e._Bx._Callee._Object),
1420
+ #([t1] : $e._Bx._Vx0),
1421
+ #([t2] : $e._Bx._Vx1),
1422
+ #([t3] : $e._Bx._Vx2),
1423
+ #([t4] : $e._Bx._Vx3),
1424
+ #([t5] : $e._Bx._Vx4),
1425
+ #([t6] : $e._Bx._Vx5),
1426
+ #([t7] : $e._Bx._Vx6),
1427
+ #([t8] : $e._Bx._Vx7),
1428
+ #([t9] : $e._Bx._Vx8),
1429
+ #([t10] : $e._Bx._Vx9)
1430
+ )
1431
+ )
1432
+ }
1433
+
1434
+ ;------------------------------------------------------------------------------
1435
+ ; std::tr1::function from <functional>
1436
+ ;------------------------------------------------------------------------------
1437
+ std::tr1::_Impl_no_alloc0<*>|std::tr1::_Impl_no_alloc1<*>|std::tr1::_Impl_no_alloc2<*>|std::tr1::_Impl_no_alloc3<*>|std::tr1::_Impl_no_alloc4<*>|std::tr1::_Impl_no_alloc5<*>|std::tr1::_Impl_no_alloc6<*>|std::tr1::_Impl_no_alloc7<*>|std::tr1::_Impl_no_alloc8<*>|std::tr1::_Impl_no_alloc9<*>|std::tr1::_Impl_no_alloc10<*>{
1438
+ preview ( $e._Callee._Object )
1439
+ children ( #([functor] : $e._Callee._Object) )
1440
+ }
1441
+ std::tr1::_Impl0<*>|std::tr1::_Impl1<*>|std::tr1::_Impl2<*>|std::tr1::_Impl3<*>|std::tr1::_Impl4<*>|std::tr1::_Impl5<*>|std::tr1::_Impl6<*>|std::tr1::_Impl7<*>|std::tr1::_Impl8<*>|std::tr1::_Impl9<*>|std::tr1::_Impl10<*>{
1442
+ preview ( $e._Callee._Object )
1443
+ children (
1444
+ #(
1445
+ #([functor] : $e._Callee._Object),
1446
+ #([allocator] : $e._Myal)
1447
+ )
1448
+ )
1449
+ }
1450
+ std::tr1::function<*>{
1451
+ preview (
1452
+ #if ($e._Impl == 0) (
1453
+ ; Detecting empty functions is trivial.
1454
+ "empty"
1455
+ ) #else (
1456
+ *$e._Impl
1457
+ )
1458
+ )
1459
+
1460
+ children (
1461
+ #if ($e._Impl == 0) (
1462
+ ; We make empty functions appear to have no children.
1463
+ #array(expr: 0, size: 0)
1464
+ ) #else (
1465
+ #([functor and allocator] : *$e._Impl)
1466
+ )
1467
+ )
1468
+ }
1469
+
1470
+ ;------------------------------------------------------------------------------
1471
+ ; std::tr1::tuple from <tuple>
1472
+ ;------------------------------------------------------------------------------
1473
+ ; tuple is visualized like pair, except that we have to give fake names to tuple's children.
1474
+ std::tr1::tuple<std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1475
+ preview (
1476
+ "()"
1477
+ )
1478
+
1479
+ children (
1480
+ #array(expr: 0, size: 0)
1481
+ )
1482
+ }
1483
+ std::tr1::tuple<*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1484
+ preview (
1485
+ #(
1486
+ "(", $e._Impl._Value,
1487
+ ")"
1488
+ )
1489
+ )
1490
+
1491
+ children (
1492
+ #(
1493
+ [0] : $e._Impl._Value
1494
+ )
1495
+ )
1496
+ }
1497
+ std::tr1::tuple<*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1498
+ preview (
1499
+ #(
1500
+ "(", $e._Impl._Value,
1501
+ ", ", $e._Impl._Tail._Value,
1502
+ ")"
1503
+ )
1504
+ )
1505
+
1506
+ children (
1507
+ #(
1508
+ [0] : $e._Impl._Value,
1509
+ [1] : $e._Impl._Tail._Value
1510
+ )
1511
+ )
1512
+ }
1513
+ std::tr1::tuple<*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1514
+ preview (
1515
+ #(
1516
+ "(", $e._Impl._Value,
1517
+ ", ", $e._Impl._Tail._Value,
1518
+ ", ", $e._Impl._Tail._Tail._Value,
1519
+ ")"
1520
+ )
1521
+ )
1522
+
1523
+ children (
1524
+ #(
1525
+ [0] : $e._Impl._Value,
1526
+ [1] : $e._Impl._Tail._Value,
1527
+ [2] : $e._Impl._Tail._Tail._Value
1528
+ )
1529
+ )
1530
+ }
1531
+ std::tr1::tuple<*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1532
+ preview (
1533
+ #(
1534
+ "(", $e._Impl._Value,
1535
+ ", ", $e._Impl._Tail._Value,
1536
+ ", ", $e._Impl._Tail._Tail._Value,
1537
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1538
+ ")"
1539
+ )
1540
+ )
1541
+
1542
+ children (
1543
+ #(
1544
+ [0] : $e._Impl._Value,
1545
+ [1] : $e._Impl._Tail._Value,
1546
+ [2] : $e._Impl._Tail._Tail._Value,
1547
+ [3] : $e._Impl._Tail._Tail._Tail._Value
1548
+ )
1549
+ )
1550
+ }
1551
+ std::tr1::tuple<*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1552
+ preview (
1553
+ #(
1554
+ "(", $e._Impl._Value,
1555
+ ", ", $e._Impl._Tail._Value,
1556
+ ", ", $e._Impl._Tail._Tail._Value,
1557
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1558
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
1559
+ ")"
1560
+ )
1561
+ )
1562
+
1563
+ children (
1564
+ #(
1565
+ [0] : $e._Impl._Value,
1566
+ [1] : $e._Impl._Tail._Value,
1567
+ [2] : $e._Impl._Tail._Tail._Value,
1568
+ [3] : $e._Impl._Tail._Tail._Tail._Value,
1569
+ [4] : $e._Impl._Tail._Tail._Tail._Tail._Value
1570
+ )
1571
+ )
1572
+ }
1573
+ std::tr1::tuple<*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1574
+ preview (
1575
+ #(
1576
+ "(", $e._Impl._Value,
1577
+ ", ", $e._Impl._Tail._Value,
1578
+ ", ", $e._Impl._Tail._Tail._Value,
1579
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1580
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
1581
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1582
+ ")"
1583
+ )
1584
+ )
1585
+
1586
+ children (
1587
+ #(
1588
+ [0] : $e._Impl._Value,
1589
+ [1] : $e._Impl._Tail._Value,
1590
+ [2] : $e._Impl._Tail._Tail._Value,
1591
+ [3] : $e._Impl._Tail._Tail._Tail._Value,
1592
+ [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
1593
+ [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value
1594
+ )
1595
+ )
1596
+ }
1597
+ std::tr1::tuple<*,*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
1598
+ preview (
1599
+ #(
1600
+ "(", $e._Impl._Value,
1601
+ ", ", $e._Impl._Tail._Value,
1602
+ ", ", $e._Impl._Tail._Tail._Value,
1603
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1604
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
1605
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1606
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1607
+ ")"
1608
+ )
1609
+ )
1610
+
1611
+ children (
1612
+ #(
1613
+ [0] : $e._Impl._Value,
1614
+ [1] : $e._Impl._Tail._Value,
1615
+ [2] : $e._Impl._Tail._Tail._Value,
1616
+ [3] : $e._Impl._Tail._Tail._Tail._Value,
1617
+ [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
1618
+ [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1619
+ [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value
1620
+ )
1621
+ )
1622
+ }
1623
+ std::tr1::tuple<*,*,*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil>{
1624
+ preview (
1625
+ #(
1626
+ "(", $e._Impl._Value,
1627
+ ", ", $e._Impl._Tail._Value,
1628
+ ", ", $e._Impl._Tail._Tail._Value,
1629
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1630
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
1631
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1632
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1633
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1634
+ ")"
1635
+ )
1636
+ )
1637
+
1638
+ children (
1639
+ #(
1640
+ [0] : $e._Impl._Value,
1641
+ [1] : $e._Impl._Tail._Value,
1642
+ [2] : $e._Impl._Tail._Tail._Value,
1643
+ [3] : $e._Impl._Tail._Tail._Tail._Value,
1644
+ [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
1645
+ [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1646
+ [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1647
+ [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
1648
+ )
1649
+ )
1650
+ }
1651
+ std::tr1::tuple<*,*,*,*,*,*,*,*,*,std::tr1::_Nil>{
1652
+ preview (
1653
+ #(
1654
+ "(", $e._Impl._Value,
1655
+ ", ", $e._Impl._Tail._Value,
1656
+ ", ", $e._Impl._Tail._Tail._Value,
1657
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1658
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
1659
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1660
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1661
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1662
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1663
+ ")"
1664
+ )
1665
+ )
1666
+
1667
+ children (
1668
+ #(
1669
+ [0] : $e._Impl._Value,
1670
+ [1] : $e._Impl._Tail._Value,
1671
+ [2] : $e._Impl._Tail._Tail._Value,
1672
+ [3] : $e._Impl._Tail._Tail._Tail._Value,
1673
+ [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
1674
+ [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1675
+ [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1676
+ [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1677
+ [8] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
1678
+ )
1679
+ )
1680
+ }
1681
+ std::tr1::tuple<*,*,*,*,*,*,*,*,*,*>{
1682
+ preview (
1683
+ #(
1684
+ "(", $e._Impl._Value,
1685
+ ", ", $e._Impl._Tail._Value,
1686
+ ", ", $e._Impl._Tail._Tail._Value,
1687
+ ", ", $e._Impl._Tail._Tail._Tail._Value,
1688
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
1689
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1690
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1691
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1692
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1693
+ ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1694
+ ")"
1695
+ )
1696
+ )
1697
+
1698
+ children (
1699
+ #(
1700
+ [0] : $e._Impl._Value,
1701
+ [1] : $e._Impl._Tail._Value,
1702
+ [2] : $e._Impl._Tail._Tail._Value,
1703
+ [3] : $e._Impl._Tail._Tail._Tail._Value,
1704
+ [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
1705
+ [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
1706
+ [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1707
+ [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1708
+ [8] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
1709
+ [9] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
1710
+ )
1711
+ )
1712
+ }
1713
+
1714
+ ;------------------------------------------------------------------------------
1715
+ ; std::tr1::array from <array>
1716
+ ;------------------------------------------------------------------------------
1717
+ std::tr1::array<*>{
1718
+ preview (
1719
+ ; An actual array is previewed with its address.
1720
+ ; array<T, N> is previewed like vector<T>.
1721
+ #(
1722
+ "[",
1723
+ $e._EEN_SIZE,
1724
+ "](",
1725
+ #array(expr: $e._Elems[$i], size: $e._EEN_SIZE),
1726
+ ")"
1727
+ )
1728
+ )
1729
+
1730
+ children (
1731
+ ; Just like an actual array.
1732
+ #array(expr: $e._Elems[$i], size: $e._EEN_SIZE)
1733
+ )
1734
+ }
1735
+ std::_Array_iterator<*>|std::_Array_const_iterator<*>{
1736
+ preview (
1737
+ #if ($e._EEN_IDL == 0) (
1738
+ *$e._Ptr
1739
+ ) #else (
1740
+ #if ($e._Idx == $e._EEN_SIZE) (
1741
+ ; array iterators are represented by _Ptr + _Idx,
1742
+ ; and they know how large their parent arrays are. Therefore, detecting
1743
+ ; end iterators is trivial.
1744
+ "end"
1745
+ ) #else (
1746
+ ; Like vector iterators, array iterators are previewed with what they point to.
1747
+ $e._Ptr[$e._Idx]
1748
+ )
1749
+ )
1750
+ )
1751
+
1752
+ children (
1753
+ #if ($e._EEN_IDL == 0) (
1754
+ #([ptr] : $e._Ptr)
1755
+ ) #else (
1756
+ #if ($e._Idx == $e._EEN_SIZE) (
1757
+ ; We make end iterators appear to have no children.
1758
+ #array(expr: 0, size: 0)
1759
+ ) #else (
1760
+ ; An array iterator is conceptually a pointer, so we make it appear to store one.
1761
+ #([ptr] : $e._Ptr + $e._Idx)
1762
+ )
1763
+ )
1764
+ )
1765
+ }
1766
+
1767
+ ;------------------------------------------------------------------------------
1768
+ ; stdext::hash_map from <hash_map>
1769
+ ; stdext::hash_multimap from <hash_map>
1770
+ ; stdext::hash_set from <hash_set>
1771
+ ; stdext::hash_multiset from <hash_set>
1772
+ ;------------------------------------------------------------------------------
1773
+ stdext::hash_map<*>|stdext::hash_multimap<*>|stdext::hash_set<*>|stdext::hash_multiset<*>{
1774
+ preview (
1775
+ #(
1776
+ "[",
1777
+ $e._List._Mysize,
1778
+ "](",
1779
+ #list(
1780
+ head: $e._List._Myhead->_Next,
1781
+ size: $e._List._Mysize,
1782
+ next: _Next
1783
+ ) : $e._Myval,
1784
+ ")"
1785
+ )
1786
+ )
1787
+
1788
+ children (
1789
+ #list(
1790
+ head: $e._List._Myhead->_Next,
1791
+ size: $e._List._Mysize,
1792
+ next: _Next
1793
+ ) : $e._Myval
1794
+ )
1795
+ }
1796
+
1797
+ ;------------------------------------------------------------------------------
1798
+ ; std::tr1::unordered_map from <unordered_map>
1799
+ ; std::tr1::unordered_multimap from <unordered_map>
1800
+ ; std::tr1::unordered_set from <unordered_set>
1801
+ ; std::tr1::unordered_multiset from <unordered_set>
1802
+ ;------------------------------------------------------------------------------
1803
+ std::hash<*>{
1804
+ preview ( "hash" )
1805
+ children ( #array(expr: 0, size: 0) )
1806
+ }
1807
+ std::tr1::unordered_map<*>|std::tr1::unordered_multimap<*>|std::tr1::unordered_set<*>|std::tr1::unordered_multiset<*>{
1808
+ preview (
1809
+ #(
1810
+ "[",
1811
+ $e._List._Mysize,
1812
+ "](",
1813
+ #list(
1814
+ head: $e._List._Myhead->_Next,
1815
+ size: $e._List._Mysize,
1816
+ next: _Next
1817
+ ) : $e._Myval,
1818
+ ")"
1819
+ )
1820
+ )
1821
+
1822
+ children (
1823
+ #(
1824
+ #([hash] : $e.comp._Hashobj),
1825
+ #([equal] : $e.comp._Keyeqobj),
1826
+ #list(
1827
+ head: $e._List._Myhead->_Next,
1828
+ size: $e._List._Mysize,
1829
+ next: _Next
1830
+ ) : $e._Myval
1831
+ )
1832
+ )
1833
+ }
1834
+
1835
+ ;------------------------------------------------------------------------------
1836
+ ; std::tr1::basic_regex from <regex>
1837
+ ;------------------------------------------------------------------------------
1838
+ std::tr1::basic_regex<*>{
1839
+ preview (
1840
+ #if ($e._Rep == 0) (
1841
+ ; Default construction creates an empty basic_regex.
1842
+ "empty"
1843
+ ) #elif ($e._EEN_VIS == 1) (
1844
+ ; By default, _ENHANCED_REGEX_VISUALIZER is defined to be 1 in debug and 0 in ship.
1845
+ ; When it is 1, basic_regex stores the string from which it was constructed.
1846
+ ; When it is 0, basic_regex stores only the resulting finite state machine.
1847
+ $e._Visualization
1848
+ ) #else (
1849
+ ; basic_regex contains many static const flags, which would be shown in the preview by default.
1850
+ ; Its actual members are _Rep and _Traits. _Rep holds the finite state machine, so we
1851
+ ; use it to preview basic_regex. (It does contain some human-readable information.)
1852
+ *$e._Rep
1853
+ )
1854
+ )
1855
+
1856
+ children (
1857
+ #if ($e._Rep == 0) (
1858
+ ; We make empty basic_regexes appear to have no children.
1859
+ #array(expr: 0, size: 0)
1860
+ ) #elif ($e._EEN_VIS == 1) (
1861
+ ; We want to hide those static const flags.
1862
+ ; We also want to give _Visualization a fake name.
1863
+ #(
1864
+ #([str] : $e._Visualization),
1865
+ #(_Rep : $e._Rep),
1866
+ #(_Traits : $e._Traits)
1867
+ )
1868
+ ) #else (
1869
+ ; We want to hide those static const flags.
1870
+ #(
1871
+ _Rep : $e._Rep,
1872
+ _Traits : $e._Traits
1873
+ )
1874
+ )
1875
+ )
1876
+ }
1877
+
1878
+ ;------------------------------------------------------------------------------
1879
+ ; std::tr1::sub_match from <regex>
1880
+ ;------------------------------------------------------------------------------
1881
+ std::tr1::sub_match<char const *>|std::tr1::sub_match<wchar_t const *>|std::tr1::sub_match<unsigned short const *>|std::tr1::sub_match<char *>|std::tr1::sub_match<wchar_t *>|std::tr1::sub_match<unsigned short *>{
1882
+ preview (
1883
+ ; It would be nice if we could preview sub_match with its str().
1884
+ ; However, visualizers cannot handle strings represented by pointer pairs.
1885
+ ; Therefore, our preview contains more limited information.
1886
+ #if ($e.matched) (
1887
+ ; If this sub_match participated in a match,
1888
+ ; we preview it with its length().
1889
+ $e.second - $e.first
1890
+ ) #else (
1891
+ ; Otherwise, we preview it with its matched bool (i.e. "false").
1892
+ ; (Why not length() (i.e. "0")? It's meaningful to have
1893
+ ; matched == true and length() == 0.
1894
+ "false"
1895
+ )
1896
+ )
1897
+
1898
+ children (
1899
+ #(
1900
+ ; sub_match's three data members are public, but we list them here
1901
+ ; (a) to display matched before first and second, and
1902
+ ; (b) to gloss over the fact that sub_match derives from std::pair.
1903
+ #(matched : $e.matched),
1904
+ #(first : $e.first),
1905
+ #(second : $e.second)
1906
+ )
1907
+ )
1908
+ }
1909
+ std::tr1::sub_match<std::_String_const_iterator<*> >|std::tr1::sub_match<std::_String_iterator<*> >{
1910
+ preview (
1911
+ #if ($e.matched) (
1912
+ ; We visualize ssub_match and wssub_match just like csub_match and wcsub_match,
1913
+ ; except that when determining the length(), we can't subtract iterators.
1914
+ ; We have to subtract their stored pointers.
1915
+ $e.second._Ptr - $e.first._Ptr
1916
+ ) #else (
1917
+ "false"
1918
+ )
1919
+ )
1920
+
1921
+ children (
1922
+ #(
1923
+ #(matched : $e.matched),
1924
+ #(first : $e.first),
1925
+ #(second : $e.second)
1926
+ )
1927
+ )
1928
+ }
1929
+
1930
+ ;------------------------------------------------------------------------------
1931
+ ; std::tr1::match_results from <regex>
1932
+ ;------------------------------------------------------------------------------
1933
+ std::tr1::match_results<*>{
1934
+ preview (
1935
+ ; A match_results object is empty iff its vector _Matches is empty.
1936
+ #if ($e._Matches._Myfirst == $e._Matches._Mylast) (
1937
+ "empty"
1938
+ ) #else (
1939
+ ; We preview a non-empty match_results object with its vector.
1940
+ $e._Matches
1941
+ )
1942
+ )
1943
+
1944
+ children (
1945
+ #if ($e._Matches._Myfirst == $e._Matches._Mylast) (
1946
+ ; We make empty match_results appear to have no children.
1947
+ #array(expr: 0, size: 0)
1948
+ ) #else (
1949
+ ; As match_results has operator[](), prefix(), and suffix() member functions,
1950
+ ; we make it appear to directly contain [0], [1], [2], etc. elements,
1951
+ ; as well as [prefix] and [suffix] elements.
1952
+ #(
1953
+ #array(expr: $e._Matches._Myfirst[$i], size: $e._Matches._Mylast - $e._Matches._Myfirst),
1954
+ #([prefix] : $e._Prefix),
1955
+ #([suffix] : $e._Suffix)
1956
+ )
1957
+ )
1958
+ )
1959
+ }
1960
+
1961
+ ;------------------------------------------------------------------------------
1962
+ ; std::tr1::regex_iterator from <regex>
1963
+ ;------------------------------------------------------------------------------
1964
+ std::tr1::regex_iterator<*>{
1965
+ preview (
1966
+ #if ($e._MyRe == 0) (
1967
+ ; We represent end-of-sequence regex_iterators with null regex pointers.
1968
+ "end"
1969
+ ) #else (
1970
+ ; Dereferenceable regex_iterators return match_results when dereferenced,
1971
+ ; so we'll preview them with that.
1972
+ $e._MyVal
1973
+ )
1974
+ )
1975
+
1976
+ children (
1977
+ #if ($e._MyRe == 0) (
1978
+ ; We make end-of-sequence regex_iterators appear to have no children.
1979
+ #array(expr: 0, size: 0)
1980
+ ) #else (
1981
+ ; For ease of understanding, we make dereferenceable regex_iterators
1982
+ ; appear to have data members with the "for exposition only" names from TR1.
1983
+ #(
1984
+ #([begin] : $e._Begin),
1985
+ #([end] : $e._End),
1986
+ #([pregex] : $e._MyRe),
1987
+ #([flags] : $e._Flags),
1988
+ #([match] : $e._MyVal)
1989
+ )
1990
+ )
1991
+ )
1992
+ }
1993
+
1994
+ ;------------------------------------------------------------------------------
1995
+ ; std::tr1::regex_token_iterator from <regex>
1996
+ ;------------------------------------------------------------------------------
1997
+ std::tr1::regex_token_iterator<*>{
1998
+ preview (
1999
+ #if ($e._Res == 0) (
2000
+ ; We represent end-of-sequence regex_token_iterators with null result pointers.
2001
+ "end"
2002
+ ) #else (
2003
+ ; Dereferenceable regex_token_iterators return *result when dereferenced,
2004
+ ; so we'll preview them with that.
2005
+ *$e._Res
2006
+ )
2007
+ )
2008
+
2009
+ children (
2010
+ #if ($e._Res == 0) (
2011
+ ; We make end-of-sequence regex_token_iterators appear to have no children.
2012
+ #array(expr: 0, size: 0)
2013
+ ) #else (
2014
+ ; For ease of understanding, we make dereferenceable regex_token_iterators
2015
+ ; appear to have data members with the "for exposition only" names from TR1.
2016
+ #(
2017
+ #([position] : $e._Pos),
2018
+ #([result] : $e._Res),
2019
+ #([suffix] : $e._Suffix),
2020
+ #([N] : $e._Cur),
2021
+ #([subs] : $e._Subs)
2022
+ )
2023
+ )
2024
+ )
2025
+ }
2026
+
2027
+ ;------------------------------------------------------------------------------
2028
+ ; std::identity, etc. from <functional>
2029
+ ;------------------------------------------------------------------------------
2030
+ std::identity<*>{
2031
+ preview ( "identity" )
2032
+ children ( #array(expr: 0, size: 0) )
2033
+ }
2034
+ std::bit_and<*>{
2035
+ preview ( "bit_and" )
2036
+ children ( #array(expr: 0, size: 0) )
2037
+ }
2038
+ std::bit_or<*>{
2039
+ preview ( "bit_or" )
2040
+ children ( #array(expr: 0, size: 0) )
2041
+ }
2042
+ std::bit_xor<*>{
2043
+ preview ( "bit_xor" )
2044
+ children ( #array(expr: 0, size: 0) )
2045
+ }
2046
+
2047
+ ;------------------------------------------------------------------------------
2048
+ ; std::unique_ptr from <memory>
2049
+ ;------------------------------------------------------------------------------
2050
+ std::unique_ptr<*>{
2051
+ preview (
2052
+ #if ($e._Myptr == 0) (
2053
+ "empty"
2054
+ ) #else (
2055
+ #(
2056
+ "unique_ptr ",
2057
+ *$e._Myptr
2058
+ )
2059
+ )
2060
+ )
2061
+
2062
+ children (
2063
+ #if ($e._Myptr == 0) (
2064
+ #array(expr: 0, size: 0)
2065
+ ) #else (
2066
+ #([ptr] : $e._Myptr)
2067
+ )
2068
+ )
2069
+ }
2070
+
2071
+ ;------------------------------------------------------------------------------
2072
+ ; std::forward_list from <forward_list>
2073
+ ;------------------------------------------------------------------------------
2074
+ std::forward_list<*>{
2075
+ preview (
2076
+ #(
2077
+ "(",
2078
+ #list(
2079
+ head: $e._Myhead,
2080
+ next: _Next
2081
+ ) : $e._Myval,
2082
+ ")"
2083
+ )
2084
+ )
2085
+
2086
+ children (
2087
+ #list(
2088
+ head: $e._Myhead,
2089
+ next: _Next
2090
+ ) : $e._Myval
2091
+ )
2092
+ }
2093
+ std::_Flist_iterator<*>|std::_Flist_const_iterator<*>{
2094
+ preview (
2095
+ #if ($e._Ptr == 0) (
2096
+ "end"
2097
+ ) #else (
2098
+ $e._Ptr->_Myval
2099
+ )
2100
+ )
2101
+
2102
+ children (
2103
+ #if ($e._Ptr == 0) (
2104
+ #array(expr: 0, size: 0)
2105
+ ) #else (
2106
+ #([ptr] : &$e._Ptr->_Myval)
2107
+ )
2108
+ )
2109
+ }
2110
+
2111
+
2112
+ ;------------------------------------------------------------------------------
2113
+ ; PROPVARIANT
2114
+ ;------------------------------------------------------------------------------
2115
+ ; Visualizers for VT_VECTOR C arrays
2116
+ tagCAC|tagCAUB|tagCAI|tagCAUI|tagCAL|tagCAUL|tagCAFLT|tagCADBL|tagCACY|tagCADATE|tagCABSTR|tagCABSTRBLOB|tagCABOOL|tagCASCODE|tagCAPROPVARIANT|tagCAH|tagCAUH|tagCALPSTR|tagCALPWSTR|tagCAFILETIME|tagCACLIPDATA|tagCACLSID{
2117
+ preview(
2118
+ #(
2119
+ "[", $e.cElems , "](",
2120
+ #array
2121
+ (
2122
+ expr : ($e.pElems)[$i],
2123
+ size : $e.cElems
2124
+ ),
2125
+ ")"
2126
+ )
2127
+ )
2128
+ children
2129
+ (
2130
+ #array
2131
+ (
2132
+ expr : ($e.pElems)[$i],
2133
+ size : $e.cElems
2134
+ )
2135
+ )
2136
+ }
2137
+ ; Visualizers for SAFE ARRAY
2138
+ tagSAFEARRAY|SAFEARRAY{
2139
+ preview(
2140
+ #if ($e.fFeatures & 0x0080) ; FADF_HAVEVARTYPE
2141
+ (
2142
+ ; Switch on the variant type field - which is stored 4 bytes
2143
+ ; before the beginning of the SAFEARRAY type
2144
+ #switch( ((unsigned *)&($e))[-1] )
2145
+ #case 0x2 ; VT_I2 | VT_ARRAY
2146
+ (
2147
+ #(
2148
+ "safearray of I2 = [",
2149
+ ; output the rank array
2150
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2151
+ "](",
2152
+ ; output the data elements
2153
+ #array(
2154
+ expr: ((signed short *)$e.pvData)[$i],
2155
+ size: $e.rgsabound[$r].cElements,
2156
+ rank: $e.cDims,
2157
+ base: $e.rgsabound[$r].lLbound
2158
+ ),
2159
+ ")"
2160
+ )
2161
+ )
2162
+ #case 0x3 ; VT_I4 | VT_ARRAY
2163
+ (
2164
+ #(
2165
+ "safearray of I4 = [",
2166
+ ; output the rank array
2167
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2168
+ "](",
2169
+ ; output the data elements
2170
+ #array(
2171
+ expr: ((signed int *)$e.pvData)[$i],
2172
+ size: $e.rgsabound[$r].cElements,
2173
+ rank: $e.cDims,
2174
+ base: $e.rgsabound[$r].lLbound
2175
+ ),
2176
+ ")"
2177
+ )
2178
+ )
2179
+ #case 0x4 ; VT_R4 | VT_ARRAY
2180
+ (
2181
+ #(
2182
+ "safearray of R4 = [",
2183
+ ; output the rank array
2184
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2185
+ "](",
2186
+ ; output the data elements
2187
+ #array(
2188
+ expr: ((float *)$e.pvData)[$i],
2189
+ size: $e.rgsabound[$r].cElements,
2190
+ rank: $e.cDims,
2191
+ base: $e.rgsabound[$r].lLbound
2192
+ ),
2193
+ ")"
2194
+ )
2195
+ )
2196
+ #case 0x5 ; VT_R8 | VT_ARRAY
2197
+ (
2198
+ #(
2199
+ "safearray of R8 = [",
2200
+ ; output the rank array
2201
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2202
+ "](",
2203
+ ; output the data elements
2204
+ #array(
2205
+ expr: ((double *)$e.pvData)[$i],
2206
+ size: $e.rgsabound[$r].cElements,
2207
+ rank: $e.cDims,
2208
+ base: $e.rgsabound[$r].lLbound
2209
+ ),
2210
+ ")"
2211
+ )
2212
+ )
2213
+ #case 0x6 ; VT_CY | VT_ARRAY
2214
+ (
2215
+ #(
2216
+ "safearray of CY = [",
2217
+ ; output the rank array
2218
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2219
+ "](",
2220
+ ; output the data elements
2221
+ #array(
2222
+ expr: ((CY *)$e.pvData)[$i],
2223
+ size: $e.rgsabound[$r].cElements,
2224
+ rank: $e.cDims,
2225
+ base: $e.rgsabound[$r].lLbound
2226
+ ),
2227
+ ")"
2228
+ )
2229
+ )
2230
+ #case 0x7 ; VT_DATE | VT_ARRAY
2231
+ (
2232
+ #(
2233
+ "safearray of DATE = [",
2234
+ ; output the rank array
2235
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2236
+ "](",
2237
+ ; output the data elements
2238
+ #array(
2239
+ expr: ((DATE *)$e.pvData)[$i],
2240
+ size: $e.rgsabound[$r].cElements,
2241
+ rank: $e.cDims,
2242
+ base: $e.rgsabound[$r].lLbound
2243
+ ),
2244
+ ")"
2245
+ )
2246
+ )
2247
+ #case 0x8 ; VT_BSTR | VT_ARRAY
2248
+ (
2249
+ #(
2250
+ "safearray of BSTR = [",
2251
+ ; output the rank array
2252
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2253
+ "](",
2254
+ ; output the data elements
2255
+ #array(
2256
+ expr: ((wchar_t **)$e.pvData)[$i],
2257
+ size: $e.rgsabound[$r].cElements,
2258
+ rank: $e.cDims,
2259
+ base: $e.rgsabound[$r].lLbound
2260
+ ),
2261
+ ")"
2262
+ )
2263
+ )
2264
+ #case 0xa ; VT_ERROR | VT_ARRAY
2265
+ (
2266
+ #(
2267
+ "safearray of ERROR = [",
2268
+ ; output the rank array
2269
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2270
+ "](",
2271
+ ; output the data elements
2272
+ #array(
2273
+ expr: ((long *)$e.pvData)[$i],
2274
+ size: $e.rgsabound[$r].cElements,
2275
+ rank: $e.cDims,
2276
+ base: $e.rgsabound[$r].lLbound
2277
+ ),
2278
+ ")"
2279
+ )
2280
+ )
2281
+ #case 0xb ; VT_BOOL | VT_ARRAY
2282
+ (
2283
+ #(
2284
+ "safearray of BOOL = [",
2285
+ ; output the rank array
2286
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2287
+ "](",
2288
+ ; output the data elements
2289
+ #array(
2290
+ expr: ((short *)$e.pvData)[$i],
2291
+ size: $e.rgsabound[$r].cElements,
2292
+ rank: $e.cDims,
2293
+ base: $e.rgsabound[$r].lLbound
2294
+ ),
2295
+ ")"
2296
+ )
2297
+ )
2298
+ #case 0xc ; VT_VARIANT | VT_ARRAY
2299
+ (
2300
+ #(
2301
+ "safearray of VARIANT = [",
2302
+ ; output the rank array
2303
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2304
+ "](",
2305
+ ; output the data elements
2306
+ #array(
2307
+ expr: ((tagVARIANT *)$e.pvData)[$i],
2308
+ size: $e.rgsabound[$r].cElements,
2309
+ rank: $e.cDims,
2310
+ base: $e.rgsabound[$r].lLbound
2311
+ ),
2312
+ ")"
2313
+ )
2314
+ )
2315
+ #case 0x10 ; VT_I1 | VT_ARRAY
2316
+ (
2317
+ #(
2318
+ "safearray of I1 = [",
2319
+ ; output the rank array
2320
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2321
+ "](",
2322
+ ; output the data elements
2323
+ #array(
2324
+ expr: ((signed char *)$e.pvData)[$i],
2325
+ size: $e.rgsabound[$r].cElements,
2326
+ rank: $e.cDims,
2327
+ base: $e.rgsabound[$r].lLbound
2328
+ ),
2329
+ ")"
2330
+ )
2331
+ )
2332
+ #case 0x11 ; VT_UI1 | VT_ARRAY
2333
+ (
2334
+ #(
2335
+ "safearray of UI1 = [",
2336
+ ; output the rank array
2337
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2338
+ "](",
2339
+ ; output the data elements
2340
+ #array(
2341
+ expr: ((unsigned char *)$e.pvData)[$i],
2342
+ size: $e.rgsabound[$r].cElements,
2343
+ rank: $e.cDims,
2344
+ base: $e.rgsabound[$r].lLbound
2345
+ ),
2346
+ ")"
2347
+ )
2348
+ )
2349
+ #case 0x12 ; VT_UI2 | VT_ARRAY
2350
+ (
2351
+ #(
2352
+ "safearray of UI2 = [",
2353
+ ; output the rank array
2354
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2355
+ "](",
2356
+ ; output the data elements
2357
+ #array(
2358
+ expr: ((unsigned short *)$e.pvData)[$i],
2359
+ size: $e.rgsabound[$r].cElements,
2360
+ rank: $e.cDims,
2361
+ base: $e.rgsabound[$r].lLbound
2362
+ ),
2363
+ ")"
2364
+ )
2365
+ )
2366
+ #case 0x13 ; VT_UI4 | VT_ARRAY
2367
+ (
2368
+ #(
2369
+ "safearray of UI4 = [",
2370
+ ; output the rank array
2371
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2372
+ "](",
2373
+ ; output the data elements
2374
+ #array(
2375
+ expr: ((unsigned int *)$e.pvData)[$i],
2376
+ size: $e.rgsabound[$r].cElements,
2377
+ rank: $e.cDims,
2378
+ base: $e.rgsabound[$r].lLbound
2379
+ ),
2380
+ ")"
2381
+ )
2382
+ )
2383
+ #case 0x14 ; VT_I8 | VT_ARRAY
2384
+ (
2385
+ #(
2386
+ "safearray of I8 = [",
2387
+ ; output the rank array
2388
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2389
+ "](",
2390
+ ; output the data elements
2391
+ #array(
2392
+ expr: ((signed __int64 *)$e.pvData)[$i],
2393
+ size: $e.rgsabound[$r].cElements,
2394
+ rank: $e.cDims,
2395
+ base: $e.rgsabound[$r].lLbound
2396
+ ),
2397
+ ")"
2398
+ )
2399
+ )
2400
+ #case 0x15 ; VT_UI8 | VT_ARRAY
2401
+ (
2402
+ #(
2403
+ "safearray of UI8 = [",
2404
+ ; output the rank array
2405
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2406
+ "](",
2407
+ ; output the data elements
2408
+ #array(
2409
+ expr: ((unsigned __int64 *)$e.pvData)[$i],
2410
+ size: $e.rgsabound[$r].cElements,
2411
+ rank: $e.cDims,
2412
+ base: $e.rgsabound[$r].lLbound
2413
+ ),
2414
+ ")"
2415
+ )
2416
+ )
2417
+ #case 0x16 ; VT_INT | VT_ARRAY
2418
+ (
2419
+ #(
2420
+ "safearray of INT = [",
2421
+ ; output the rank array
2422
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2423
+ "](",
2424
+ ; output the data elements
2425
+ #array(
2426
+ expr: ((int *)$e.pvData)[$i],
2427
+ size: $e.rgsabound[$r].cElements,
2428
+ rank: $e.cDims,
2429
+ base: $e.rgsabound[$r].lLbound
2430
+ ),
2431
+ ")"
2432
+ )
2433
+ )
2434
+ #case 0x17 ; VT_UINT | VT_ARRAY
2435
+ (
2436
+ #(
2437
+ "safearray of UINT = [",
2438
+ ; output the rank array
2439
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2440
+ "](",
2441
+ ; output the data elements
2442
+ #array(
2443
+ expr: ((unsigned *)$e.pvData)[$i],
2444
+ size: $e.rgsabound[$r].cElements,
2445
+ rank: $e.cDims,
2446
+ base: $e.rgsabound[$r].lLbound
2447
+ ),
2448
+ ")"
2449
+ )
2450
+ )
2451
+ #case 0x1e ; VT_LPSTR | VT_ARRAY
2452
+ (
2453
+ #(
2454
+ "safearray of LPSTR = [",
2455
+ ; output the rank array
2456
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2457
+ "](",
2458
+ ; output the data elements
2459
+ #array(
2460
+ expr: ((char **)$e.pvData)[$i],
2461
+ size: $e.rgsabound[$r].cElements,
2462
+ rank: $e.cDims,
2463
+ base: $e.rgsabound[$r].lLbound
2464
+ ),
2465
+ ")"
2466
+ )
2467
+ )
2468
+ #case 0x1f ; VT_LPWSTR | VT_ARRAY
2469
+ (
2470
+ #(
2471
+ "safearray of LPWSTR = [",
2472
+ ; output the rank array
2473
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2474
+ "](",
2475
+ ; output the data elements
2476
+ #array(
2477
+ expr: ((wchar_t **)$e.pvData)[$i],
2478
+ size: $e.rgsabound[$r].cElements,
2479
+ rank: $e.cDims,
2480
+ base: $e.rgsabound[$r].lLbound
2481
+ ),
2482
+ ")"
2483
+ )
2484
+ )
2485
+ #case 0x40 ; VT_FILETIME | VT_ARRAY
2486
+ (
2487
+ #(
2488
+ "safearray of FILETIME = [",
2489
+ ; output the rank array
2490
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2491
+ "](",
2492
+ ; output the data elements
2493
+ #array(
2494
+ expr: ((FILETIME *)$e.pvData)[$i],
2495
+ size: $e.rgsabound[$r].cElements,
2496
+ rank: $e.cDims,
2497
+ base: $e.rgsabound[$r].lLbound
2498
+ ),
2499
+ ")"
2500
+ )
2501
+ )
2502
+ #case 0x47 ; VT_CLIPDATA | VT_ARRAY
2503
+ (
2504
+ #(
2505
+ "safearray of CLIPDATA = [",
2506
+ ; output the rank array
2507
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2508
+ "](",
2509
+ ; output the data elements
2510
+ #array(
2511
+ expr: ((CLIPDATA *)$e.pvData)[$i],
2512
+ size: $e.rgsabound[$r].cElements,
2513
+ rank: $e.cDims,
2514
+ base: $e.rgsabound[$r].lLbound
2515
+ ),
2516
+ ")"
2517
+ )
2518
+ )
2519
+ #case 0x48 ; VT_CLSID | VT_ARRAY
2520
+ (
2521
+ #(
2522
+ "safearray of CLSID = [",
2523
+ ; output the rank array
2524
+ #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
2525
+ "](",
2526
+ ; output the data elements
2527
+ #array(
2528
+ expr: ((CLSID *)$e.pvData)[$i],
2529
+ size: $e.rgsabound[$r].cElements,
2530
+ rank: $e.cDims,
2531
+ base: $e.rgsabound[$r].lLbound
2532
+ ),
2533
+ ")"
2534
+ )
2535
+ )
2536
+ )
2537
+ #elif ($e.fFeatures & 0x0100) ; FADF_BSTR
2538
+ (
2539
+ #("safearray of BSTR = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((wchar_t * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
2540
+ )
2541
+ #elif ($e.fFeatures & 0x0200) ; FADF_UNKNOWN
2542
+ (
2543
+ #("safearray of IUnknown* = [",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims), "](", #array(expr: ((IUnknown * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
2544
+ )
2545
+ #elif ($e.fFeatures & 0x0400) ; FADF_DISPATCH
2546
+ (
2547
+ #("safearray of IDispatch* = [",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims), "](", #array(expr: ((IDispatch * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
2548
+ )
2549
+ #elif ($e.fFeatures & 0x0800) ; FADF_VARIANT
2550
+ (
2551
+ #("safearray of VARIANT = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((tagVARIANT *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
2552
+ )
2553
+ )
2554
+ children
2555
+ (
2556
+ #( ;[actual members]: [$e,!],
2557
+ #if ($e.fFeatures & 0x0080) ; FADF_HAVEVARTYPE
2558
+ (
2559
+ #switch( ((unsigned *)&($e))[-1] ) ; for some reason the VT field is before the SAFEARRAY struct
2560
+ #case 2 ; VT_I2|VT_ARRAY
2561
+ (
2562
+ #array(
2563
+ expr: ((signed short *)$e.pvData)[$i],
2564
+ size: $e.rgsabound[$r].cElements,
2565
+ rank: $e.cDims,
2566
+ base: $e.rgsabound[$r].lLbound
2567
+ )
2568
+ )
2569
+ #case 3 ; VT_I4|VT_ARRAY
2570
+ (
2571
+ #array(
2572
+ expr: ((signed int *)$e.pvData)[$i],
2573
+ size: $e.rgsabound[$r].cElements,
2574
+ rank: $e.cDims,
2575
+ base: $e.rgsabound[$r].lLbound
2576
+ )
2577
+ )
2578
+ #case 4 ; VT_R4|VT_ARRAY
2579
+ (
2580
+ #array(
2581
+ expr: ((float *)$e.pvData)[$i],
2582
+ size: $e.rgsabound[$r].cElements,
2583
+ rank: $e.cDims,
2584
+ base: $e.rgsabound[$r].lLbound
2585
+ )
2586
+ )
2587
+ #case 5 ; VT_R8|VT_ARRAY
2588
+ (
2589
+ #array(
2590
+ expr: ((double *)$e.pvData)[$i],
2591
+ size: $e.rgsabound[$r].cElements,
2592
+ rank: $e.cDims,
2593
+ base: $e.rgsabound[$r].lLbound
2594
+ )
2595
+ )
2596
+ #case 0x10 ; VT_I1|VT_ARRAY
2597
+ (
2598
+ #array(
2599
+ expr: ((signed char *)$e.pvData)[$i],
2600
+ size: $e.rgsabound[$r].cElements,
2601
+ rank: $e.cDims,
2602
+ base: $e.rgsabound[$r].lLbound
2603
+ )
2604
+ )
2605
+ #case 0x11 ; VT_UI1|VT_ARRAY
2606
+ (
2607
+ #array(
2608
+ expr: ((unsigned char *)$e.pvData)[$i],
2609
+ size: $e.rgsabound[$r].cElements,
2610
+ rank: $e.cDims,
2611
+ base: $e.rgsabound[$r].lLbound
2612
+ )
2613
+ )
2614
+ #case 0x12 ; VT_UI2|VT_ARRAY
2615
+ (
2616
+ #array(
2617
+ expr: ((unsigned short *)$e.pvData)[$i],
2618
+ size: $e.rgsabound[$r].cElements,
2619
+ rank: $e.cDims,
2620
+ base: $e.rgsabound[$r].lLbound
2621
+ )
2622
+ )
2623
+ #case 0x13 ; VT_UI4|VT_ARRAY
2624
+ (
2625
+ #array(
2626
+ expr: ((unsigned int *)$e.pvData)[$i],
2627
+ size: $e.rgsabound[$r].cElements,
2628
+ rank: $e.cDims,
2629
+ base: $e.rgsabound[$r].lLbound
2630
+ )
2631
+ )
2632
+ #case 0x14 ; VT_I8|VT_ARRAY
2633
+ (
2634
+ #array(
2635
+ expr: ((signed __int64 *)$e.pvData)[$i],
2636
+ size: $e.rgsabound[$r].cElements,
2637
+ rank: $e.cDims,
2638
+ base: $e.rgsabound[$r].lLbound
2639
+ )
2640
+ )
2641
+ #case 0x15 ; VT_UI8|VT_ARRAY
2642
+ (
2643
+ #array(
2644
+ expr: ((unsigned __int64 *)$e.pvData)[$i],
2645
+ size: $e.rgsabound[$r].cElements,
2646
+ rank: $e.cDims,
2647
+ base: $e.rgsabound[$r].lLbound
2648
+ )
2649
+ )
2650
+ #case 0x1e ; VT_LPSTR|VT_ARRAY
2651
+ (
2652
+ #array(
2653
+ expr: ((char * *)$e.pvData)[$i],
2654
+ size: $e.rgsabound[$r].cElements,
2655
+ rank: $e.cDims,
2656
+ base: $e.rgsabound[$r].lLbound
2657
+ )
2658
+ )
2659
+ #case 0x1f ; VT_LPWSTR|VT_ARRAY
2660
+ (
2661
+ #array(
2662
+ expr: ((wchar_t **)$e.pvData)[$i],
2663
+ size: $e.rgsabound[$r].cElements,
2664
+ rank: $e.cDims,
2665
+ base: $e.rgsabound[$r].lLbound
2666
+ )
2667
+ )
2668
+ #case 0xc ; VT_VARIANT|VT_ARRAY
2669
+ (
2670
+ #array(
2671
+ expr: ((tagVARIANT *)$e.pvData)[$i],
2672
+ size: $e.rgsabound[$r].cElements,
2673
+ rank: $e.cDims,
2674
+ base: $e.rgsabound[$r].lLbound
2675
+ )
2676
+ )
2677
+ #case 0xb ; VT_BOOL|VT_ARRAY
2678
+ (
2679
+ #array(
2680
+ expr: ((short *)$e.pvData)[$i],
2681
+ size: $e.rgsabound[$r].cElements,
2682
+ rank: $e.cDims,
2683
+ base: $e.rgsabound[$r].lLbound
2684
+ )
2685
+ )
2686
+ #case 0xa ; VT_ERROR|VT_ARRAY
2687
+ (
2688
+ #array(
2689
+ expr: ((long *)$e.pvData)[$i],
2690
+ size: $e.rgsabound[$r].cElements,
2691
+ rank: $e.cDims,
2692
+ base: $e.rgsabound[$r].lLbound
2693
+ )
2694
+ )
2695
+ #case 6 ; VT_CY|VT_ARRAY
2696
+ (
2697
+ #array(
2698
+ expr: ((CY *)$e.pvData)[$i],
2699
+ size: $e.rgsabound[$r].cElements,
2700
+ rank: $e.cDims,
2701
+ base: $e.rgsabound[$r].lLbound
2702
+ )
2703
+ )
2704
+ #case 7 ; VT_DATE|VT_ARRAY
2705
+ (
2706
+ #array(
2707
+ expr: ((DATE *)$e.pvData)[$i],
2708
+ size: $e.rgsabound[$r].cElements,
2709
+ rank: $e.cDims,
2710
+ base: $e.rgsabound[$r].lLbound
2711
+ )
2712
+ )
2713
+ #case 0x40 ; VT_FILETIME|VT_ARRAY
2714
+ (
2715
+ #array(
2716
+ expr: ((FILETIME *)$e.pvData)[$i],
2717
+ size: $e.rgsabound[$r].cElements,
2718
+ rank: $e.cDims,
2719
+ base: $e.rgsabound[$r].lLbound
2720
+ )
2721
+ )
2722
+ #case 0x48 ; VT_CLSID|VT_ARRAY
2723
+ (
2724
+ #array(
2725
+ expr: ((CLSID *)$e.pvData)[$i],
2726
+ size: $e.rgsabound[$r].cElements,
2727
+ rank: $e.cDims,
2728
+ base: $e.rgsabound[$r].lLbound
2729
+ )
2730
+ )
2731
+ #case 0x47 ; VT_CF|VT_ARRAY
2732
+ (
2733
+ #array(
2734
+ expr: ((CLIPDATA *)$e.pvData)[$i],
2735
+ size: $e.rgsabound[$r].cElements,
2736
+ rank: $e.cDims,
2737
+ base: $e.rgsabound[$r].lLbound
2738
+ )
2739
+ )
2740
+ #case 8 ; VT_BSTR|VT_ARRAY
2741
+ (
2742
+ #array(
2743
+ expr: ((wchar_t * *)$e.pvData)[$i],
2744
+ size: $e.rgsabound[$r].cElements,
2745
+ rank: $e.cDims,
2746
+ base: $e.rgsabound[$r].lLbound
2747
+ )
2748
+ )
2749
+ #case 0x16 ; VT_INT|VT_ARRAY
2750
+ (
2751
+ #array(
2752
+ expr: ((int *)$e.pvData)[$i],
2753
+ size: $e.rgsabound[$r].cElements,
2754
+ rank: $e.cDims,
2755
+ base: $e.rgsabound[$r].lLbound
2756
+ )
2757
+ )
2758
+ #case 0x17 ; VT_UINT|VT_ARRAY
2759
+ (
2760
+ #array(
2761
+ expr: ((unsigned int*)$e.pvData)[$i],
2762
+ size: $e.rgsabound[$r].cElements,
2763
+ rank: $e.cDims,
2764
+ base: $e.rgsabound[$r].lLbound
2765
+ )
2766
+ )
2767
+ #default
2768
+ (
2769
+ #([actual members]: [$e,!])
2770
+ )
2771
+ #except
2772
+ (
2773
+ #([actual members]: [$e,!])
2774
+ )
2775
+ )
2776
+ #elif ($e.fFeatures & 0x0100) ; FADF_BSTR
2777
+ (
2778
+ #array(expr: ((wchar_t * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
2779
+ )
2780
+ #elif ($e.fFeatures & 0x0200) ; FADF_UNKNOWN
2781
+ (
2782
+ #array(expr: ((IUnknown * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
2783
+ )
2784
+ #elif ($e.fFeatures & 0x0400) ; FADF_DISPATCH
2785
+ (
2786
+ #array(expr: ((IDispatch * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
2787
+ )
2788
+ #elif ($e.fFeatures & 0x0800) ; FADF_VARIANT
2789
+ (
2790
+ #array(expr: ((tagVARIANT *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
2791
+ )
2792
+ )
2793
+ )
2794
+ }
2795
+ tagPROPVARIANT|tagVARIANT|PROPVARIANT|VARIANT{
2796
+ preview(
2797
+ #switch ($e.vt)
2798
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2799
+ ;; Base Types ;;
2800
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2801
+ #case 0 ( #("Empty") ) ; VT_EMPTY
2802
+ #case 1 ( #("NULL") ) ; VT_NULL
2803
+ #case 2 ( #("I2 = ", $e.iVal) ) ; VT_I2
2804
+ #case 3 ( #("I4 = ", $e.lVal) ) ; VT_I4
2805
+ #case 4 ( #("R4 = ", $e.fltVal) ) ; VT_R4
2806
+ #case 5 ( #("R8 = ", $e.dblVal) ) ; VT_R8
2807
+ #case 6 ( #("CY = ", $e.cyVal) ) ; VT_CY
2808
+ #case 7 ( #("DATE = ", $e.date) ) ; VT_DATE
2809
+ #case 8 ( #("BSTR = ", $e.bstrVal) ) ; VT_BSTR
2810
+ #case 9 ( #("DISPATCH = ", $e.pdispVal) ) ; VT_DISPATCH
2811
+ #case 10 ( #("ERROR = ", $e.scode) ) ; VT_ERROR
2812
+ #case 0xB ( #("BOOL = ", $e.boolVal) ) ; VT_BOOL
2813
+ #case 0xC ( #("VARIANT ") ) ; VT_VARIANT
2814
+ #case 0xD ( #("UNKNOWN = ", $e.punkVal) ) ; VT_UNKOWN
2815
+ #case 0xE ( #("DECIMAL = ", $e.decVal) ) ; VT_DECIMAL
2816
+ #case 0x10 ( #("I1 = ", $e.cVal) ) ; VT_I1
2817
+ #case 0x11 ( #("UI1 = ", $e.bVal) ) ; VT_UI1
2818
+ #case 0x12 ( #("UI2 = ", $e.uiVal) ) ; VT_UI2
2819
+ #case 0x13 ( #("UI4 = ", $e.ulVal) ) ; VT_UI4
2820
+ #case 0x14 ( #("I8 = ", *(__int64*)&$e.dblVal) ) ; VT_I8
2821
+ #case 0x15 ( #("UI8 = ", *(unsigned __int64*)&$e.dblVal) ) ; VT_UI8
2822
+ #case 0x16 ( #("INT = ", $e.intVal) ) ; VT_INT
2823
+ #case 0x17 ( #("UINT = ", $e.uintVal) ) ; VT_UINT
2824
+ #case 0x18 ( #("VOID ") ) ; VT_VOID
2825
+ #case 0x19 ( #("HRESULT ") ) ; VT_HRESULT
2826
+ #case 0x1A ( #("PTR ") ) ; VT_PTR
2827
+ #case 0x1B ( #("SAFEARRAY ") ) ; VT_SAFEARRAY
2828
+ #case 0x1C ( #("CARRAY ") ) ; VT_CARRAY
2829
+ #case 0x1D ( #("USERDEFINED ") ) ; VT_USERDEFINED
2830
+ #case 0x1E ( #("LPSTR = ", $e.pszVal) ) ; VT_LPSTR
2831
+ #case 0x1F ( #("LPWSTR = ", $e.pwszVal) ) ; VT_LPWSTR
2832
+ #case 0x24 ( #("RECORD ") ) ; VT_RECORD
2833
+ #case 0x26 ( #("UINT_PTR ") ) ; VT_UINT_PTR
2834
+ #case 0x40 ( #("FILETIME = ", $e.filetime) ) ; VT_FILETIME
2835
+ #case 0x42 ( #("STREAM = ", $e.pStream) ) ; VT_STREAM
2836
+ #case 0x43 ( #("STORAGE = ", $e.pStorage) ) ; VT_STORAGE
2837
+ #case 0x44 ( #("STREAMED_OBJECT = ", $e.pStream) ) ; VT_STREAMED_OBJECT
2838
+ #case 0x45 ( #("STORED_OBJECT = ", $e.pStorage) ) ; VT_STORED_OBJECT
2839
+ #case 0x46 ( #("BLOB_OBJECT = ", $e.blob ) ) ; VT_BLOB_OBJECT
2840
+ #case 0x47 ( #("CF = ", $e.pclipdata) ) ; VT_CF
2841
+ #case 0x48 ( #("CLSID = ", $e.puuid) ) ; VT_CLSID
2842
+ #case 0x49 ( #("VERSIONED_STREAM = ", $e.pVersionedStream) ) ; VT_VERSIONED_STREAM
2843
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2844
+ ;; Vector types ;;
2845
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2846
+ #case 0x1002 ( #("vector of I2 = ", $e.cai) ) ; VT_I2|VT_VECTOR
2847
+ #case 0x1003 ( #("vector of I4 = ", $e.cal) ) ; VT_I4|VT_VECTOR
2848
+ #case 0x1004 ( #("vector of R4 = ", $e.caflt) ) ; VT_R4|VT_VECTOR
2849
+ #case 0x1005 ( #("vector of R8 = ", $e.cadbl) ) ; VT_R8|VT_VECTOR
2850
+ #case 0x1010 ( #("vector of I1 = ", $e.cac) ) ; VT_I1|VT_VECTOR
2851
+ #case 0x1011 ( #("vector of UI1 = ", $e.caub) ) ; VT_UI1|VT_VECTOR
2852
+ #case 0x1012 ( #("vector of UI2 = ", $e.caui) ) ; VT_UI2|VT_VECTOR
2853
+ #case 0x1013 ( #("vector of UI4 = ", $e.caul) ) ; VT_UI4|VT_VECTOR
2854
+ #case 0x1014 ( #("vector of I8 = ", $e.cah) ) ; VT_I8|VT_VECTOR
2855
+ #case 0x1015 ( #("vector of UI8 = ", $e.cauh) ) ; VT_UI8|VT_VECTOR
2856
+ #case 0x101E ( #("vector of LPSTR = ", $e.calpstr) ) ; VT_LPSTR|VT_VECTOR
2857
+ #case 0x101F ( #("vector of LPWSTR = ", $e.calpwstr) ) ; VT_LPWSTR|VT_VECTOR
2858
+ #case 0x100C ( #("vector of VARIANT ", $e.capropvar) ) ; VT_VARIANT|VT_VECTOR
2859
+ #case 0x100B ( #("vector of BOOL = ", $e.cabool) ) ; VT_BOOL|VT_VECTOR
2860
+ #case 0x100A ( #("vector of ERROR = ", $e.cascode) ) ; VT_ERROR|VT_VECTOR
2861
+ #case 0x1006 ( #("vector of CY = ", $e.cacy) ) ; VT_CY|VT_VECTOR
2862
+ #case 0x1007 ( #("vector of DATE = ", $e.cadate) ) ; VT_DATE|VT_VECTOR
2863
+ #case 0x1040 ( #("vector of FILETIME = ", $e.cafiletime) ) ; VT_FILETIME|VT_VECTOR
2864
+ #case 0x1048 ( #("vector of CLSID = ", $e.cauuid) ) ; VT_CLSID|VT_VECTOR
2865
+ #case 0x1047 ( #("vector of CF = ", $e.caclipdata) ) ; VT_CF|VT_VECTOR
2866
+ #case 0x1008 ( #("vector of BSTR = ", $e.cabstr) ) ; VT_BSTR|VT_VECTOR
2867
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2868
+ ;; Byref Types ;;
2869
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2870
+ #case 0x4016 ( #("byref of INT = ", $e.pintVal) ) ; VT_INT|VT_BYREF
2871
+ #case 0x4017 ( #("byref of UINT = ", $e.puintVal) ) ; VT_UINT|VT_BYREF
2872
+ #case 0x4002 ( #("byref of I2 = ", $e.piVal) ) ; VT_I2|VT_BYREF
2873
+ #case 0x4003 ( #("byref of I4 = ", $e.plVal) ) ; VT_I4|VT_BYREF
2874
+ #case 0x4004 ( #("byref of R4 = ", $e.pfltVal) ) ; VT_R4|VT_BYREF
2875
+ #case 0x4005 ( #("byref of R8 = ", $e.pdblVal) ) ; VT_R8|VT_BYREF
2876
+ #case 0x4010 ( #("byref of I1 = ", $e.pcVal) ) ; VT_I1|VT_BYREF
2877
+ #case 0x4011 ( #("byref of UI1 = ", $e.pbVal) ) ; VT_UI1|VT_BYREF
2878
+ #case 0x4012 ( #("byref of UI2 = ", $e.puiVal) ) ; VT_UI2|VT_BYREF
2879
+ #case 0x4013 ( #("byref of UI4 = ", $e.pulVal) ) ; VT_UI4|VT_BYREF
2880
+ #case 0x4014 ( #("byref of I8 = ", (__int64*)$e.pdblVal) ) ; VT_I8|VT_BYREF
2881
+ #case 0x4015 ( #("byref of UI8 = ", (unsigned __int64*)$e.pudblVal) ) ; VT_UI8|VT_BYREF
2882
+ #case 0x400C ( #("byref of VARIANT ", $e.pvarVal) ) ; VT_VARIANT|VT_BYREF
2883
+ #case 0x400B ( #("byref of BOOL = ", $e.pboolVal) ) ; VT_BOOL|VT_BYREF
2884
+ #case 0x400A ( #("byref of ERROR = ", $e.pscode) ) ; VT_ERROR|VT_BYREF
2885
+ #case 0x4006 ( #("byref of CY = ", $e.pcyVal) ) ; VT_CY|VT_BYREF
2886
+ #case 0x4007 ( #("byref of DATE = ", $e.pdate) ) ; VT_DATE|VT_BYREF
2887
+ #case 0x4008 ( #("byref of BSTR = ", $e.pbstrVal) ) ; VT_BSTR|VT_BYREF
2888
+ #case 0x400E ( #("byref of DECIMAL = ", $e.pdecVal) ) ; VT_DECIMAL|VT_BYREF
2889
+ #case 0x400D ( #("byref of UNKNOWN = ", $e.ppunkVal) ) ; VT_UNKOWN|VT_BYREF
2890
+ #case 0x4009 ( #("byref of DISPATCH = ", $e.ppdispVal) ) ; VT_DISPATCH|VT_BYREF
2891
+ #case 0x6000 ( #("byref of ARRAY = ", $e.pparray) ) ; VT_ARRAY|VT_BYREF
2892
+ #default
2893
+ (
2894
+ #if ($e.vt & 0x2000) ( $e.parray)
2895
+ #else ( #("Unknown vt type = ", $e.vt))
2896
+ )
2897
+ )
2898
+ children(
2899
+ #(
2900
+ vt: $e.vt,
2901
+ #switch ($e.vt)
2902
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2903
+ ;; Base Types ;;
2904
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2905
+ #case 0x2 ( #(I2 : $e.iVal) ) ; VT_I2
2906
+ #case 0x3 ( #(I4 : $e.lVal) ) ; VT_I4
2907
+ #case 0x4 ( #(R4 : $e.fltVal) ) ; VT_R4
2908
+ #case 0x5 ( #(R8 : $e.dblVal) ) ; VT_R8
2909
+ #case 0x6 ( #(CY : $e.cyVal) ) ; VT_CY
2910
+ #case 0x7 ( #(DATE : $e.date) ) ; VT_DATE
2911
+ #case 0x8 ( #(BSTR : $e.bstrVal) ) ; VT_BSTR
2912
+ #case 0x9 ( #(DISPATCH : $e.pdispVal) ) ; VT_DISPATCH
2913
+ #case 0xA ( #(ERROR : $e.scode) ) ; VT_ERROR
2914
+ #case 0xB ( #(BOOL : $e.boolVal) ) ; VT_BOOL
2915
+ #case 0xD ( #(UNKNOWN : $e.punkVal) ) ; VT_UNKOWN
2916
+ #case 0xE ( #(DECIMAL : $e.decVal) ) ; VT_DECIMAL
2917
+ #case 0x10 ( #(I1 : $e.cVal) ) ; VT_I1
2918
+ #case 0x11 ( #(UI1 : $e.bVal) ) ; VT_UI1
2919
+ #case 0x12 ( #(UI2 : $e.uiVal) ) ; VT_UI2
2920
+ #case 0x13 ( #(UI4 : $e.ulVal) ) ; VT_UI4
2921
+ #case 0x14 ( #(I8 : *(__int64*)&$e.dblVal) ) ; VT_I8
2922
+ #case 0x15 ( #(UI8 : *(unsigned __int64*)&$e.dblVal) ) ; VT_UI8
2923
+ #case 0x16 ( #(INT : $e.intVal) ) ; VT_INT
2924
+ #case 0x17 ( #(UINT : $e.uintVal) ) ; VT_UINT
2925
+ #case 0x1E ( #(LPSTR : $e.pszVal) ) ; VT_LPSTR
2926
+ #case 0x1F ( #(LPWSTR : $e.pwszVal) ) ; VT_LPWSTR
2927
+ #case 0x40 ( #(FILETIME : $e.filetime) ) ; VT_FILETIME
2928
+ #case 0x42 ( #(STREAM : $e.pStream) ) ; VT_STREAM
2929
+ #case 0x43 ( #(STORAGE : $e.pStorage) ) ; VT_STORAGE
2930
+ #case 0x44 ( #(STREAMED_OBJECT : $e.pStream) ) ; VT_STREAMED_OBJECT
2931
+ #case 0x45 ( #(STORED_OBJECT : $e.pStorage) ) ; VT_STORED_OBJECT
2932
+ #case 0x46 ( #(BLOB_OBJECT : $e.blob ) ) ; VT_BLOB_OBJECT
2933
+ #case 0x47 ( #(CF : $e.pclipdata) ) ; VT_CF
2934
+ #case 0x48 ( #(CLSID : $e.puuid) ) ; VT_CLSID
2935
+ #case 0x49 ( #(VERSIONED_STREAM : $e.pVersionedStream) ) ; VT_VERSIONED_STREAM
2936
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2937
+ ;; Vector types ;;
2938
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2939
+ #case 0x1002 ( #(vector of I2 : $e.cai) ) ; VT_I2|VT_VECTOR
2940
+ #case 0x1003 ( #(vector of I4 : $e.cal) ) ; VT_I4|VT_VECTOR
2941
+ #case 0x1004 ( #(vector of R4 : $e.caflt) ) ; VT_R4|VT_VECTOR
2942
+ #case 0x1005 ( #(vector of R8 : $e.cadbl) ) ; VT_R8|VT_VECTOR
2943
+ #case 0x1010 ( #(vector of I1 : $e.cac) ) ; VT_I1|VT_VECTOR
2944
+ #case 0x1011 ( #(vector of UI1 : $e.caub) ) ; VT_UI1|VT_VECTOR
2945
+ #case 0x1012 ( #(vector of UI2 : $e.caui) ) ; VT_UI2|VT_VECTOR
2946
+ #case 0x1013 ( #(vector of UI4 : $e.caul) ) ; VT_UI4|VT_VECTOR
2947
+ #case 0x1014 ( #(vector of I8 : $e.cah) ) ; VT_I8|VT_VECTOR
2948
+ #case 0x1015 ( #(vector of UI8 : $e.cauh) ) ; VT_UI8|VT_VECTOR
2949
+ #case 0x101E ( #(vector of LPSTR : $e.calpstr) ) ; VT_LPSTR|VT_VECTOR
2950
+ #case 0x101F ( #(vector of LPWSTR : $e.calpwstr) ) ; VT_LPWSTR|VT_VECTOR
2951
+ #case 0x100C ( #(vector of VARIANT : $e.capropvar) ) ; VT_VARIANT|VT_VECTOR
2952
+ #case 0x100B ( #(vector of BOOL : $e.cabool) ) ; VT_BOOL|VT_VECTOR
2953
+ #case 0x100A ( #(vector of ERROR : $e.cascode) ) ; VT_ERROR|VT_VECTOR
2954
+ #case 0x1006 ( #(vector of CY : $e.cacy) ) ; VT_CY|VT_VECTOR
2955
+ #case 0x1007 ( #(vector of DATE : $e.cadate) ) ; VT_DATE|VT_VECTOR
2956
+ #case 0x1040 ( #(vector of FILETIME : $e.cafiletime) ) ; VT_FILETIME|VT_VECTOR
2957
+ #case 0x1048 ( #(vector of CLSID : $e.cauuid) ) ; VT_CLSID|VT_VECTOR
2958
+ #case 0x1047 ( #(vector of CF : $e.caclipdata) ) ; VT_CF|VT_VECTOR
2959
+ #case 0x1008 ( #(vector of BSTR : $e.cabstr) ) ; VT_BSTR|VT_VECTOR
2960
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2961
+ ;; Byref Types ;;
2962
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2963
+ #case 0x4016 ( #(byref of INT : $e.pintVal) ) ; VT_INT|VT_BYREF
2964
+ #case 0x4017 ( #(byref of UINT : $e.puintVal) ) ; VT_UINT|VT_BYREF
2965
+ #case 0x4002 ( #(byref of I2 : $e.piVal) ) ; VT_I2|VT_BYREF
2966
+ #case 0x4003 ( #(byref of I4 : $e.plVal) ) ; VT_I4|VT_BYREF
2967
+ #case 0x4004 ( #(byref of R4 : $e.pfltVal) ) ; VT_R4|VT_BYREF
2968
+ #case 0x4005 ( #(byref of R8 : $e.pdblVal) ) ; VT_R8|VT_BYREF
2969
+ #case 0x4010 ( #(byref of I1 : $e.pcVal) ) ; VT_I1|VT_BYREF
2970
+ #case 0x4011 ( #(byref of UI1 : $e.pbVal) ) ; VT_UI1|VT_BYREF
2971
+ #case 0x4012 ( #(byref of UI2 : $e.puiVal) ) ; VT_UI2|VT_BYREF
2972
+ #case 0x4013 ( #(byref of UI4 : $e.pulVal) ) ; VT_UI4|VT_BYREF
2973
+ #case 0x4014 ( #(byref of I8 : (__int64*)$e.pdblVal) ) ; VT_I8|VT_BYREF
2974
+ #case 0x4015 ( #(byref of UI8 : (unsigned __int64*)$e.pdblVal) ) ; VT_UI8|VT_BYREF
2975
+ #case 0x400C ( #(byref of VARIANT : $e.pvarVal) ) ; VT_VARIANT|VT_BYREF
2976
+ #case 0x400B ( #(byref of BOOL : $e.pboolVal) ) ; VT_BOOL|VT_BYREF
2977
+ #case 0x400A ( #(byref of ERROR : $e.pscode) ) ; VT_ERROR|VT_BYREF
2978
+ #case 0x4006 ( #(byref of CY : $e.pcyVal) ) ; VT_CY|VT_BYREF
2979
+ #case 0x4007 ( #(byref of DATE : $e.pdate) ) ; VT_DATE|VT_BYREF
2980
+ #case 0x4008 ( #(byref of BSTR : $e.pbstrVal) ) ; VT_BSTR|VT_BYREF
2981
+ #case 0x400E ( #(byref of DECIMAL : $e.pdecVal) ) ; VT_DECIMAL|VT_BYREF
2982
+ #case 0x400D ( #(byref of UNKNOWN : $e.ppunkVal) ) ; VT_UNKOWN|VT_BYREF
2983
+ #case 0x4009 ( #(byref of DISPATCH : $e.ppdispVal) ) ; VT_DISPATCH|VT_BYREF
2984
+ #case 0x6000 ( #(byref of ARRAY : $e.pparray) ) ; VT_ARRAY|VT_BYREF
2985
+
2986
+ ; the following are either empty or invalid vt values for a variant
2987
+ ; #case 0 ( #(Empty :) ) ; VT_EMPTY
2988
+ ; #case 0x1 ( #(NULL :) ) ; VT_NULL
2989
+ ; #case 0xC ( #(VARIANT :) ) ; VT_VARIANT
2990
+ ; #case 0x18 ( #(VOID :) ) ; VT_VOID
2991
+ ; #case 0x19 ( #(HRESULT :) ) ; VT_HRESULT
2992
+ ; #case 0x1A ( #(PTR :) ) ; VT_PTR
2993
+ ; #case 0x1B ( #(SAFEARRAY :) ) ; VT_SAFEARRAY
2994
+ ; #case 0x1C ( #(CARRAY :) ) ; VT_CARRAY
2995
+ ; #case 0x1D ( #(USERDEFINED :) ) ; VT_USERDEFINED
2996
+ ; #case 0x24 ( #(RECORD :) ) ; VT_RECORD
2997
+ ; #case 0x26 ( #(UINT_PTR :) ) ; VT_UINT_PTR
2998
+ #default
2999
+ (
3000
+ #if ($e.vt & 0x2000 )
3001
+ ( #(safearray: $e.parray))
3002
+ #else
3003
+ (
3004
+ #(
3005
+ [raw members]: [$e,!] ; unformatted data members
3006
+ )
3007
+ )
3008
+ )
3009
+ #except
3010
+ (
3011
+ #(
3012
+ [raw members]: [$e,!] ; unformatted data members
3013
+ )
3014
+ )
3015
+ )
3016
+ )
3017
+ }
3018
+
3019
+ ; Visualizers for data structures in namespace Concurrency
3020
+ ;------------------------------------------------------------------------------
3021
+ ; Concurrency::message from <agents.h>
3022
+ ;------------------------------------------------------------------------------
3023
+ Concurrency::message<*>{
3024
+ preview (
3025
+ #(
3026
+ $e.payload
3027
+ )
3028
+ )
3029
+
3030
+ children (
3031
+ #(
3032
+ #(payload: $e.payload),
3033
+ #([msg_id]: $e._M_id)
3034
+ )
3035
+ )
3036
+ }
3037
+
3038
+ ;------------------------------------------------------------------------------
3039
+ ; Concurrency::multi_link_registry from <agents.h>
3040
+ ;------------------------------------------------------------------------------
3041
+ Concurrency::multi_link_registry<*>{
3042
+ preview (
3043
+ #(
3044
+ "[",
3045
+ $e._M_vector._M_index,
3046
+ "](",
3047
+ #array(
3048
+ expr: *($e._M_vector._M_array[$i]),
3049
+ size: $e._M_vector._M_index
3050
+ ),
3051
+ ")"
3052
+ )
3053
+ )
3054
+
3055
+ children (
3056
+ #(
3057
+ #([size]: $e._M_vector._M_index),
3058
+ #array(
3059
+ expr: *($e._M_vector._M_array[$i]),
3060
+ size: $e._M_vector._M_index
3061
+ )
3062
+ )
3063
+ )
3064
+ }
3065
+
3066
+ ;------------------------------------------------------------------------------
3067
+ ; Concurrency::details::_Queue from <agents.h>
3068
+ ;------------------------------------------------------------------------------
3069
+ Concurrency::details::_Queue<*>{
3070
+ preview (
3071
+ #(
3072
+ "[",
3073
+ $e._M_count,
3074
+ "](",
3075
+ #list(
3076
+ head: $e._M_pHead,
3077
+ next: _M_pNext,
3078
+ size: _M_count
3079
+ ),
3080
+ ")"
3081
+ )
3082
+ )
3083
+
3084
+ children (
3085
+ #(
3086
+ #([size]: $e._M_count),
3087
+ #list(
3088
+ head: $e._M_pHead,
3089
+ next: _M_pNext,
3090
+ size: _M_count
3091
+ )
3092
+ )
3093
+ )
3094
+ }
3095
+
3096
+ ;------------------------------------------------------------------------------
3097
+ ; Concurrency::unbounded_buffer from <agents.h>
3098
+ ;------------------------------------------------------------------------------
3099
+ Concurrency::unbounded_buffer<*>{
3100
+ preview (
3101
+ #(
3102
+ $e._M_messageBuffer
3103
+ )
3104
+ )
3105
+
3106
+ children (
3107
+ #(
3108
+ #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
3109
+ #(messages: $e._M_messageBuffer),
3110
+ #(message_filter: *($e._M_pFilter)),
3111
+ #(linked_sources: $e._M_connectedSources._M_links),
3112
+ #(linked_targets: $e._M_connectedTargets),
3113
+ #(reserving_target: *($e._M_pReservedFor)),
3114
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3115
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3116
+ )
3117
+ )
3118
+ }
3119
+
3120
+ ;------------------------------------------------------------------------------
3121
+ ; Concurrency::overwrite_buffer from <agents.h>
3122
+ ;------------------------------------------------------------------------------
3123
+ Concurrency::overwrite_buffer<*>{
3124
+ preview (
3125
+ #(
3126
+ $e._M_pMessage
3127
+ )
3128
+ )
3129
+
3130
+ children (
3131
+ #(
3132
+ #(value: *($e._M_pMessage)),
3133
+ #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
3134
+ #(message_filter: *($e._M_pFilter)),
3135
+ #(linked_sources: $e._M_connectedSources._M_links),
3136
+ #(linked_targets: $e._M_connectedTargets),
3137
+ #(reserving_target: *($e._M_pReservedFor)),
3138
+ #(reserved_message: *($e._M_pReservedMessage)),
3139
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3140
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3141
+ )
3142
+ )
3143
+ }
3144
+
3145
+ ;------------------------------------------------------------------------------
3146
+ ; Concurrency::single_assignment from <agents.h>
3147
+ ;------------------------------------------------------------------------------
3148
+ Concurrency::single_assignment<*>{
3149
+ preview (
3150
+ #(
3151
+ $e._M_pMessage
3152
+ )
3153
+ )
3154
+
3155
+ children (
3156
+ #(
3157
+ #(value: *($e._M_pMessage)),
3158
+ #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
3159
+ #(message_filter: *($e._M_pFilter)),
3160
+ #(linked_sources: $e._M_connectedSources._M_links),
3161
+ #(linked_targets: $e._M_connectedTargets),
3162
+ #(reserving_target: *($e._M_pReservedFor)),
3163
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3164
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3165
+ )
3166
+ )
3167
+ }
3168
+
3169
+ ;------------------------------------------------------------------------------
3170
+ ; Concurrency::call from <agents.h>
3171
+ ;------------------------------------------------------------------------------
3172
+ Concurrency::call<*>{
3173
+ preview (
3174
+ #(
3175
+ $e._M_pFunc
3176
+ )
3177
+ )
3178
+
3179
+ children (
3180
+ #(
3181
+ #(call_method: $e._M_pFunc),
3182
+ #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
3183
+ #(message_filter: *($e._M_pFilter)),
3184
+ #(linked_sources: $e._M_connectedSources._M_links),
3185
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3186
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3187
+ )
3188
+ )
3189
+ }
3190
+
3191
+ ;------------------------------------------------------------------------------
3192
+ ; Concurrency::transformer from <agents.h>
3193
+ ;------------------------------------------------------------------------------
3194
+ Concurrency::transformer<*>{
3195
+ preview (
3196
+ #(
3197
+ $e._M_pFunc
3198
+ )
3199
+ )
3200
+
3201
+ children (
3202
+ #(
3203
+ #(transform_method: $e._M_pFunc),
3204
+ #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
3205
+ #(messages: $e._M_messageBuffer),
3206
+ #(message_filter: *($e._M_pFilter)),
3207
+ #(linked_sources: $e._M_connectedSources._M_links),
3208
+ #(linked_target: *($e._M_connectedTargets._M_connectedLink)),
3209
+ #(reserving_target: *($e._M_pReservedFor)),
3210
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3211
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3212
+ )
3213
+ )
3214
+ }
3215
+
3216
+ ;------------------------------------------------------------------------------
3217
+ ; Concurrency::choice from <agents.h>
3218
+ ;------------------------------------------------------------------------------
3219
+ Concurrency::choice<*>{
3220
+ preview (
3221
+ #(
3222
+ "[",
3223
+ #if ($e._M_pSingleAssignment->_M_fIsInitialized) ("initialized")
3224
+ #else ("not_initialized"),
3225
+ "] ",
3226
+ $e._M_sourceTuple
3227
+ )
3228
+ )
3229
+
3230
+ children (
3231
+ #(
3232
+ #([input_count]: $e._M_pSingleAssignment->_M_connectedSources._M_links._M_vector._M_index),
3233
+ #(index: $e._M_pSingleAssignment->_M_pMessage->payload),
3234
+ #(source_tuple: $e._M_sourceTuple),
3235
+ #(linked_sources: $e._M_pSingleAssignment->_M_connectedSources._M_links),
3236
+ #(linked_targets: $e._M_pSingleAssignment->_M_connectedTargets),
3237
+ #(reserving_target: *($e._M_pSingleAssignment->_M_pReservedFor)),
3238
+ #(Scheduler: *($e._M_pScheduler)),
3239
+ #(ScheduleGroup: *($e._M_pScheduleGroup)),
3240
+ #([raw _M_pSourceChoices] : $e._M_pSourceChoices)
3241
+ )
3242
+ )
3243
+ }
3244
+
3245
+ ;------------------------------------------------------------------------------
3246
+ ; Concurrency::join<*,*>::_MessageArray from <agents.h>
3247
+ ;------------------------------------------------------------------------------
3248
+ Concurrency::join<*,*>::_MessageArray{
3249
+ preview (
3250
+ #(
3251
+ "[",
3252
+ $e._M_count,
3253
+ "](",
3254
+ #array(
3255
+ expr: *(((Concurrency::message<$T1>**)$e._M_messages)[$i]),
3256
+ size: $e._M_count
3257
+ ),
3258
+ ")"
3259
+ )
3260
+ )
3261
+
3262
+ children (
3263
+ #(
3264
+ #([size]: $e._M_count),
3265
+ #array(
3266
+ expr: *(((Concurrency::message<$T1>**)$e._M_messages)[$i]),
3267
+ size: $e._M_count
3268
+ )
3269
+ )
3270
+ )
3271
+ }
3272
+
3273
+ ;------------------------------------------------------------------------------
3274
+ ; Concurrency::join<*,*>::_SavedMessageIdArray from <agents.h>
3275
+ ;------------------------------------------------------------------------------
3276
+ Concurrency::join<*,*>::_SavedMessageIdArray{
3277
+ preview (
3278
+ #(
3279
+ "[",
3280
+ $e._M_count,
3281
+ "](",
3282
+ #array(
3283
+ expr: ((int*)$e._M_savedIds)[$i],
3284
+ size: $e._M_count
3285
+ ),
3286
+ ")"
3287
+ )
3288
+ )
3289
+
3290
+ children (
3291
+ #(
3292
+ #([size]: $e._M_count),
3293
+ #array(
3294
+ expr: ((int*)$e._M_savedIds)[$i],
3295
+ size: $e._M_count
3296
+ )
3297
+ )
3298
+ )
3299
+ }
3300
+
3301
+ ;------------------------------------------------------------------------------
3302
+ ; Concurrency::join from <agents.h>
3303
+ ;------------------------------------------------------------------------------
3304
+ Concurrency::join<*,*>{
3305
+ preview (
3306
+ #(
3307
+ "[",
3308
+ $e._M_messageArray._M_count - $e._M_messagesRemaining,
3309
+ "/",
3310
+ $e._M_messageArray._M_count,
3311
+ "](",
3312
+ #array(
3313
+ expr: *($e._M_connectedSources._M_links._M_vector._M_array[$i]),
3314
+ size: $e._M_connectedSources._M_links._M_vector._M_index
3315
+ ),
3316
+ ")"
3317
+ )
3318
+ )
3319
+
3320
+ children (
3321
+ #(
3322
+ #([join_type]: (Concurrency::join_type)$T2),
3323
+ #([offer_count]: $e._M_messageArray._M_count - $e._M_messagesRemaining),
3324
+ #(offer_IDs: $e._M_savedMessageIdArray),
3325
+ #([input_count]: $e._M_messageArray._M_count),
3326
+ #(input_values: $e._M_messageArray),
3327
+ #(messages: $e._M_messageBuffer),
3328
+ #(message_filter: *($e._M_pFilter)),
3329
+ #(linked_sources: $e._M_connectedSources._M_links),
3330
+ #(linked_target: $e._M_connectedTargets._M_connectedLink),
3331
+ #(reserving_target: *($e._M_pReservedFor)),
3332
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3333
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3334
+ )
3335
+ )
3336
+ }
3337
+
3338
+ ;------------------------------------------------------------------------------
3339
+ ; Concurrency::multitype_join from <agents.h>
3340
+ ;------------------------------------------------------------------------------
3341
+ Concurrency::multitype_join<*,*>{
3342
+ preview (
3343
+ #(
3344
+ "[",
3345
+ $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index - $e._M_pJoinNode->_M_counter,
3346
+ "/",
3347
+ $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index,
3348
+ "]",
3349
+ $e._M_sourceTuple
3350
+ )
3351
+ )
3352
+
3353
+ children (
3354
+ #(
3355
+ #([join_type]: (Concurrency::join_type)$T2),
3356
+ #([offer_count]: $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index - $e._M_pJoinNode->_M_counter),
3357
+ #([input_count]: $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index),
3358
+ #(source_tuple: $e._M_sourceTuple),
3359
+ #(messages: $e._M_pJoinNode->_M_messageBuffer),
3360
+ #(linked_sources: $e._M_pJoinNode->_M_connectedSources._M_links),
3361
+ #(linked_target: $e._M_pJoinNode->_M_connectedTargets._M_connectedLink),
3362
+ #(reserving_target: *($e._M_pJoinNode->_M_pReservedFor)),
3363
+ #(Scheduler: *($e._M_pJoinNode->_M_messageProcessor._M_pScheduler)),
3364
+ #(ScheduleGroup: *($e._M_pJoinNode->_M_messageProcessor._M_pScheduleGroup)),
3365
+ #([raw _M_pSourceJoins] : $e._M_pSourceJoins)
3366
+ )
3367
+ )
3368
+ }
3369
+
3370
+ ;------------------------------------------------------------------------------
3371
+ ; Concurrency::timer from <agents.h>
3372
+ ;------------------------------------------------------------------------------
3373
+ Concurrency::timer<*>{
3374
+ preview (
3375
+ #(
3376
+ $e._M_state
3377
+ )
3378
+ )
3379
+
3380
+ children (
3381
+ #(
3382
+ #(state: $e._M_state),
3383
+ #(value: $e._M_value),
3384
+ #(repeating: $e._M_fRepeating),
3385
+ #(interval_ms: $e._M_ms),
3386
+ #(linked_target: *($e._M_connectedTargets._M_connectedLink)),
3387
+ #(reserving_target: *($e._M_pReservedFor)),
3388
+ #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
3389
+ #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
3390
+ )
3391
+ )
3392
+ }
3393
+
3394
+ ;------------------------------------------------------------------------------
3395
+ ; Concurrency::details::SchedulerBase from <SchedulerBase.h>
3396
+ ; Concurrency::details::ThreadScheduler from <ThreadScheduler.h>
3397
+ ; Concurrency::details::UMSThreadScheduler from <UMSThreadScheduler.h>
3398
+ ;------------------------------------------------------------------------------
3399
+ Concurrency::details::SchedulerBase|Concurrency::details::ThreadScheduler|Concurrency::details::UMSThreadScheduler{
3400
+ preview (
3401
+ #(
3402
+ "[",
3403
+ $e.m_id,
3404
+ "] ",
3405
+ #if ($e.m_schedulerKind == 0) ("ThreadScheduler")
3406
+ #else ("UmsScheduler"),
3407
+ #if ($e.m_id == $e.s_pDefaultScheduler->m_id) (", default")
3408
+ #else ("")
3409
+ )
3410
+ )
3411
+
3412
+ children (
3413
+ #(
3414
+ #(ID: $e.m_id),
3415
+ #(SchedulerPolicy: $e.m_policy),
3416
+ #(VirtualProcessorCount: $e.m_virtualProcessorCount),
3417
+ #(ReferenceCount: $e.m_refCount),
3418
+ #([isDefaultScheduler]: $e.m_id == $e.s_pDefaultScheduler->m_id)
3419
+ )
3420
+ )
3421
+ }
3422
+
3423
+ ;------------------------------------------------------------------------------
3424
+ ; Concurrency::details::ScheduleGroupBase from <ScheduleGroupBase.h>
3425
+ ; Concurrency::details::CacheLocalScheduleGroup from <CacheLocalScheduleGroup.h>
3426
+ ; Concurrency::details::FairScheduleGroup from <FairScheduleGroup.h>
3427
+ ;------------------------------------------------------------------------------
3428
+ Concurrency::details::ScheduleGroupBase|Concurrency::details::CacheLocalScheduleGroup|Concurrency::details::FairScheduleGroup{
3429
+ preview (
3430
+ #(
3431
+ "[",
3432
+ $e.m_id,
3433
+ "]",
3434
+ #if ($e.m_kind & 4) (" AnonymousScheduleGroup")
3435
+ #else ("")
3436
+ )
3437
+ )
3438
+
3439
+ children (
3440
+ #(
3441
+ #(ID: $e.m_id),
3442
+ #(Scheduler: *($e.m_pScheduler))
3443
+ )
3444
+ )
3445
+ }
3446
+
3447
+ ;------------------------------------------------------------------------------
3448
+ ; Concurrency::details::ContextBase from <ContextBase.h>
3449
+ ; Concurrency::details::InternalContextBase from <InternalContextBase.h>
3450
+ ; Concurrency::details::ThreadInternalContext from <ThreadInternalContext.h>
3451
+ ; Concurrency::details::UMSThreadInternalContext from <UMSThreadInternalContext.h>
3452
+ ;------------------------------------------------------------------------------
3453
+ Concurrency::details::ContextBase|Concurrency::details::InternalContextBase|Concurrency::details::ThreadInternalContext|Concurrency::details::UMSThreadInternalContext{
3454
+ preview (
3455
+ #(
3456
+ "[",
3457
+ $e.m_threadId,
3458
+ "] ",
3459
+ #if ($e.m_blockedState == 0) ("not_concrt_blocked")
3460
+ #elif ($e.m_blockedState == 1) ("concrt_blocked")
3461
+ #elif ($e.m_blockedState == 2) ("ums_sync_blocked")
3462
+ #elif ($e.m_blockedState == 4) ("ums_async_blocked")
3463
+ #else ("")
3464
+ )
3465
+ )
3466
+
3467
+ children (
3468
+ #(
3469
+ #(ID: $e.m_id),
3470
+ #(ThreadID: $e.m_threadId),
3471
+ #(Scheduler: *($e.m_pScheduler)),
3472
+ #(ScheduleGroup: *($e.m_pGroup))
3473
+ )
3474
+ )
3475
+ }
3476
+
3477
+ ;------------------------------------------------------------------------------
3478
+ ; Concurrency::details::ExternalContextBase from <ExternalContextBase.h>
3479
+ ;------------------------------------------------------------------------------
3480
+ Concurrency::details::ExternalContextBase{
3481
+ preview (
3482
+ #(
3483
+ "[",
3484
+ $e.m_threadId,
3485
+ "] ",
3486
+ #if ($e.m_contextSwitchingFence == 1) ("concrt_blocked")
3487
+ #else ("not_concrt_blocked")
3488
+ )
3489
+ )
3490
+
3491
+ children (
3492
+ #(
3493
+ #(ID: $e.m_id),
3494
+ #(ThreadID: $e.m_threadId),
3495
+ #(Scheduler: *($e.m_pScheduler)),
3496
+ #(ScheduleGroup: *($e.m_pGroup))
3497
+ )
3498
+ )
3499
+ }
3500
+
3501
+ ;------------------------------------------------------------------------------
3502
+ ; Concurrency::SchedulerPolicy from <concrt.h>
3503
+ ;------------------------------------------------------------------------------
3504
+ Concurrency::SchedulerPolicy{
3505
+ preview (
3506
+ #(
3507
+ $e._M_pPolicyBag->_M_values._M_specificValues._M_schedulerKind,
3508
+ ", Min=",
3509
+ $e._M_pPolicyBag->_M_values._M_specificValues._M_minConcurrency,
3510
+ ", Max=",
3511
+ $e._M_pPolicyBag->_M_values._M_specificValues._M_maxConcurrency
3512
+ )
3513
+ )
3514
+
3515
+ children (
3516
+ #(
3517
+ #(SchedulerKind: $e._M_pPolicyBag->_M_values._M_specificValues._M_schedulerKind),
3518
+ #(MinConcurrency: $e._M_pPolicyBag->_M_values._M_specificValues._M_minConcurrency),
3519
+ #(MaxConcurrency: $e._M_pPolicyBag->_M_values._M_specificValues._M_maxConcurrency),
3520
+ #(TargetOversubscriptionFactor: $e._M_pPolicyBag->_M_values._M_specificValues._M_targetOversubscriptionFactor),
3521
+ #(LocalContextCacheSize: $e._M_pPolicyBag->_M_values._M_specificValues._M_localContextCacheSize),
3522
+ #(ContextStackSize: $e._M_pPolicyBag->_M_values._M_specificValues._M_contextStackSize),
3523
+ #(ContextPriority: $e._M_pPolicyBag->_M_values._M_specificValues._M_contextPriority),
3524
+ #(SchedulingProtocol: $e._M_pPolicyBag->_M_values._M_specificValues._M_schedulingProtocol),
3525
+ #(DynamicProgressFeedback: $e._M_pPolicyBag->_M_values._M_specificValues._M_dynamicProgressFeedback)
3526
+ )
3527
+ )
3528
+ }
3529
+
3530
+ ;------------------------------------------------------------------------------
3531
+ ; Concurrency::event from <concrt.h>
3532
+ ;------------------------------------------------------------------------------
3533
+ Concurrency::event{
3534
+ preview (
3535
+ #(
3536
+ #if ($e._M_pWaitChain == 1) ("set")
3537
+ #else ("not_set")
3538
+ )
3539
+ )
3540
+
3541
+ children (
3542
+ #(
3543
+ #([is_set]: ($e._M_pWaitChain == 1)),
3544
+ #([has_waiters]: (($e._M_pWaitChain != 0) && ($e._M_pWaitChain != 1)))
3545
+ )
3546
+ )
3547
+ }
3548
+
3549
+ ;------------------------------------------------------------------------------
3550
+ ; Concurrency::critical_section from <concrt.h>
3551
+ ;------------------------------------------------------------------------------
3552
+ Concurrency::critical_section{
3553
+ preview (
3554
+ #(
3555
+ #if ($e._M_pHead != 0) ("locked")
3556
+ #else ("not_locked")
3557
+ )
3558
+ )
3559
+
3560
+ children (
3561
+ #(
3562
+ #([is_locked]: ($e._M_pHead != 0)),
3563
+ #(OwningContext: *((Concurrency::Context*)($e._M_activeNode[0])))
3564
+ )
3565
+ )
3566
+ }
3567
+
3568
+ ;------------------------------------------------------------------------------
3569
+ ; Concurrency::critical_section::scoped_lock from <concrt.h>
3570
+ ;------------------------------------------------------------------------------
3571
+ Concurrency::critical_section::scoped_lock{
3572
+ preview (
3573
+ #(
3574
+ $e._M_critical_section
3575
+ )
3576
+ )
3577
+
3578
+ children (
3579
+ #(
3580
+ CriticalSection: $e._M_critical_section
3581
+ )
3582
+ )
3583
+ }
3584
+
3585
+ ;------------------------------------------------------------------------------
3586
+ ; Concurrency::reader_writer_lock from <concrt.h>
3587
+ ;------------------------------------------------------------------------------
3588
+ Concurrency::reader_writer_lock{
3589
+ preview (
3590
+ #(
3591
+ #if (($e._M_lockState < 8) && ($e._M_lockState & 2)) ("held_by_writer")
3592
+ #elif ($e._M_lockState >= 8) (
3593
+ #(
3594
+ "held_by_reader(s) [",
3595
+ ($e._M_lockState / 8),
3596
+ "]"
3597
+ )
3598
+ )
3599
+ #else ("not_held")
3600
+ )
3601
+ )
3602
+
3603
+ children (
3604
+ #(
3605
+ #([is_reader_lock_held]: ($e._M_lockState >= 8)),
3606
+ #([num_reader_lock_holders]: ($e._M_lockState / 8)),
3607
+ #([is_writer_lock_held]: ($e._M_lockState < 8) && ($e._M_lockState & 2)),
3608
+ #(OwningWriterContext: *((Concurrency::Context*)($e._M_activeWriter[0])))
3609
+ )
3610
+ )
3611
+ }
3612
+
3613
+ ;------------------------------------------------------------------------------
3614
+ ; Concurrency::reader_writer_lock::scoped_lock from <concrt.h>
3615
+ ; Concurrency::reader_writer_lock::scoped_lock_read from <concrt.h>
3616
+ ;------------------------------------------------------------------------------
3617
+ Concurrency::reader_writer_lock::scoped_lock|Concurrency::reader_writer_lock::scoped_lock_read{
3618
+ preview (
3619
+ #(
3620
+ $e._M_reader_writer_lock
3621
+ )
3622
+ )
3623
+
3624
+ children (
3625
+ #(
3626
+ ReaderWriterLock: $e._M_reader_writer_lock
3627
+ )
3628
+ )
3629
+ }
3630
+
3631
+ ;------------------------------------------------------------------------------
3632
+ ; Concurrency::details::_TaskCollectionBase from <concrt.h>
3633
+ ;------------------------------------------------------------------------------
3634
+ Concurrency::details::_TaskCollectionBase{
3635
+ preview (
3636
+ #(
3637
+ #if ((((int)$e._M_pException & ~0x3) != 0) && (((int)$e._M_pException & ~0x3) != 0xC)) ("exception")
3638
+ #else ("no_exception")
3639
+ )
3640
+ )
3641
+
3642
+ children (
3643
+ #(
3644
+ #([has_exception]: (((int)$e._M_pException & ~0x3) != 0) && (((int)$e._M_pException & ~0x3) != 0xC)),
3645
+ #(CreatingContext: *((Concurrency::Context*)$e._M_pOwningContext))
3646
+ )
3647
+ )
3648
+ }
3649
+
3650
+ ;------------------------------------------------------------------------------
3651
+ ; Concurrency::task_group from <ppl.h>
3652
+ ; Concurrency::structured_task_group from <ppl.h>
3653
+ ;------------------------------------------------------------------------------
3654
+ Concurrency::task_group|Concurrency::structured_task_group{
3655
+ preview (
3656
+ #(
3657
+ #if ((((int)$e._M_task_collection._M_pException & ~0x3) != 0) && (((int)$e._M_task_collection._M_pException & ~0x3) != 0xC)) ("exception")
3658
+ #else ("no_exception")
3659
+ )
3660
+ )
3661
+
3662
+ children (
3663
+ #(
3664
+ #([has_exception]: (((int)$e._M_task_collection._M_pException & ~0x3) != 0) && (((int)$e._M_task_collection._M_pException & ~0x3) != 0xC)),
3665
+ #(CreatingContext: *((Concurrency::Context*)$e._M_task_collection._M_pOwningContext))
3666
+ )
3667
+ )
3668
+ }
3669
+
3670
+ ;------------------------------------------------------------------------------
3671
+ ; Concurrency::task_handle from <ppl.h>
3672
+ ;------------------------------------------------------------------------------
3673
+ Concurrency::task_handle<*>{
3674
+ preview (
3675
+ #(
3676
+ $e._M_function
3677
+ )
3678
+ )
3679
+
3680
+ children (
3681
+ #(
3682
+ #(Function: $e._M_function),
3683
+ #(RuntimeOwnsLifetime: $e._M_fRuntimeOwnsLifetime),
3684
+ #(TaskCollection: *($e._M_pTaskCollection))
3685
+ )
3686
+ )
3687
+ }
3688
+
3689
+ ;------------------------------------------------------------------------------
3690
+ ; Concurrency::combinable from <ppl.h>
3691
+ ;------------------------------------------------------------------------------
3692
+ Concurrency::combinable<*>{
3693
+ preview(
3694
+ #(
3695
+ "(",
3696
+ #array(
3697
+ expr: *($e._M_buckets[$i]),
3698
+ size: $e._M_size
3699
+ ) : #list(
3700
+ head: $e,
3701
+ next: _M_chain
3702
+ ) : $e._M_value,
3703
+ ")"
3704
+ )
3705
+ )
3706
+ children(
3707
+ #(
3708
+ #array(
3709
+ expr: *($e._M_buckets[$i]),
3710
+ size: $e._M_size
3711
+ ) : #list(
3712
+ head: $e,
3713
+ next: _M_chain
3714
+ ) : $e._M_value,
3715
+ #(InitFunction : $e._M_fnInitialize)
3716
+ )
3717
+ )
3718
+ }
3719
+
3720
+ ;------------------------------------------------------------------------------
3721
+ ; Concurrency::concurrent_vector from <concurrent_vector.h>
3722
+ ;------------------------------------------------------------------------------
3723
+ Concurrency::concurrent_vector<*,*>{
3724
+ preview(
3725
+ #(
3726
+ "[",
3727
+ $e._My_early_size._M_value,
3728
+ "](",
3729
+ #array (
3730
+ expr: #(
3731
+ #if (($i >> 1) == 0) ((($T1*)$e._My_segment._M_value[0]._My_array)[$i])
3732
+ #else ((($T1*)$e._My_segment._M_value[__log2($i)]._My_array)[$i - (0x1 << __log2($i))])
3733
+ ),
3734
+ size: $e._My_early_size._M_value
3735
+ ),
3736
+ ")"
3737
+ )
3738
+ )
3739
+ children(
3740
+ #(
3741
+ [size] : $e._My_early_size._M_value,
3742
+ #array (
3743
+ expr: #(
3744
+ #if (($i >> 1) == 0) ((($T1*)$e._My_segment._M_value[0]._My_array)[$i])
3745
+ #else ((($T1*)$e._My_segment._M_value[__log2($i)]._My_array)[$i - (0x1 << __log2($i))])
3746
+ ),
3747
+ size: $e._My_early_size._M_value
3748
+ )
3749
+ )
3750
+ )
3751
+ }
3752
+
3753
+ ;------------------------------------------------------------------------------
3754
+ ; Concurrency::details::_Vector_iterator from <concurrent_vector.h>
3755
+ ;------------------------------------------------------------------------------
3756
+ Concurrency::details::_Vector_iterator<Concurrency::concurrent_vector<*,*>,*>{
3757
+ preview(
3758
+ #(
3759
+ #if (($e._My_index >> 1) == 0) ((($T1*)$e._My_vector->_My_segment._M_value[0]._My_array)[$e._My_index])
3760
+ #else ((($T1*)$e._My_vector->_My_segment._M_value[__log2($e._My_index)]._My_array)[$e._My_index - (0x1 << __log2($e._My_index))])
3761
+ )
3762
+ )
3763
+ children(
3764
+ #(
3765
+ [ptr]: #if (($e._My_index >> 1) == 0) (&((($T1*)$e._My_vector->_My_segment._M_value[0]._My_array)[$e._My_index]))
3766
+ #else (&((($T1*)$e._My_vector->_My_segment._M_value[__log2($e._My_index)]._My_array)[$e._My_index - (0x1 << __log2($e._My_index))]))
3767
+
3768
+ )
3769
+ )
3770
+ }
3771
+
3772
+ ;------------------------------------------------------------------------------
3773
+ ; Concurrency::concurrent_queue from <concurrent_queue.h>
3774
+ ;------------------------------------------------------------------------------
3775
+ Concurrency::concurrent_queue<*,*>{
3776
+ preview
3777
+ (
3778
+ #(
3779
+ "[",
3780
+ $e._My_rep->_Tail_counter._M_value - $e._My_rep->_Head_counter._M_value,
3781
+ "](",
3782
+ #array
3783
+ (
3784
+ expr : #if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 0) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3785
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 1) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3786
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 2) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3787
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 3) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3788
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 4) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3789
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 5) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3790
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 6) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3791
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 7) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3792
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 8) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3793
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 9) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3794
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 10) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3795
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 11) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3796
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 12) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3797
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 13) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3798
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 14) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3799
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 15) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3800
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 16) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3801
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 17) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3802
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 18) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3803
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 19) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3804
+ #else ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])))))))))))))))))))),
3805
+ size : #if ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value < 20*8*$e._Items_per_page) ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value)
3806
+ #else (20*8*$e._Items_per_page)
3807
+ ),
3808
+ ")"
3809
+ )
3810
+ )
3811
+ children
3812
+ (
3813
+ #(
3814
+ #([unsafe_size]: $e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value),
3815
+ #array
3816
+ (
3817
+ expr : #if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 0) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3818
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 1) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3819
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 2) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3820
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 3) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3821
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 4) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3822
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 5) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3823
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 6) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3824
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 7) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3825
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 8) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3826
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 9) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3827
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 10) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3828
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 11) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3829
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 12) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3830
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 13) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3831
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 14) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3832
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 15) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3833
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 16) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3834
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 17) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3835
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 18) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3836
+ #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 19) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
3837
+ #else ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])))))))))))))))))))),
3838
+ size : #if ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value < 20*8*$e._Items_per_page) ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value)
3839
+ #else (20*8*$e._Items_per_page)
3840
+ )
3841
+ )
3842
+ )
3843
+ }
3844
+
3845
+ ;------------------------------------------------------------------------------
3846
+ ; Concurrency::details::_Concurrent_queue_iterator from <concurrent_queue.h>
3847
+ ;------------------------------------------------------------------------------
3848
+ Concurrency::details::_Concurrent_queue_iterator<Concurrency::concurrent_queue<*,*>,*>{
3849
+ preview(
3850
+ #(
3851
+ *(($T1*)$e._My_item)
3852
+ )
3853
+ )
3854
+ children(
3855
+ #(
3856
+ [ptr]: (($T1*)$e._My_item)
3857
+
3858
+ )
3859
+ )
3860
+ }
3861
+
3862
+ ; This section lets you define your own errors for the HRESULT display.
3863
+ ; You need to list the error code in unsigned decimal, followed by the message.
3864
+ ; Changes will take effect the next time you redisplay the variable.
3865
+
3866
+ [hresult]
3867
+ ;1234=my custom error code
3868
+
3869
+ [Visualizer]
3870
+
3871
+ glm::detail::tvec2<*>{
3872
+ preview (
3873
+ #(#($c.x,$c.y))
3874
+ )
3875
+ children (
3876
+ #([x]: $c.x,[y]: $c.y)
3877
+ )
3878
+ }
3879
+
3880
+ glm::detail::tvec3<*>{
3881
+ preview (
3882
+ #($e.x,$e.y,$e.z)
3883
+ )
3884
+ children (
3885
+ #([x]: $e.x,[y]: $e.y,[z]: $e.z)
3886
+ )
3887
+ }
3888
+
3889
+ glm::detail::tvec4<*>{
3890
+ preview (
3891
+ #($c.x,$c.y,$c.z,$c.w)
3892
+ )
3893
+ children (
3894
+ #([x]: $e.x,[y]: $e.y,[z]: $e.z, #([w]: $e.w))
3895
+ )
3896
+ }