webruby 0.2.7 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1537) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webruby/environment.rb +24 -8
  3. data/lib/webruby/rake/files.rake +6 -22
  4. data/lib/webruby/rake/general.rake +1 -1
  5. data/lib/webruby/rake/mruby.rake +1 -0
  6. data/lib/webruby/utility.rb +14 -0
  7. data/modules/mruby/AUTHORS +14 -0
  8. data/modules/mruby/CONTRIBUTING.md +7 -4
  9. data/modules/mruby/INSTALL +28 -11
  10. data/modules/mruby/MITL +13 -13
  11. data/modules/mruby/Makefile +4 -5
  12. data/modules/mruby/README.md +54 -49
  13. data/modules/mruby/Rakefile +36 -6
  14. data/modules/mruby/benchmark/ao-render.rb +1 -2
  15. data/modules/mruby/benchmark/bm_app_lc_fizzbuzz.rb +52 -0
  16. data/modules/mruby/benchmark/fib39.rb +0 -0
  17. data/modules/mruby/bintest/mrbc.rb +12 -0
  18. data/modules/mruby/build_config.rb +32 -2
  19. data/modules/mruby/doc/api/README.md +30 -0
  20. data/modules/mruby/doc/api/mruby.h.md +69 -0
  21. data/modules/mruby/doc/compile/README.md +208 -99
  22. data/modules/mruby/doc/debugger/README.md +370 -0
  23. data/modules/mruby/doc/language/Core.md +1590 -0
  24. data/modules/mruby/doc/language/README.md +9 -0
  25. data/modules/mruby/doc/language/generator.rb +15 -0
  26. data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_analyze.rb +231 -0
  27. data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_docu.rb +118 -0
  28. data/modules/mruby/doc/language/mrbdoc/mrbdoc.rb +38 -0
  29. data/modules/mruby/doc/mrbconf/README.md +160 -0
  30. data/modules/mruby/doc/mrbgems/README.md +136 -66
  31. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +1 -1
  32. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +1 -1
  33. data/modules/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +1 -1
  34. data/modules/mruby/examples/mrbgems/c_extension_example/src/example.c +1 -1
  35. data/modules/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +1 -1
  36. data/modules/mruby/examples/targets/{ArduinoDue.rb → build_config_ArduinoDue.rb} +32 -6
  37. data/modules/mruby/examples/targets/build_config_IntelGalileo.rb +106 -0
  38. data/modules/mruby/examples/targets/{chipKitMax32.rb → build_config_chipKITMax32.rb} +26 -7
  39. data/modules/mruby/include/mrbconf.h +25 -1
  40. data/modules/mruby/include/mruby/array.h +32 -22
  41. data/modules/mruby/include/mruby/boxing_nan.h +94 -0
  42. data/modules/mruby/include/mruby/boxing_no.h +49 -0
  43. data/modules/mruby/include/mruby/boxing_word.h +119 -0
  44. data/modules/mruby/include/mruby/class.h +15 -13
  45. data/modules/mruby/include/mruby/compile.h +43 -36
  46. data/modules/mruby/include/mruby/data.h +13 -5
  47. data/modules/mruby/include/mruby/debug.h +9 -9
  48. data/modules/mruby/include/mruby/dump.h +32 -23
  49. data/modules/mruby/include/mruby/error.h +36 -0
  50. data/modules/mruby/include/mruby/gc.h +11 -6
  51. data/modules/mruby/include/mruby/hash.h +12 -12
  52. data/modules/mruby/include/mruby/irep.h +9 -3
  53. data/modules/mruby/include/mruby/khash.h +58 -41
  54. data/modules/mruby/include/mruby/numeric.h +38 -4
  55. data/modules/mruby/include/mruby/object.h +55 -0
  56. data/modules/mruby/include/mruby/opcode.h +160 -0
  57. data/modules/mruby/include/mruby/proc.h +19 -5
  58. data/modules/mruby/include/mruby/range.h +4 -3
  59. data/modules/mruby/include/mruby/re.h +20 -0
  60. data/modules/mruby/include/mruby/string.h +86 -47
  61. data/modules/mruby/include/mruby/value.h +100 -374
  62. data/modules/mruby/include/mruby/variable.h +34 -32
  63. data/modules/mruby/include/mruby/version.h +40 -0
  64. data/modules/mruby/include/mruby.h +211 -139
  65. data/modules/mruby/minirake +16 -9
  66. data/modules/mruby/mrbgems/default.gembox +12 -0
  67. data/modules/mruby/mrbgems/full-core.gembox +3 -3
  68. data/modules/mruby/mrbgems/mruby-array-ext/mrbgem.rake +1 -0
  69. data/modules/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +488 -8
  70. data/modules/mruby/mrbgems/mruby-array-ext/src/array.c +57 -31
  71. data/modules/mruby/mrbgems/mruby-array-ext/test/array.rb +231 -45
  72. data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +286 -0
  73. data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +701 -0
  74. data/modules/mruby/mrbgems/mruby-bin-debugger/mrbgem.rake +9 -0
  75. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +516 -0
  76. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.h +26 -0
  77. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +235 -0
  78. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.h +14 -0
  79. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +78 -0
  80. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +13 -0
  81. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +428 -0
  82. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +501 -0
  83. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +58 -0
  84. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +54 -0
  85. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +746 -0
  86. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +163 -0
  87. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +16 -0
  88. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdberror.h +20 -0
  89. data/modules/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +12 -0
  90. data/modules/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +14 -1
  91. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +154 -72
  92. data/modules/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +46 -0
  93. data/modules/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
  94. data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +37 -28
  95. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +30 -0
  96. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config +16 -0
  97. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config.bat +30 -0
  98. data/modules/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +73 -0
  99. data/modules/mruby/mrbgems/mruby-bin-strip/mrbgem.rake +6 -0
  100. data/modules/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +155 -0
  101. data/modules/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +1 -0
  102. data/modules/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +555 -21
  103. data/modules/mruby/mrbgems/mruby-enum-ext/test/enum.rb +119 -0
  104. data/modules/mruby/mrbgems/mruby-enum-lazy/mrbgem.rake +7 -0
  105. data/modules/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +150 -0
  106. data/modules/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +47 -0
  107. data/modules/mruby/mrbgems/mruby-enumerator/mrbgem.rake +7 -0
  108. data/modules/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +636 -0
  109. data/modules/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +537 -0
  110. data/modules/mruby/mrbgems/mruby-eval/mrbgem.rake +1 -0
  111. data/modules/mruby/mrbgems/mruby-eval/src/eval.c +243 -4
  112. data/modules/mruby/mrbgems/mruby-eval/test/eval.rb +80 -0
  113. data/modules/mruby/mrbgems/mruby-exit/mrbgem.rake +1 -0
  114. data/modules/mruby/mrbgems/mruby-exit/src/mruby-exit.c +1 -1
  115. data/modules/mruby/mrbgems/mruby-fiber/mrbgem.rake +1 -0
  116. data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +157 -51
  117. data/modules/mruby/mrbgems/mruby-fiber/test/fiber.rb +179 -35
  118. data/modules/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +3 -0
  119. data/modules/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +241 -1
  120. data/modules/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +11 -19
  121. data/modules/mruby/mrbgems/mruby-hash-ext/test/hash.rb +138 -1
  122. data/modules/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +5 -0
  123. data/modules/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +183 -0
  124. data/modules/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +53 -0
  125. data/modules/mruby/mrbgems/mruby-math/mrbgem.rake +1 -0
  126. data/modules/mruby/mrbgems/mruby-math/src/math.c +107 -14
  127. data/modules/mruby/mrbgems/mruby-math/test/math.rb +16 -0
  128. data/modules/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +1 -0
  129. data/modules/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +5 -0
  130. data/modules/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +9 -1
  131. data/modules/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -0
  132. data/modules/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +19 -0
  133. data/modules/mruby/mrbgems/mruby-object-ext/src/object.c +5 -8
  134. data/modules/mruby/mrbgems/mruby-object-ext/test/object.rb +16 -0
  135. data/modules/mruby/mrbgems/mruby-objectspace/mrbgem.rake +1 -0
  136. data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +121 -53
  137. data/modules/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +27 -4
  138. data/modules/mruby/mrbgems/mruby-print/mrbgem.rake +1 -0
  139. data/modules/mruby/mrbgems/mruby-print/src/print.c +3 -5
  140. data/modules/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +1 -0
  141. data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +89 -19
  142. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.c +56 -0
  143. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.rb +47 -0
  144. data/modules/mruby/mrbgems/mruby-random/mrbgem.rake +1 -0
  145. data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.c +30 -25
  146. data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.h +6 -3
  147. data/modules/mruby/mrbgems/mruby-random/src/random.c +157 -137
  148. data/modules/mruby/mrbgems/mruby-random/src/random.h +3 -3
  149. data/modules/mruby/mrbgems/mruby-random/test/random.rb +9 -9
  150. data/modules/mruby/mrbgems/mruby-range-ext/mrbgem.rake +1 -0
  151. data/modules/mruby/mrbgems/mruby-range-ext/src/range.c +57 -3
  152. data/modules/mruby/mrbgems/mruby-range-ext/test/range.rb +9 -0
  153. data/modules/mruby/mrbgems/mruby-sprintf/mrbgem.rake +1 -0
  154. data/modules/mruby/mrbgems/mruby-sprintf/mrblib/string.rb +9 -0
  155. data/modules/mruby/mrbgems/mruby-sprintf/src/sprintf.c +29 -23
  156. data/modules/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +7 -2
  157. data/modules/mruby/mrbgems/mruby-string-ext/mrbgem.rake +1 -0
  158. data/modules/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +250 -11
  159. data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +220 -5
  160. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +326 -4
  161. data/modules/mruby/mrbgems/mruby-string-utf8/mrbgem.rake +2 -0
  162. data/modules/mruby/mrbgems/mruby-string-utf8/src/string.c +486 -52
  163. data/modules/mruby/mrbgems/mruby-string-utf8/test/string.rb +97 -14
  164. data/modules/mruby/mrbgems/mruby-struct/mrbgem.rake +1 -0
  165. data/modules/mruby/mrbgems/mruby-struct/mrblib/struct.rb +31 -0
  166. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +178 -196
  167. data/modules/mruby/mrbgems/mruby-struct/test/struct.rb +115 -61
  168. data/modules/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +1 -0
  169. data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +22 -17
  170. data/modules/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +20 -11
  171. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +14 -0
  172. data/modules/mruby/mrbgems/mruby-time/mrbgem.rake +1 -0
  173. data/modules/mruby/mrbgems/mruby-time/mrblib/time.rb +9 -0
  174. data/modules/mruby/mrbgems/mruby-time/src/time.c +98 -37
  175. data/modules/mruby/mrbgems/mruby-time/test/time.rb +152 -148
  176. data/modules/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +1 -0
  177. data/modules/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +1 -1
  178. data/modules/mruby/mrblib/array.rb +110 -4
  179. data/modules/mruby/mrblib/class.rb +1 -22
  180. data/modules/mruby/mrblib/compar.rb +10 -30
  181. data/modules/mruby/mrblib/enum.rb +64 -52
  182. data/modules/mruby/mrblib/error.rb +9 -4
  183. data/modules/mruby/mrblib/hash.rb +164 -23
  184. data/modules/mruby/mrblib/kernel.rb +26 -22
  185. data/modules/mruby/mrblib/mrblib.rake +4 -4
  186. data/modules/mruby/mrblib/numeric.rb +22 -9
  187. data/modules/mruby/mrblib/range.rb +24 -2
  188. data/modules/mruby/mrblib/string.rb +15 -3
  189. data/modules/mruby/src/array.c +279 -339
  190. data/modules/mruby/src/backtrace.c +68 -16
  191. data/modules/mruby/src/class.c +539 -379
  192. data/modules/mruby/src/codegen.c +424 -207
  193. data/modules/mruby/src/compar.c +1 -1
  194. data/modules/mruby/src/crc.c +7 -6
  195. data/modules/mruby/src/debug.c +37 -36
  196. data/modules/mruby/src/dump.c +463 -213
  197. data/modules/mruby/src/enum.c +1 -1
  198. data/modules/mruby/src/error.c +91 -92
  199. data/modules/mruby/src/error.h +3 -19
  200. data/modules/mruby/src/etc.c +85 -82
  201. data/modules/mruby/src/gc.c +134 -108
  202. data/modules/mruby/src/hash.c +161 -565
  203. data/modules/mruby/src/init.c +2 -13
  204. data/modules/mruby/src/kernel.c +217 -251
  205. data/modules/mruby/src/load.c +280 -283
  206. data/modules/mruby/src/mrb_throw.h +41 -0
  207. data/modules/mruby/src/mruby_core.rake +57 -7
  208. data/modules/mruby/src/node.h +104 -104
  209. data/modules/mruby/src/numeric.c +221 -208
  210. data/modules/mruby/src/object.c +41 -42
  211. data/modules/mruby/src/opcode.h +2 -160
  212. data/modules/mruby/src/parse.y +3430 -3223
  213. data/modules/mruby/src/pool.c +13 -9
  214. data/modules/mruby/src/print.c +20 -17
  215. data/modules/mruby/src/proc.c +77 -21
  216. data/modules/mruby/src/range.c +55 -45
  217. data/modules/mruby/src/state.c +95 -31
  218. data/modules/mruby/src/string.c +462 -468
  219. data/modules/mruby/src/symbol.c +95 -85
  220. data/modules/mruby/src/variable.c +104 -74
  221. data/modules/mruby/src/version.c +13 -0
  222. data/modules/mruby/src/vm.c +528 -296
  223. data/modules/mruby/tasks/libmruby.rake +9 -5
  224. data/modules/mruby/tasks/mrbgem_spec.rake +130 -26
  225. data/modules/mruby/tasks/mrbgems.rake +21 -11
  226. data/modules/mruby/tasks/mrbgems_test.rake +46 -40
  227. data/modules/mruby/tasks/mruby_build.rake +54 -12
  228. data/modules/mruby/tasks/mruby_build_commands.rake +34 -5
  229. data/modules/mruby/tasks/mruby_build_gem.rake +25 -3
  230. data/modules/mruby/tasks/ruby_ext.rake +11 -2
  231. data/modules/mruby/tasks/toolchains/clang.rake +2 -1
  232. data/modules/mruby/tasks/toolchains/gcc.rake +26 -3
  233. data/modules/mruby/tasks/toolchains/visualcpp.rake +17 -8
  234. data/modules/mruby/test/assert.rb +30 -8
  235. data/modules/mruby/test/bintest.rb +10 -0
  236. data/modules/mruby/test/driver.c +74 -24
  237. data/modules/mruby/test/init_mrbtest.c +21 -2
  238. data/modules/mruby/test/mrbtest.rake +27 -5
  239. data/modules/mruby/test/t/argumenterror.rb +0 -5
  240. data/modules/mruby/test/t/array.rb +23 -7
  241. data/modules/mruby/test/t/bs_block.rb +32 -0
  242. data/modules/mruby/test/t/class.rb +29 -5
  243. data/modules/mruby/test/t/comparable.rb +20 -12
  244. data/modules/mruby/test/t/enumerable.rb +33 -7
  245. data/modules/mruby/test/t/exception.rb +63 -38
  246. data/modules/mruby/test/t/false.rb +2 -4
  247. data/modules/mruby/test/t/float.rb +39 -4
  248. data/modules/mruby/test/t/hash.rb +40 -6
  249. data/modules/mruby/test/t/indexerror.rb +0 -4
  250. data/modules/mruby/test/t/integer.rb +41 -5
  251. data/modules/mruby/test/t/kernel.rb +90 -3
  252. data/modules/mruby/test/t/localjumperror.rb +4 -4
  253. data/modules/mruby/test/t/methods.rb +1 -1
  254. data/modules/mruby/test/t/module.rb +43 -13
  255. data/modules/mruby/test/t/nameerror.rb +0 -4
  256. data/modules/mruby/test/t/nil.rb +5 -0
  257. data/modules/mruby/test/t/nomethoderror.rb +11 -2
  258. data/modules/mruby/test/t/numeric.rb +18 -4
  259. data/modules/mruby/test/t/proc.rb +59 -6
  260. data/modules/mruby/test/t/range.rb +15 -5
  261. data/modules/mruby/test/t/rangeerror.rb +0 -4
  262. data/modules/mruby/test/t/standarderror.rb +0 -4
  263. data/modules/mruby/test/t/string.rb +56 -12
  264. data/modules/mruby/test/t/superclass.rb +46 -0
  265. data/modules/mruby/test/t/symbol.rb +0 -4
  266. data/modules/mruby/test/t/syntax.rb +134 -1
  267. data/modules/mruby/test/t/true.rb +2 -4
  268. data/modules/mruby/test/t/typeerror.rb +0 -5
  269. data/modules/mruby/test/t/unicode.rb +35 -0
  270. data/modules/mruby/tools/mrbc/mrbc.c +9 -12
  271. data/modules/mruby/travis_config.rb +22 -2
  272. metadata +98 -1299
  273. data/modules/emscripten/AUTHORS +0 -117
  274. data/modules/emscripten/CONTRIBUTING.markdown +0 -5
  275. data/modules/emscripten/ChangeLog +0 -468
  276. data/modules/emscripten/LICENSE +0 -94
  277. data/modules/emscripten/README.markdown +0 -14
  278. data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +0 -26
  279. data/modules/emscripten/cmake/Platform/Emscripten.cmake +0 -228
  280. data/modules/emscripten/em++ +0 -12
  281. data/modules/emscripten/em++.bat +0 -2
  282. data/modules/emscripten/em-config +0 -24
  283. data/modules/emscripten/em-config.bat +0 -2
  284. data/modules/emscripten/emar +0 -24
  285. data/modules/emscripten/emar.bat +0 -2
  286. data/modules/emscripten/emcc +0 -2069
  287. data/modules/emscripten/emcc.bat +0 -2
  288. data/modules/emscripten/emcc.py +0 -5
  289. data/modules/emscripten/emconfigure +0 -27
  290. data/modules/emscripten/emconfigure.bat +0 -2
  291. data/modules/emscripten/emlink.py +0 -33
  292. data/modules/emscripten/emmake +0 -29
  293. data/modules/emscripten/emmake.bat +0 -2
  294. data/modules/emscripten/emranlib +0 -9
  295. data/modules/emscripten/emranlib.bat +0 -2
  296. data/modules/emscripten/emrun +0 -1087
  297. data/modules/emscripten/emrun.bat +0 -2
  298. data/modules/emscripten/emscons +0 -20
  299. data/modules/emscripten/emscripten.py +0 -1347
  300. data/modules/emscripten/package.json +0 -7
  301. data/modules/emscripten/patches/README +0 -4
  302. data/modules/emscripten/patches/series +0 -2
  303. data/modules/emscripten/scons-tools/closure.py +0 -28
  304. data/modules/emscripten/scons-tools/emscripten.py +0 -364
  305. data/modules/emscripten/scons-tools/llvm.py +0 -34
  306. data/modules/emscripten/src/analyzer.js +0 -1781
  307. data/modules/emscripten/src/closure-externs.js +0 -110
  308. data/modules/emscripten/src/compiler.html +0 -48
  309. data/modules/emscripten/src/compiler.js +0 -331
  310. data/modules/emscripten/src/compiler_phase.html +0 -33
  311. data/modules/emscripten/src/corruptionCheck.js +0 -98
  312. data/modules/emscripten/src/determinstic.js +0 -20
  313. data/modules/emscripten/src/embind/embind.js +0 -1677
  314. data/modules/emscripten/src/embind/emval.js +0 -284
  315. data/modules/emscripten/src/emrun_postjs.js +0 -20
  316. data/modules/emscripten/src/emrun_prejs.js +0 -5
  317. data/modules/emscripten/src/emscripten-source-map.min.js +0 -31
  318. data/modules/emscripten/src/experimental/allow_loopvars_from_memsetcpy_inasm.diff +0 -97
  319. data/modules/emscripten/src/experimental/batching.diff +0 -44
  320. data/modules/emscripten/src/experimental/functypeopt.diff +0 -113
  321. data/modules/emscripten/src/experimental/multiple_heaps.diff +0 -175
  322. data/modules/emscripten/src/experimental/noncallgraphprofiling.diff +0 -197
  323. data/modules/emscripten/src/experimental/optimize_memcpy_for_ta1.diff +0 -124
  324. data/modules/emscripten/src/experimental/remove__label__s.diff +0 -140
  325. data/modules/emscripten/src/experimental/renderer_cache_hash.diff +0 -99
  326. data/modules/emscripten/src/experimental/sdl_key_forwarding.diff +0 -57
  327. data/modules/emscripten/src/experimental/simplifyGeneratedFunctionsDetection.diff +0 -336
  328. data/modules/emscripten/src/experimental/stringCache.diff +0 -147
  329. data/modules/emscripten/src/fastLong.js +0 -299
  330. data/modules/emscripten/src/gl-matrix.js +0 -1952
  331. data/modules/emscripten/src/headless.js +0 -295
  332. data/modules/emscripten/src/headlessCanvas.js +0 -618
  333. data/modules/emscripten/src/hello_world.js +0 -92
  334. data/modules/emscripten/src/intertyper.js +0 -1228
  335. data/modules/emscripten/src/jsifier.js +0 -1969
  336. data/modules/emscripten/src/library.js +0 -9196
  337. data/modules/emscripten/src/library_browser.js +0 -988
  338. data/modules/emscripten/src/library_egl.js +0 -564
  339. data/modules/emscripten/src/library_fs.js +0 -1619
  340. data/modules/emscripten/src/library_gc.js +0 -236
  341. data/modules/emscripten/src/library_gl.js +0 -5194
  342. data/modules/emscripten/src/library_glfw.js +0 -585
  343. data/modules/emscripten/src/library_glut.js +0 -504
  344. data/modules/emscripten/src/library_idbfs.js +0 -216
  345. data/modules/emscripten/src/library_jansson.js +0 -320
  346. data/modules/emscripten/src/library_memfs.js +0 -303
  347. data/modules/emscripten/src/library_nodefs.js +0 -286
  348. data/modules/emscripten/src/library_openal.js +0 -915
  349. data/modules/emscripten/src/library_path.js +0 -133
  350. data/modules/emscripten/src/library_sdl.js +0 -2728
  351. data/modules/emscripten/src/library_sockfs.js +0 -578
  352. data/modules/emscripten/src/library_strtok_r.c +0 -97
  353. data/modules/emscripten/src/library_tty.js +0 -146
  354. data/modules/emscripten/src/library_uuid.js +0 -140
  355. data/modules/emscripten/src/library_xlib.js +0 -23
  356. data/modules/emscripten/src/long.js +0 -1609
  357. data/modules/emscripten/src/modules.js +0 -543
  358. data/modules/emscripten/src/parseTools.js +0 -2723
  359. data/modules/emscripten/src/postamble.js +0 -239
  360. data/modules/emscripten/src/postamble_sharedlib.js +0 -16
  361. data/modules/emscripten/src/preamble.js +0 -1233
  362. data/modules/emscripten/src/preamble_sharedlib.js +0 -25
  363. data/modules/emscripten/src/proxyClient.js +0 -82
  364. data/modules/emscripten/src/proxyWorker.js +0 -143
  365. data/modules/emscripten/src/relooper/README.markdown +0 -14
  366. data/modules/emscripten/src/relooper/Relooper.cpp +0 -1301
  367. data/modules/emscripten/src/relooper/Relooper.h +0 -257
  368. data/modules/emscripten/src/relooper/doit.sh +0 -70
  369. data/modules/emscripten/src/relooper/emscripten/glue.js +0 -67
  370. data/modules/emscripten/src/relooper/emscripten/test.js +0 -44
  371. data/modules/emscripten/src/relooper/fuzzer.py +0 -131
  372. data/modules/emscripten/src/relooper/ministring.h +0 -35
  373. data/modules/emscripten/src/relooper/paper.pdf +0 -0
  374. data/modules/emscripten/src/relooper/test.cpp +0 -290
  375. data/modules/emscripten/src/relooper/test.txt +0 -317
  376. data/modules/emscripten/src/relooper/test2.c +0 -44
  377. data/modules/emscripten/src/relooper/test2.txt +0 -26
  378. data/modules/emscripten/src/relooper/test3.c +0 -42
  379. data/modules/emscripten/src/relooper/test3.txt +0 -56
  380. data/modules/emscripten/src/relooper/test4.cpp +0 -40
  381. data/modules/emscripten/src/relooper/test4.txt +0 -44
  382. data/modules/emscripten/src/relooper/test5.cpp +0 -40
  383. data/modules/emscripten/src/relooper/test5.txt +0 -56
  384. data/modules/emscripten/src/relooper/test6.cpp +0 -31
  385. data/modules/emscripten/src/relooper/test6.txt +0 -26
  386. data/modules/emscripten/src/relooper/test_dead.cpp +0 -28
  387. data/modules/emscripten/src/relooper/test_dead.txt +0 -9
  388. data/modules/emscripten/src/relooper/test_debug.cpp +0 -30
  389. data/modules/emscripten/src/relooper/test_debug.txt +0 -142
  390. data/modules/emscripten/src/relooper/test_fuzz1.cpp +0 -52
  391. data/modules/emscripten/src/relooper/test_fuzz1.txt +0 -72
  392. data/modules/emscripten/src/relooper/test_fuzz2.cpp +0 -34
  393. data/modules/emscripten/src/relooper/test_fuzz2.txt +0 -30
  394. data/modules/emscripten/src/relooper/test_fuzz3.cpp +0 -36
  395. data/modules/emscripten/src/relooper/test_fuzz3.txt +0 -25
  396. data/modules/emscripten/src/relooper/test_fuzz4.cpp +0 -38
  397. data/modules/emscripten/src/relooper/test_fuzz4.txt +0 -41
  398. data/modules/emscripten/src/relooper/test_fuzz5.cpp +0 -57
  399. data/modules/emscripten/src/relooper/test_fuzz5.txt +0 -86
  400. data/modules/emscripten/src/relooper/test_fuzz6.cpp +0 -322
  401. data/modules/emscripten/src/relooper/test_fuzz6.txt +0 -291
  402. data/modules/emscripten/src/relooper/test_inf.cpp +0 -813
  403. data/modules/emscripten/src/relooper/test_inf.txt +0 -1131
  404. data/modules/emscripten/src/relooper/testit.sh +0 -62
  405. data/modules/emscripten/src/relooper/updateit.sh +0 -17
  406. data/modules/emscripten/src/runtime.js +0 -604
  407. data/modules/emscripten/src/settings.js +0 -476
  408. data/modules/emscripten/src/shell.html +0 -95
  409. data/modules/emscripten/src/shell.js +0 -173
  410. data/modules/emscripten/src/shell_sharedlib.js +0 -29
  411. data/modules/emscripten/src/simd.js +0 -1128
  412. data/modules/emscripten/src/socket.io.js +0 -3870
  413. data/modules/emscripten/src/struct_info.json +0 -1077
  414. data/modules/emscripten/src/utility.js +0 -411
  415. data/modules/emscripten/src/wrtcp.js +0 -821
  416. data/modules/emscripten/system/bin/sdl-config +0 -13
  417. data/modules/emscripten/system/include/AL/al.h +0 -172
  418. data/modules/emscripten/system/include/AL/alc.h +0 -84
  419. data/modules/emscripten/system/include/EGL/egl.h +0 -329
  420. data/modules/emscripten/system/include/EGL/eglext.h +0 -398
  421. data/modules/emscripten/system/include/EGL/eglplatform.h +0 -141
  422. data/modules/emscripten/system/include/GL/freeglut_std.h +0 -628
  423. data/modules/emscripten/system/include/GL/gl.h +0 -2241
  424. data/modules/emscripten/system/include/GL/glew.h +0 -6
  425. data/modules/emscripten/system/include/GL/glext.h +0 -11127
  426. data/modules/emscripten/system/include/GL/glfw.h +0 -518
  427. data/modules/emscripten/system/include/GL/glu.h +0 -353
  428. data/modules/emscripten/system/include/GL/glut.h +0 -21
  429. data/modules/emscripten/system/include/GLES/gl.h +0 -770
  430. data/modules/emscripten/system/include/GLES/glext.h +0 -1278
  431. data/modules/emscripten/system/include/GLES/glplatform.h +0 -30
  432. data/modules/emscripten/system/include/GLES2/gl2.h +0 -621
  433. data/modules/emscripten/system/include/GLES2/gl2ext.h +0 -803
  434. data/modules/emscripten/system/include/GLES2/gl2platform.h +0 -30
  435. data/modules/emscripten/system/include/KHR/khrplatform.h +0 -277
  436. data/modules/emscripten/system/include/SDL/COPYING +0 -19
  437. data/modules/emscripten/system/include/SDL/SDL.h +0 -162
  438. data/modules/emscripten/system/include/SDL/SDL_assert.h +0 -241
  439. data/modules/emscripten/system/include/SDL/SDL_atomic.h +0 -318
  440. data/modules/emscripten/system/include/SDL/SDL_audio.h +0 -509
  441. data/modules/emscripten/system/include/SDL/SDL_blendmode.h +0 -60
  442. data/modules/emscripten/system/include/SDL/SDL_clipboard.h +0 -75
  443. data/modules/emscripten/system/include/SDL/SDL_compat.h +0 -365
  444. data/modules/emscripten/system/include/SDL/SDL_config.h +0 -48
  445. data/modules/emscripten/system/include/SDL/SDL_config.h.in +0 -297
  446. data/modules/emscripten/system/include/SDL/SDL_config_android.h +0 -133
  447. data/modules/emscripten/system/include/SDL/SDL_config_iphoneos.h +0 -148
  448. data/modules/emscripten/system/include/SDL/SDL_config_macosx.h +0 -172
  449. data/modules/emscripten/system/include/SDL/SDL_config_minimal.h +0 -74
  450. data/modules/emscripten/system/include/SDL/SDL_config_nintendods.h +0 -129
  451. data/modules/emscripten/system/include/SDL/SDL_config_pandora.h +0 -125
  452. data/modules/emscripten/system/include/SDL/SDL_config_windows.h +0 -207
  453. data/modules/emscripten/system/include/SDL/SDL_config_wiz.h +0 -119
  454. data/modules/emscripten/system/include/SDL/SDL_copying.h +0 -20
  455. data/modules/emscripten/system/include/SDL/SDL_cpuinfo.h +0 -150
  456. data/modules/emscripten/system/include/SDL/SDL_endian.h +0 -248
  457. data/modules/emscripten/system/include/SDL/SDL_error.h +0 -77
  458. data/modules/emscripten/system/include/SDL/SDL_events.h +0 -640
  459. data/modules/emscripten/system/include/SDL/SDL_gesture.h +0 -91
  460. data/modules/emscripten/system/include/SDL/SDL_gfxPrimitives.h +0 -246
  461. data/modules/emscripten/system/include/SDL/SDL_haptic.h +0 -1200
  462. data/modules/emscripten/system/include/SDL/SDL_hints.h +0 -206
  463. data/modules/emscripten/system/include/SDL/SDL_image.h +0 -138
  464. data/modules/emscripten/system/include/SDL/SDL_input.h +0 -87
  465. data/modules/emscripten/system/include/SDL/SDL_joystick.h +0 -208
  466. data/modules/emscripten/system/include/SDL/SDL_keyboard.h +0 -169
  467. data/modules/emscripten/system/include/SDL/SDL_keycode.h +0 -344
  468. data/modules/emscripten/system/include/SDL/SDL_loadso.h +0 -85
  469. data/modules/emscripten/system/include/SDL/SDL_log.h +0 -211
  470. data/modules/emscripten/system/include/SDL/SDL_main.h +0 -98
  471. data/modules/emscripten/system/include/SDL/SDL_mixer.h +0 -634
  472. data/modules/emscripten/system/include/SDL/SDL_mouse.h +0 -213
  473. data/modules/emscripten/system/include/SDL/SDL_mutex.h +0 -248
  474. data/modules/emscripten/system/include/SDL/SDL_name.h +0 -11
  475. data/modules/emscripten/system/include/SDL/SDL_opengl.h +0 -11116
  476. data/modules/emscripten/system/include/SDL/SDL_opengles.h +0 -38
  477. data/modules/emscripten/system/include/SDL/SDL_opengles2.h +0 -38
  478. data/modules/emscripten/system/include/SDL/SDL_pixels.h +0 -423
  479. data/modules/emscripten/system/include/SDL/SDL_platform.h +0 -160
  480. data/modules/emscripten/system/include/SDL/SDL_power.h +0 -79
  481. data/modules/emscripten/system/include/SDL/SDL_quit.h +0 -58
  482. data/modules/emscripten/system/include/SDL/SDL_rect.h +0 -136
  483. data/modules/emscripten/system/include/SDL/SDL_render.h +0 -615
  484. data/modules/emscripten/system/include/SDL/SDL_revision.h +0 -2
  485. data/modules/emscripten/system/include/SDL/SDL_revision.h.orig +0 -2
  486. data/modules/emscripten/system/include/SDL/SDL_rotozoom.h +0 -123
  487. data/modules/emscripten/system/include/SDL/SDL_rwops.h +0 -220
  488. data/modules/emscripten/system/include/SDL/SDL_scancode.h +0 -398
  489. data/modules/emscripten/system/include/SDL/SDL_shape.h +0 -147
  490. data/modules/emscripten/system/include/SDL/SDL_stdinc.h +0 -764
  491. data/modules/emscripten/system/include/SDL/SDL_surface.h +0 -499
  492. data/modules/emscripten/system/include/SDL/SDL_syswm.h +0 -241
  493. data/modules/emscripten/system/include/SDL/SDL_thread.h +0 -182
  494. data/modules/emscripten/system/include/SDL/SDL_timer.h +0 -108
  495. data/modules/emscripten/system/include/SDL/SDL_touch.h +0 -124
  496. data/modules/emscripten/system/include/SDL/SDL_ttf.h +0 -249
  497. data/modules/emscripten/system/include/SDL/SDL_types.h +0 -29
  498. data/modules/emscripten/system/include/SDL/SDL_version.h +0 -166
  499. data/modules/emscripten/system/include/SDL/SDL_video.h +0 -820
  500. data/modules/emscripten/system/include/SDL/begin_code.h +0 -135
  501. data/modules/emscripten/system/include/SDL/close_code.h +0 -37
  502. data/modules/emscripten/system/include/X11/X.h +0 -717
  503. data/modules/emscripten/system/include/X11/Xatom.h +0 -79
  504. data/modules/emscripten/system/include/X11/Xfuncproto.h +0 -127
  505. data/modules/emscripten/system/include/X11/Xlib.h +0 -4023
  506. data/modules/emscripten/system/include/X11/Xosdefs.h +0 -116
  507. data/modules/emscripten/system/include/X11/Xutil.h +0 -826
  508. data/modules/emscripten/system/include/X11/keysym.h +0 -73
  509. data/modules/emscripten/system/include/X11/keysymdef.h +0 -2389
  510. data/modules/emscripten/system/include/compat/ctype.h +0 -34
  511. data/modules/emscripten/system/include/compat/malloc.h +0 -48
  512. data/modules/emscripten/system/include/compat/math.h +0 -14
  513. data/modules/emscripten/system/include/compat/netdb.h +0 -22
  514. data/modules/emscripten/system/include/compat/stdarg.h +0 -16
  515. data/modules/emscripten/system/include/compat/stdlib.h +0 -16
  516. data/modules/emscripten/system/include/compat/string.h +0 -17
  517. data/modules/emscripten/system/include/compat/sys/socketvar.h +0 -14
  518. data/modules/emscripten/system/include/compat/sys/stat.h +0 -20
  519. data/modules/emscripten/system/include/compat/sys/timeb.h +0 -35
  520. data/modules/emscripten/system/include/compat/time.h +0 -18
  521. data/modules/emscripten/system/include/compat/unistd.h +0 -16
  522. data/modules/emscripten/system/include/compat/wchar.h +0 -23
  523. data/modules/emscripten/system/include/compat/wctype.h +0 -23
  524. data/modules/emscripten/system/include/compat/xlocale.h +0 -19
  525. data/modules/emscripten/system/include/emscripten/bind.h +0 -1210
  526. data/modules/emscripten/system/include/emscripten/emmintrin.h +0 -87
  527. data/modules/emscripten/system/include/emscripten/emscripten.h +0 -519
  528. data/modules/emscripten/system/include/emscripten/val.h +0 -311
  529. data/modules/emscripten/system/include/emscripten/vector.h +0 -34
  530. data/modules/emscripten/system/include/emscripten/wire.h +0 -393
  531. data/modules/emscripten/system/include/emscripten/xmmintrin.h +0 -131
  532. data/modules/emscripten/system/include/execinfo.h +0 -44
  533. data/modules/emscripten/system/include/gc.h +0 -70
  534. data/modules/emscripten/system/include/gfx/png.h +0 -3798
  535. data/modules/emscripten/system/include/gfx/pngconf.h +0 -1665
  536. data/modules/emscripten/system/include/gfx/tiff.h +0 -654
  537. data/modules/emscripten/system/include/gfx/tiffconf.h +0 -104
  538. data/modules/emscripten/system/include/gfx/tiffio.h +0 -526
  539. data/modules/emscripten/system/include/gfx/tiffvers.h +0 -9
  540. data/modules/emscripten/system/include/jansson.h +0 -323
  541. data/modules/emscripten/system/include/jansson_config.h +0 -54
  542. data/modules/emscripten/system/include/libc/aio.h +0 -69
  543. data/modules/emscripten/system/include/libc/alloca.h +0 -21
  544. data/modules/emscripten/system/include/libc/ar.h +0 -25
  545. data/modules/emscripten/system/include/libc/arpa/ftp.h +0 -35
  546. data/modules/emscripten/system/include/libc/arpa/inet.h +0 -36
  547. data/modules/emscripten/system/include/libc/arpa/nameser.h +0 -467
  548. data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +0 -2
  549. data/modules/emscripten/system/include/libc/arpa/telnet.h +0 -251
  550. data/modules/emscripten/system/include/libc/arpa/tftp.h +0 -31
  551. data/modules/emscripten/system/include/libc/assert.h +0 -19
  552. data/modules/emscripten/system/include/libc/bits/alltypes.h +0 -397
  553. data/modules/emscripten/system/include/libc/bits/endian.h +0 -1
  554. data/modules/emscripten/system/include/libc/bits/errno.h +0 -134
  555. data/modules/emscripten/system/include/libc/bits/fcntl.h +0 -38
  556. data/modules/emscripten/system/include/libc/bits/fenv.h +0 -34
  557. data/modules/emscripten/system/include/libc/bits/float.h +0 -17
  558. data/modules/emscripten/system/include/libc/bits/io.h +0 -0
  559. data/modules/emscripten/system/include/libc/bits/ioctl.h +0 -197
  560. data/modules/emscripten/system/include/libc/bits/ipc.h +0 -14
  561. data/modules/emscripten/system/include/libc/bits/limits.h +0 -8
  562. data/modules/emscripten/system/include/libc/bits/mman.h +0 -62
  563. data/modules/emscripten/system/include/libc/bits/msg.h +0 -16
  564. data/modules/emscripten/system/include/libc/bits/posix.h +0 -2
  565. data/modules/emscripten/system/include/libc/bits/reg.h +0 -19
  566. data/modules/emscripten/system/include/libc/bits/setjmp.h +0 -1
  567. data/modules/emscripten/system/include/libc/bits/shm.h +0 -18
  568. data/modules/emscripten/system/include/libc/bits/signal.h +0 -112
  569. data/modules/emscripten/system/include/libc/bits/socket.h +0 -17
  570. data/modules/emscripten/system/include/libc/bits/stat.h +0 -22
  571. data/modules/emscripten/system/include/libc/bits/statfs.h +0 -7
  572. data/modules/emscripten/system/include/libc/bits/stdarg.h +0 -4
  573. data/modules/emscripten/system/include/libc/bits/stdint.h +0 -20
  574. data/modules/emscripten/system/include/libc/bits/syscall.h +0 -696
  575. data/modules/emscripten/system/include/libc/bits/termios.h +0 -160
  576. data/modules/emscripten/system/include/libc/bits/user.h +0 -48
  577. data/modules/emscripten/system/include/libc/byteswap.h +0 -26
  578. data/modules/emscripten/system/include/libc/complex.h +0 -125
  579. data/modules/emscripten/system/include/libc/cpio.h +0 -29
  580. data/modules/emscripten/system/include/libc/crypt.h +0 -20
  581. data/modules/emscripten/system/include/libc/ctype.h +0 -67
  582. data/modules/emscripten/system/include/libc/dirent.h +0 -79
  583. data/modules/emscripten/system/include/libc/dlfcn.h +0 -42
  584. data/modules/emscripten/system/include/libc/elf.h +0 -2555
  585. data/modules/emscripten/system/include/libc/endian.h +0 -82
  586. data/modules/emscripten/system/include/libc/err.h +0 -25
  587. data/modules/emscripten/system/include/libc/errno.h +0 -27
  588. data/modules/emscripten/system/include/libc/fcntl.h +0 -175
  589. data/modules/emscripten/system/include/libc/features.h +0 -32
  590. data/modules/emscripten/system/include/libc/fenv.h +0 -28
  591. data/modules/emscripten/system/include/libc/float.h +0 -34
  592. data/modules/emscripten/system/include/libc/fnmatch.h +0 -29
  593. data/modules/emscripten/system/include/libc/ftw.h +0 -42
  594. data/modules/emscripten/system/include/libc/getopt.h +0 -31
  595. data/modules/emscripten/system/include/libc/glob.h +0 -48
  596. data/modules/emscripten/system/include/libc/grp.h +0 -52
  597. data/modules/emscripten/system/include/libc/iconv.h +0 -24
  598. data/modules/emscripten/system/include/libc/ifaddrs.h +0 -35
  599. data/modules/emscripten/system/include/libc/inttypes.h +0 -227
  600. data/modules/emscripten/system/include/libc/iso646.h +0 -20
  601. data/modules/emscripten/system/include/libc/langinfo.h +0 -88
  602. data/modules/emscripten/system/include/libc/lastlog.h +0 -1
  603. data/modules/emscripten/system/include/libc/libgen.h +0 -15
  604. data/modules/emscripten/system/include/libc/libintl.h +0 -25
  605. data/modules/emscripten/system/include/libc/limits.h +0 -146
  606. data/modules/emscripten/system/include/libc/link.h +0 -54
  607. data/modules/emscripten/system/include/libc/locale.h +0 -82
  608. data/modules/emscripten/system/include/libc/malloc.h +0 -0
  609. data/modules/emscripten/system/include/libc/math.h +0 -422
  610. data/modules/emscripten/system/include/libc/memory.h +0 -1
  611. data/modules/emscripten/system/include/libc/mntent.h +0 -44
  612. data/modules/emscripten/system/include/libc/monetary.h +0 -23
  613. data/modules/emscripten/system/include/libc/mqueue.h +0 -36
  614. data/modules/emscripten/system/include/libc/net/ethernet.h +0 -55
  615. data/modules/emscripten/system/include/libc/net/if.h +0 -135
  616. data/modules/emscripten/system/include/libc/net/if_arp.h +0 -133
  617. data/modules/emscripten/system/include/libc/net/route.h +0 -124
  618. data/modules/emscripten/system/include/libc/netdb.h +0 -161
  619. data/modules/emscripten/system/include/libc/netinet/ether.h +0 -14
  620. data/modules/emscripten/system/include/libc/netinet/icmp6.h +0 -305
  621. data/modules/emscripten/system/include/libc/netinet/if_ether.h +0 -126
  622. data/modules/emscripten/system/include/libc/netinet/in.h +0 -336
  623. data/modules/emscripten/system/include/libc/netinet/in_systm.h +0 -9
  624. data/modules/emscripten/system/include/libc/netinet/ip.h +0 -186
  625. data/modules/emscripten/system/include/libc/netinet/ip6.h +0 -142
  626. data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +0 -192
  627. data/modules/emscripten/system/include/libc/netinet/tcp.h +0 -71
  628. data/modules/emscripten/system/include/libc/netinet/udp.h +0 -35
  629. data/modules/emscripten/system/include/libc/netpacket/packet.h +0 -44
  630. data/modules/emscripten/system/include/libc/nl_types.h +0 -22
  631. data/modules/emscripten/system/include/libc/paths.h +0 -32
  632. data/modules/emscripten/system/include/libc/poll.h +0 -46
  633. data/modules/emscripten/system/include/libc/pthread.h +0 -222
  634. data/modules/emscripten/system/include/libc/pty.h +0 -18
  635. data/modules/emscripten/system/include/libc/pwd.h +0 -49
  636. data/modules/emscripten/system/include/libc/readme.txt +0 -3
  637. data/modules/emscripten/system/include/libc/regex.h +0 -62
  638. data/modules/emscripten/system/include/libc/resolv.h +0 -144
  639. data/modules/emscripten/system/include/libc/sched.h +0 -132
  640. data/modules/emscripten/system/include/libc/search.h +0 -51
  641. data/modules/emscripten/system/include/libc/semaphore.h +0 -35
  642. data/modules/emscripten/system/include/libc/setjmp.h +0 -42
  643. data/modules/emscripten/system/include/libc/shadow.h +0 -44
  644. data/modules/emscripten/system/include/libc/signal.h +0 -255
  645. data/modules/emscripten/system/include/libc/spawn.h +0 -74
  646. data/modules/emscripten/system/include/libc/stdalign.h +0 -15
  647. data/modules/emscripten/system/include/libc/stdarg.h +0 -25
  648. data/modules/emscripten/system/include/libc/stdbool.h +0 -14
  649. data/modules/emscripten/system/include/libc/stddef.h +0 -18
  650. data/modules/emscripten/system/include/libc/stdint.h +0 -117
  651. data/modules/emscripten/system/include/libc/stdio.h +0 -199
  652. data/modules/emscripten/system/include/libc/stdio_ext.h +0 -34
  653. data/modules/emscripten/system/include/libc/stdlib.h +0 -171
  654. data/modules/emscripten/system/include/libc/stdnoreturn.h +0 -5
  655. data/modules/emscripten/system/include/libc/string.h +0 -102
  656. data/modules/emscripten/system/include/libc/strings.h +0 -35
  657. data/modules/emscripten/system/include/libc/stropts.h +0 -139
  658. data/modules/emscripten/system/include/libc/sys/acct.h +0 -75
  659. data/modules/emscripten/system/include/libc/sys/cachectl.h +0 -22
  660. data/modules/emscripten/system/include/libc/sys/dir.h +0 -2
  661. data/modules/emscripten/system/include/libc/sys/epoll.h +0 -67
  662. data/modules/emscripten/system/include/libc/sys/errno.h +0 -2
  663. data/modules/emscripten/system/include/libc/sys/eventfd.h +0 -26
  664. data/modules/emscripten/system/include/libc/sys/fcntl.h +0 -2
  665. data/modules/emscripten/system/include/libc/sys/file.h +0 -21
  666. data/modules/emscripten/system/include/libc/sys/fsuid.h +0 -20
  667. data/modules/emscripten/system/include/libc/sys/inotify.h +0 -57
  668. data/modules/emscripten/system/include/libc/sys/io.h +0 -17
  669. data/modules/emscripten/system/include/libc/sys/ioctl.h +0 -14
  670. data/modules/emscripten/system/include/libc/sys/ipc.h +0 -42
  671. data/modules/emscripten/system/include/libc/sys/klog.h +0 -14
  672. data/modules/emscripten/system/include/libc/sys/mman.h +0 -55
  673. data/modules/emscripten/system/include/libc/sys/mount.h +0 -72
  674. data/modules/emscripten/system/include/libc/sys/msg.h +0 -52
  675. data/modules/emscripten/system/include/libc/sys/mtio.h +0 -188
  676. data/modules/emscripten/system/include/libc/sys/param.h +0 -35
  677. data/modules/emscripten/system/include/libc/sys/personality.h +0 -46
  678. data/modules/emscripten/system/include/libc/sys/poll.h +0 -2
  679. data/modules/emscripten/system/include/libc/sys/prctl.h +0 -101
  680. data/modules/emscripten/system/include/libc/sys/procfs.h +0 -65
  681. data/modules/emscripten/system/include/libc/sys/ptrace.h +0 -96
  682. data/modules/emscripten/system/include/libc/sys/reboot.h +0 -20
  683. data/modules/emscripten/system/include/libc/sys/reg.h +0 -9
  684. data/modules/emscripten/system/include/libc/sys/resource.h +0 -103
  685. data/modules/emscripten/system/include/libc/sys/select.h +0 -42
  686. data/modules/emscripten/system/include/libc/sys/sem.h +0 -82
  687. data/modules/emscripten/system/include/libc/sys/sendfile.h +0 -22
  688. data/modules/emscripten/system/include/libc/sys/shm.h +0 -61
  689. data/modules/emscripten/system/include/libc/sys/signal.h +0 -2
  690. data/modules/emscripten/system/include/libc/sys/signalfd.h +0 -44
  691. data/modules/emscripten/system/include/libc/sys/socket.h +0 -299
  692. data/modules/emscripten/system/include/libc/sys/stat.h +0 -114
  693. data/modules/emscripten/system/include/libc/sys/statfs.h +0 -32
  694. data/modules/emscripten/system/include/libc/sys/statvfs.h +0 -57
  695. data/modules/emscripten/system/include/libc/sys/stropts.h +0 -1
  696. data/modules/emscripten/system/include/libc/sys/swap.h +0 -21
  697. data/modules/emscripten/system/include/libc/sys/syscall.h +0 -6
  698. data/modules/emscripten/system/include/libc/sys/sysctl.h +0 -17
  699. data/modules/emscripten/system/include/libc/sys/sysinfo.h +0 -36
  700. data/modules/emscripten/system/include/libc/sys/syslog.h +0 -1
  701. data/modules/emscripten/system/include/libc/sys/sysmacros.h +0 -15
  702. data/modules/emscripten/system/include/libc/sys/termios.h +0 -2
  703. data/modules/emscripten/system/include/libc/sys/time.h +0 -57
  704. data/modules/emscripten/system/include/libc/sys/timerfd.h +0 -24
  705. data/modules/emscripten/system/include/libc/sys/times.h +0 -26
  706. data/modules/emscripten/system/include/libc/sys/timex.h +0 -98
  707. data/modules/emscripten/system/include/libc/sys/ttydefaults.h +0 -39
  708. data/modules/emscripten/system/include/libc/sys/types.h +0 -91
  709. data/modules/emscripten/system/include/libc/sys/ucontext.h +0 -1
  710. data/modules/emscripten/system/include/libc/sys/uio.h +0 -48
  711. data/modules/emscripten/system/include/libc/sys/un.h +0 -32
  712. data/modules/emscripten/system/include/libc/sys/user.h +0 -16
  713. data/modules/emscripten/system/include/libc/sys/utsname.h +0 -30
  714. data/modules/emscripten/system/include/libc/sys/vfs.h +0 -1
  715. data/modules/emscripten/system/include/libc/sys/wait.h +0 -55
  716. data/modules/emscripten/system/include/libc/sys/xattr.h +0 -30
  717. data/modules/emscripten/system/include/libc/syscall.h +0 -1
  718. data/modules/emscripten/system/include/libc/sysexits.h +0 -21
  719. data/modules/emscripten/system/include/libc/syslog.h +0 -104
  720. data/modules/emscripten/system/include/libc/tar.h +0 -33
  721. data/modules/emscripten/system/include/libc/termios.h +0 -46
  722. data/modules/emscripten/system/include/libc/tgmath.h +0 -270
  723. data/modules/emscripten/system/include/libc/time.h +0 -132
  724. data/modules/emscripten/system/include/libc/ucontext.h +0 -25
  725. data/modules/emscripten/system/include/libc/ulimit.h +0 -17
  726. data/modules/emscripten/system/include/libc/unistd.h +0 -519
  727. data/modules/emscripten/system/include/libc/utime.h +0 -24
  728. data/modules/emscripten/system/include/libc/utmp.h +0 -47
  729. data/modules/emscripten/system/include/libc/utmpx.h +0 -58
  730. data/modules/emscripten/system/include/libc/values.h +0 -39
  731. data/modules/emscripten/system/include/libc/wchar.h +0 -183
  732. data/modules/emscripten/system/include/libc/wctype.h +0 -77
  733. data/modules/emscripten/system/include/libc/wordexp.h +0 -42
  734. data/modules/emscripten/system/include/libcxx/CREDITS.TXT +0 -123
  735. data/modules/emscripten/system/include/libcxx/LICENSE.txt +0 -76
  736. data/modules/emscripten/system/include/libcxx/__bit_reference +0 -1287
  737. data/modules/emscripten/system/include/libcxx/__config +0 -610
  738. data/modules/emscripten/system/include/libcxx/__debug +0 -218
  739. data/modules/emscripten/system/include/libcxx/__functional_03 +0 -2130
  740. data/modules/emscripten/system/include/libcxx/__functional_base +0 -615
  741. data/modules/emscripten/system/include/libcxx/__functional_base_03 +0 -1087
  742. data/modules/emscripten/system/include/libcxx/__hash_table +0 -2457
  743. data/modules/emscripten/system/include/libcxx/__locale +0 -1445
  744. data/modules/emscripten/system/include/libcxx/__mutex_base +0 -407
  745. data/modules/emscripten/system/include/libcxx/__split_buffer +0 -654
  746. data/modules/emscripten/system/include/libcxx/__sso_allocator +0 -77
  747. data/modules/emscripten/system/include/libcxx/__std_stream +0 -359
  748. data/modules/emscripten/system/include/libcxx/__tree +0 -2309
  749. data/modules/emscripten/system/include/libcxx/__tuple +0 -305
  750. data/modules/emscripten/system/include/libcxx/__tuple_03 +0 -27
  751. data/modules/emscripten/system/include/libcxx/__undef_min_max +0 -27
  752. data/modules/emscripten/system/include/libcxx/algorithm +0 -5679
  753. data/modules/emscripten/system/include/libcxx/array +0 -342
  754. data/modules/emscripten/system/include/libcxx/atomic +0 -1531
  755. data/modules/emscripten/system/include/libcxx/bitset +0 -1081
  756. data/modules/emscripten/system/include/libcxx/cassert +0 -25
  757. data/modules/emscripten/system/include/libcxx/ccomplex +0 -29
  758. data/modules/emscripten/system/include/libcxx/cctype +0 -164
  759. data/modules/emscripten/system/include/libcxx/cerrno +0 -393
  760. data/modules/emscripten/system/include/libcxx/cfenv +0 -82
  761. data/modules/emscripten/system/include/libcxx/cfloat +0 -78
  762. data/modules/emscripten/system/include/libcxx/chrono +0 -1027
  763. data/modules/emscripten/system/include/libcxx/cinttypes +0 -259
  764. data/modules/emscripten/system/include/libcxx/ciso646 +0 -25
  765. data/modules/emscripten/system/include/libcxx/climits +0 -48
  766. data/modules/emscripten/system/include/libcxx/clocale +0 -53
  767. data/modules/emscripten/system/include/libcxx/cmath +0 -1690
  768. data/modules/emscripten/system/include/libcxx/codecvt +0 -550
  769. data/modules/emscripten/system/include/libcxx/complex +0 -1567
  770. data/modules/emscripten/system/include/libcxx/complex.h +0 -35
  771. data/modules/emscripten/system/include/libcxx/condition_variable +0 -256
  772. data/modules/emscripten/system/include/libcxx/csetjmp +0 -52
  773. data/modules/emscripten/system/include/libcxx/csignal +0 -58
  774. data/modules/emscripten/system/include/libcxx/cstdarg +0 -48
  775. data/modules/emscripten/system/include/libcxx/cstdbool +0 -32
  776. data/modules/emscripten/system/include/libcxx/cstddef +0 -103
  777. data/modules/emscripten/system/include/libcxx/cstdint +0 -191
  778. data/modules/emscripten/system/include/libcxx/cstdio +0 -182
  779. data/modules/emscripten/system/include/libcxx/cstdlib +0 -172
  780. data/modules/emscripten/system/include/libcxx/cstring +0 -112
  781. data/modules/emscripten/system/include/libcxx/ctgmath +0 -29
  782. data/modules/emscripten/system/include/libcxx/ctime +0 -72
  783. data/modules/emscripten/system/include/libcxx/cwchar +0 -217
  784. data/modules/emscripten/system/include/libcxx/cwctype +0 -213
  785. data/modules/emscripten/system/include/libcxx/deque +0 -2873
  786. data/modules/emscripten/system/include/libcxx/dynarray +0 -311
  787. data/modules/emscripten/system/include/libcxx/exception +0 -250
  788. data/modules/emscripten/system/include/libcxx/ext/__hash +0 -46
  789. data/modules/emscripten/system/include/libcxx/ext/hash_map +0 -1007
  790. data/modules/emscripten/system/include/libcxx/ext/hash_set +0 -661
  791. data/modules/emscripten/system/include/libcxx/forward_list +0 -1663
  792. data/modules/emscripten/system/include/libcxx/fstream +0 -1431
  793. data/modules/emscripten/system/include/libcxx/functional +0 -2418
  794. data/modules/emscripten/system/include/libcxx/future +0 -2615
  795. data/modules/emscripten/system/include/libcxx/initializer_list +0 -118
  796. data/modules/emscripten/system/include/libcxx/iomanip +0 -651
  797. data/modules/emscripten/system/include/libcxx/ios +0 -1023
  798. data/modules/emscripten/system/include/libcxx/iosfwd +0 -194
  799. data/modules/emscripten/system/include/libcxx/iostream +0 -60
  800. data/modules/emscripten/system/include/libcxx/istream +0 -1716
  801. data/modules/emscripten/system/include/libcxx/iterator +0 -1568
  802. data/modules/emscripten/system/include/libcxx/limits +0 -813
  803. data/modules/emscripten/system/include/libcxx/list +0 -2355
  804. data/modules/emscripten/system/include/libcxx/locale +0 -4465
  805. data/modules/emscripten/system/include/libcxx/map +0 -2045
  806. data/modules/emscripten/system/include/libcxx/memory +0 -5448
  807. data/modules/emscripten/system/include/libcxx/mutex +0 -566
  808. data/modules/emscripten/system/include/libcxx/new +0 -146
  809. data/modules/emscripten/system/include/libcxx/numeric +0 -197
  810. data/modules/emscripten/system/include/libcxx/optional +0 -697
  811. data/modules/emscripten/system/include/libcxx/ostream +0 -1295
  812. data/modules/emscripten/system/include/libcxx/queue +0 -717
  813. data/modules/emscripten/system/include/libcxx/random +0 -6725
  814. data/modules/emscripten/system/include/libcxx/ratio +0 -487
  815. data/modules/emscripten/system/include/libcxx/readme.txt +0 -1
  816. data/modules/emscripten/system/include/libcxx/regex +0 -6487
  817. data/modules/emscripten/system/include/libcxx/scoped_allocator +0 -578
  818. data/modules/emscripten/system/include/libcxx/set +0 -1189
  819. data/modules/emscripten/system/include/libcxx/shared_mutex +0 -419
  820. data/modules/emscripten/system/include/libcxx/sstream +0 -972
  821. data/modules/emscripten/system/include/libcxx/stack +0 -292
  822. data/modules/emscripten/system/include/libcxx/stdexcept +0 -162
  823. data/modules/emscripten/system/include/libcxx/streambuf +0 -564
  824. data/modules/emscripten/system/include/libcxx/string +0 -4198
  825. data/modules/emscripten/system/include/libcxx/strstream +0 -400
  826. data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +0 -99
  827. data/modules/emscripten/system/include/libcxx/support/ibm/support.h +0 -54
  828. data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +0 -326
  829. data/modules/emscripten/system/include/libcxx/support/solaris/floatingpoint.h +0 -5
  830. data/modules/emscripten/system/include/libcxx/support/solaris/wchar.h +0 -38
  831. data/modules/emscripten/system/include/libcxx/support/solaris/xlocale.h +0 -146
  832. data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +0 -79
  833. data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +0 -129
  834. data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +0 -115
  835. data/modules/emscripten/system/include/libcxx/support/win32/support.h +0 -119
  836. data/modules/emscripten/system/include/libcxx/system_error +0 -642
  837. data/modules/emscripten/system/include/libcxx/tgmath.h +0 -29
  838. data/modules/emscripten/system/include/libcxx/thread +0 -458
  839. data/modules/emscripten/system/include/libcxx/tuple +0 -1102
  840. data/modules/emscripten/system/include/libcxx/type_traits +0 -3292
  841. data/modules/emscripten/system/include/libcxx/typeindex +0 -103
  842. data/modules/emscripten/system/include/libcxx/typeinfo +0 -124
  843. data/modules/emscripten/system/include/libcxx/unordered_map +0 -2078
  844. data/modules/emscripten/system/include/libcxx/unordered_set +0 -1379
  845. data/modules/emscripten/system/include/libcxx/utility +0 -768
  846. data/modules/emscripten/system/include/libcxx/valarray +0 -4779
  847. data/modules/emscripten/system/include/libcxx/vector +0 -3246
  848. data/modules/emscripten/system/include/unwind.h +0 -154
  849. data/modules/emscripten/system/include/uuid/uuid.h +0 -35
  850. data/modules/emscripten/system/include/zconf.h +0 -428
  851. data/modules/emscripten/system/include/zlib.h +0 -1613
  852. data/modules/emscripten/system/lib/compiler-rt/LICENSE.TXT +0 -97
  853. data/modules/emscripten/system/lib/compiler-rt/divdi3.c +0 -47
  854. data/modules/emscripten/system/lib/compiler-rt/int_endianness.h +0 -116
  855. data/modules/emscripten/system/lib/compiler-rt/int_lib.h +0 -46
  856. data/modules/emscripten/system/lib/compiler-rt/int_math.h +0 -67
  857. data/modules/emscripten/system/lib/compiler-rt/int_types.h +0 -140
  858. data/modules/emscripten/system/lib/compiler-rt/int_util.h +0 -29
  859. data/modules/emscripten/system/lib/compiler-rt/muldi3.c +0 -56
  860. data/modules/emscripten/system/lib/compiler-rt/readme.txt +0 -20
  861. data/modules/emscripten/system/lib/compiler-rt/udivdi3.c +0 -36
  862. data/modules/emscripten/system/lib/compiler-rt/udivmoddi4.c +0 -251
  863. data/modules/emscripten/system/lib/debugging.cpp +0 -24
  864. data/modules/emscripten/system/lib/dlmalloc.c +0 -6297
  865. data/modules/emscripten/system/lib/embind/bind.cpp +0 -63
  866. data/modules/emscripten/system/lib/libc/gen/err.c +0 -49
  867. data/modules/emscripten/system/lib/libc/gen/errx.c +0 -49
  868. data/modules/emscripten/system/lib/libc/gen/verr.c +0 -58
  869. data/modules/emscripten/system/lib/libc/gen/verrx.c +0 -51
  870. data/modules/emscripten/system/lib/libc/gen/vwarn.c +0 -55
  871. data/modules/emscripten/system/lib/libc/gen/vwarnx.c +0 -48
  872. data/modules/emscripten/system/lib/libc/gen/warn.c +0 -49
  873. data/modules/emscripten/system/lib/libc/gen/warnx.c +0 -49
  874. data/modules/emscripten/system/lib/libc/musl/COPYRIGHT +0 -92
  875. data/modules/emscripten/system/lib/libc/musl/readme.txt +0 -9
  876. data/modules/emscripten/system/lib/libc/musl/src/ctype/alpha.h +0 -125
  877. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalnum.c +0 -7
  878. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalpha.c +0 -14
  879. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswblank.c +0 -8
  880. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswcntrl.c +0 -10
  881. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswctype.c +0 -63
  882. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswdigit.c +0 -9
  883. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswgraph.c +0 -7
  884. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswlower.c +0 -6
  885. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswprint.c +0 -19
  886. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswpunct.c +0 -12
  887. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswspace.c +0 -19
  888. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswupper.c +0 -6
  889. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswxdigit.c +0 -7
  890. data/modules/emscripten/system/lib/libc/musl/src/ctype/nonspacing.h +0 -62
  891. data/modules/emscripten/system/lib/libc/musl/src/ctype/punct.h +0 -109
  892. data/modules/emscripten/system/lib/libc/musl/src/ctype/towctrans.c +0 -268
  893. data/modules/emscripten/system/lib/libc/musl/src/ctype/wcswidth.c +0 -8
  894. data/modules/emscripten/system/lib/libc/musl/src/ctype/wctrans.c +0 -16
  895. data/modules/emscripten/system/lib/libc/musl/src/ctype/wcwidth.c +0 -29
  896. data/modules/emscripten/system/lib/libc/musl/src/ctype/wide.h +0 -42
  897. data/modules/emscripten/system/lib/libc/musl/src/internal/libc.c +0 -22
  898. data/modules/emscripten/system/lib/libc/musl/src/internal/libc.h +0 -71
  899. data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +0 -5
  900. data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +0 -92
  901. data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +0 -1085
  902. data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +0 -238
  903. data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +0 -1836
  904. data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +0 -390
  905. data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +0 -454
  906. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +0 -6
  907. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +0 -6
  908. data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +0 -6
  909. data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +0 -6
  910. data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +0 -9
  911. data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +0 -6
  912. data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +0 -6
  913. data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +0 -6
  914. data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +0 -6
  915. data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +0 -6
  916. data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +0 -6
  917. data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +0 -6
  918. data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +0 -6
  919. data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +0 -550
  920. data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +0 -640
  921. data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +0 -39
  922. data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +0 -101
  923. data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +0 -18
  924. data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +0 -6
  925. data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +0 -9
  926. data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +0 -9
  927. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +0 -16
  928. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +0 -6
  929. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +0 -21
  930. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +0 -6
  931. data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +0 -6
  932. data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +0 -9
  933. data/modules/emscripten/system/lib/libc/musl/src/multibyte/btowc.c +0 -7
  934. data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.c +0 -38
  935. data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.h +0 -22
  936. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mblen.c +0 -17
  937. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrlen.c +0 -18
  938. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrtowc.c +0 -57
  939. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsinit.c +0 -17
  940. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsnrtowcs.c +0 -65
  941. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsrtowcs.c +0 -100
  942. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbstowcs.c +0 -7
  943. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbtowc.c +0 -53
  944. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c +0 -38
  945. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsnrtombs.c +0 -52
  946. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsrtombs.c +0 -58
  947. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcstombs.c +0 -7
  948. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctob.c +0 -8
  949. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c +0 -18
  950. data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +0 -3352
  951. data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +0 -35
  952. data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +0 -1011
  953. data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +0 -158
  954. data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +0 -231
  955. data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +0 -13
  956. data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +0 -14
  957. data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +0 -361
  958. data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +0 -53
  959. data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +0 -7
  960. data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +0 -13
  961. data/modules/emscripten/system/lib/libc/musl/src/stdlib/ecvt.c +0 -19
  962. data/modules/emscripten/system/lib/libc/musl/src/stdlib/fcvt.c +0 -25
  963. data/modules/emscripten/system/lib/libc/musl/src/stdlib/gcvt.c +0 -8
  964. data/modules/emscripten/system/lib/libc/musl/src/string/wcpcpy.c +0 -6
  965. data/modules/emscripten/system/lib/libc/musl/src/string/wcpncpy.c +0 -6
  966. data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp.c +0 -7
  967. data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp_l.c +0 -6
  968. data/modules/emscripten/system/lib/libc/musl/src/string/wcscat.c +0 -7
  969. data/modules/emscripten/system/lib/libc/musl/src/string/wcschr.c +0 -8
  970. data/modules/emscripten/system/lib/libc/musl/src/string/wcscmp.c +0 -7
  971. data/modules/emscripten/system/lib/libc/musl/src/string/wcscpy.c +0 -8
  972. data/modules/emscripten/system/lib/libc/musl/src/string/wcscspn.c +0 -10
  973. data/modules/emscripten/system/lib/libc/musl/src/string/wcsdup.c +0 -11
  974. data/modules/emscripten/system/lib/libc/musl/src/string/wcslen.c +0 -8
  975. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp.c +0 -9
  976. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp_l.c +0 -6
  977. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncat.c +0 -10
  978. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncmp.c +0 -7
  979. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncpy.c +0 -9
  980. data/modules/emscripten/system/lib/libc/musl/src/string/wcsnlen.c +0 -8
  981. data/modules/emscripten/system/lib/libc/musl/src/string/wcspbrk.c +0 -7
  982. data/modules/emscripten/system/lib/libc/musl/src/string/wcsrchr.c +0 -8
  983. data/modules/emscripten/system/lib/libc/musl/src/string/wcsspn.c +0 -8
  984. data/modules/emscripten/system/lib/libc/musl/src/string/wcsstr.c +0 -108
  985. data/modules/emscripten/system/lib/libc/musl/src/string/wcstok.c +0 -12
  986. data/modules/emscripten/system/lib/libc/musl/src/string/wcswcs.c +0 -6
  987. data/modules/emscripten/system/lib/libc/musl/src/string/wmemchr.c +0 -8
  988. data/modules/emscripten/system/lib/libc/musl/src/string/wmemcmp.c +0 -8
  989. data/modules/emscripten/system/lib/libc/musl/src/string/wmemcpy.c +0 -9
  990. data/modules/emscripten/system/lib/libc/musl/src/string/wmemmove.c +0 -12
  991. data/modules/emscripten/system/lib/libc/musl/src/string/wmemset.c +0 -9
  992. data/modules/emscripten/system/lib/libc/stdlib/getopt_long.c +0 -511
  993. data/modules/emscripten/system/lib/libc/stdlib/strtod.c +0 -305
  994. data/modules/emscripten/system/lib/libc.symbols +0 -81
  995. data/modules/emscripten/system/lib/libcextra.symbols +0 -115
  996. data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +0 -123
  997. data/modules/emscripten/system/lib/libcxx/LICENSE.txt +0 -76
  998. data/modules/emscripten/system/lib/libcxx/algorithm.cpp +0 -84
  999. data/modules/emscripten/system/lib/libcxx/bind.cpp +0 -30
  1000. data/modules/emscripten/system/lib/libcxx/chrono.cpp +0 -132
  1001. data/modules/emscripten/system/lib/libcxx/condition_variable.cpp +0 -81
  1002. data/modules/emscripten/system/lib/libcxx/debug.cpp +0 -530
  1003. data/modules/emscripten/system/lib/libcxx/exception.cpp +0 -307
  1004. data/modules/emscripten/system/lib/libcxx/future.cpp +0 -291
  1005. data/modules/emscripten/system/lib/libcxx/hash.cpp +0 -570
  1006. data/modules/emscripten/system/lib/libcxx/ios.cpp +0 -460
  1007. data/modules/emscripten/system/lib/libcxx/iostream.cpp +0 -68
  1008. data/modules/emscripten/system/lib/libcxx/locale.cpp +0 -6169
  1009. data/modules/emscripten/system/lib/libcxx/memory.cpp +0 -223
  1010. data/modules/emscripten/system/lib/libcxx/mutex.cpp +0 -253
  1011. data/modules/emscripten/system/lib/libcxx/new.cpp +0 -239
  1012. data/modules/emscripten/system/lib/libcxx/optional.cpp +0 -25
  1013. data/modules/emscripten/system/lib/libcxx/random.cpp +0 -74
  1014. data/modules/emscripten/system/lib/libcxx/readme.txt +0 -1
  1015. data/modules/emscripten/system/lib/libcxx/regex.cpp +0 -325
  1016. data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +0 -101
  1017. data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +0 -200
  1018. data/modules/emscripten/system/lib/libcxx/string.cpp +0 -530
  1019. data/modules/emscripten/system/lib/libcxx/strstream.cpp +0 -329
  1020. data/modules/emscripten/system/lib/libcxx/support/solaris/README +0 -4
  1021. data/modules/emscripten/system/lib/libcxx/support/solaris/mbsnrtowcs.inc +0 -76
  1022. data/modules/emscripten/system/lib/libcxx/support/solaris/wcsnrtombs.inc +0 -93
  1023. data/modules/emscripten/system/lib/libcxx/support/solaris/xlocale.c +0 -245
  1024. data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +0 -95
  1025. data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +0 -166
  1026. data/modules/emscripten/system/lib/libcxx/symbols +0 -2699
  1027. data/modules/emscripten/system/lib/libcxx/system_error.cpp +0 -205
  1028. data/modules/emscripten/system/lib/libcxx/thread.cpp +0 -225
  1029. data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +0 -73
  1030. data/modules/emscripten/system/lib/libcxx/utility.cpp +0 -17
  1031. data/modules/emscripten/system/lib/libcxx/valarray.cpp +0 -56
  1032. data/modules/emscripten/system/lib/libcxxabi/CREDITS.TXT +0 -38
  1033. data/modules/emscripten/system/lib/libcxxabi/LICENSE.TXT +0 -76
  1034. data/modules/emscripten/system/lib/libcxxabi/include/cxa_demangle.h +0 -167
  1035. data/modules/emscripten/system/lib/libcxxabi/include/cxxabi.h +0 -175
  1036. data/modules/emscripten/system/lib/libcxxabi/lib/buildit +0 -99
  1037. data/modules/emscripten/system/lib/libcxxabi/readme.txt +0 -1
  1038. data/modules/emscripten/system/lib/libcxxabi/src/abort_message.cpp +0 -50
  1039. data/modules/emscripten/system/lib/libcxxabi/src/abort_message.h +0 -33
  1040. data/modules/emscripten/system/lib/libcxxabi/src/cxa_aux_runtime.cpp +0 -34
  1041. data/modules/emscripten/system/lib/libcxxabi/src/cxa_demangle.cpp +0 -11036
  1042. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.cpp +0 -622
  1043. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.hpp +0 -123
  1044. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception_storage.cpp +0 -91
  1045. data/modules/emscripten/system/lib/libcxxabi/src/cxa_guard.cpp +0 -231
  1046. data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp +0 -125
  1047. data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.hpp +0 -54
  1048. data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +0 -242
  1049. data/modules/emscripten/system/lib/libcxxabi/src/cxa_personality.cpp +0 -1055
  1050. data/modules/emscripten/system/lib/libcxxabi/src/cxa_unexpected.cpp +0 -27
  1051. data/modules/emscripten/system/lib/libcxxabi/src/cxa_vector.cpp +0 -367
  1052. data/modules/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp +0 -31
  1053. data/modules/emscripten/system/lib/libcxxabi/src/exception.cpp +0 -41
  1054. data/modules/emscripten/system/lib/libcxxabi/src/fallback_malloc.ipp +0 -174
  1055. data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp +0 -1146
  1056. data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.h +0 -248
  1057. data/modules/emscripten/system/lib/libcxxabi/src/stdexcept.cpp +0 -169
  1058. data/modules/emscripten/system/lib/libcxxabi/src/typeinfo.cpp +0 -53
  1059. data/modules/emscripten/system/lib/libcxxabi/symbols +0 -236
  1060. data/modules/emscripten/system/lib/sdl.cpp +0 -13
  1061. data/modules/emscripten/system/lib/sdl.symbols +0 -1
  1062. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/CppHeaderParser.py +0 -2347
  1063. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/__init__.py +0 -4
  1064. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/doc/CppHeaderParser.html +0 -657
  1065. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/SampleClass.h +0 -147
  1066. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/readSampleClass.py +0 -74
  1067. data/modules/emscripten/third_party/CppHeaderParser/PKG-INFO +0 -249
  1068. data/modules/emscripten/third_party/CppHeaderParser/README.html +0 -544
  1069. data/modules/emscripten/third_party/CppHeaderParser/README.txt +0 -226
  1070. data/modules/emscripten/third_party/CppHeaderParser/setup.py +0 -43
  1071. data/modules/emscripten/third_party/ansidecl.h +0 -371
  1072. data/modules/emscripten/third_party/closure-compiler/COPYING +0 -202
  1073. data/modules/emscripten/third_party/closure-compiler/README +0 -292
  1074. data/modules/emscripten/third_party/closure-compiler/compiler.jar +0 -0
  1075. data/modules/emscripten/third_party/closure-compiler/readme.txt +0 -3
  1076. data/modules/emscripten/third_party/cp-demangle.h +0 -161
  1077. data/modules/emscripten/third_party/demangle.h +0 -549
  1078. data/modules/emscripten/third_party/demangler.py +0 -49
  1079. data/modules/emscripten/third_party/gcc_demangler.c +0 -4226
  1080. data/modules/emscripten/third_party/gcc_demangler.js +0 -21282
  1081. data/modules/emscripten/third_party/jni/emjvm.cpp +0 -133
  1082. data/modules/emscripten/third_party/jni/emjvm.h +0 -8
  1083. data/modules/emscripten/third_party/jni/emjvm.js +0 -185
  1084. data/modules/emscripten/third_party/jni/jni.h +0 -1154
  1085. data/modules/emscripten/third_party/libiberty.h +0 -634
  1086. data/modules/emscripten/third_party/lzma.js/README.markdown +0 -37
  1087. data/modules/emscripten/third_party/lzma.js/doit.bat +0 -4
  1088. data/modules/emscripten/third_party/lzma.js/doit.sh +0 -44
  1089. data/modules/emscripten/third_party/lzma.js/lzip/AUTHORS +0 -7
  1090. data/modules/emscripten/third_party/lzma.js/lzip/COPYING +0 -676
  1091. data/modules/emscripten/third_party/lzma.js/lzip/ChangeLog +0 -201
  1092. data/modules/emscripten/third_party/lzma.js/lzip/INSTALL +0 -56
  1093. data/modules/emscripten/third_party/lzma.js/lzip/Makefile +0 -160
  1094. data/modules/emscripten/third_party/lzma.js/lzip/Makefile.in +0 -138
  1095. data/modules/emscripten/third_party/lzma.js/lzip/NEWS +0 -22
  1096. data/modules/emscripten/third_party/lzma.js/lzip/README +0 -77
  1097. data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.cc +0 -204
  1098. data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.h +0 -106
  1099. data/modules/emscripten/third_party/lzma.js/lzip/configure +0 -192
  1100. data/modules/emscripten/third_party/lzma.js/lzip/decoder.cc +0 -252
  1101. data/modules/emscripten/third_party/lzma.js/lzip/decoder.h +0 -268
  1102. data/modules/emscripten/third_party/lzma.js/lzip/encoder.cc +0 -643
  1103. data/modules/emscripten/third_party/lzma.js/lzip/encoder.h +0 -582
  1104. data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.cc +0 -378
  1105. data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.h +0 -171
  1106. data/modules/emscripten/third_party/lzma.js/lzip/lzip.h +0 -264
  1107. data/modules/emscripten/third_party/lzma.js/lzip/main.cc +0 -545
  1108. data/modules/emscripten/third_party/lzma.js/lzma-decoder.js +0 -27
  1109. data/modules/emscripten/third_party/lzma.js/lzma-full.js +0 -27
  1110. data/modules/emscripten/third_party/lzma.js/native_test.sh +0 -5
  1111. data/modules/emscripten/third_party/lzma.js/post.js +0 -13
  1112. data/modules/emscripten/third_party/lzma.js/pre.js +0 -13
  1113. data/modules/emscripten/third_party/lzma.js/test-decoder.js +0 -39
  1114. data/modules/emscripten/third_party/lzma.js/test-full.html +0 -9
  1115. data/modules/emscripten/third_party/lzma.js/test-full.js +0 -78
  1116. data/modules/emscripten/third_party/ply/ANNOUNCE +0 -40
  1117. data/modules/emscripten/third_party/ply/CHANGES +0 -1093
  1118. data/modules/emscripten/third_party/ply/PKG-INFO +0 -22
  1119. data/modules/emscripten/third_party/ply/README +0 -271
  1120. data/modules/emscripten/third_party/ply/TODO +0 -16
  1121. data/modules/emscripten/third_party/ply/doc/internal.html +0 -874
  1122. data/modules/emscripten/third_party/ply/doc/makedoc.py +0 -194
  1123. data/modules/emscripten/third_party/ply/doc/ply.html +0 -3262
  1124. data/modules/emscripten/third_party/ply/example/BASIC/README +0 -79
  1125. data/modules/emscripten/third_party/ply/example/BASIC/basic.py +0 -71
  1126. data/modules/emscripten/third_party/ply/example/BASIC/basiclex.py +0 -74
  1127. data/modules/emscripten/third_party/ply/example/BASIC/basiclog.py +0 -79
  1128. data/modules/emscripten/third_party/ply/example/BASIC/basinterp.py +0 -441
  1129. data/modules/emscripten/third_party/ply/example/BASIC/basparse.py +0 -424
  1130. data/modules/emscripten/third_party/ply/example/BASIC/dim.bas +0 -14
  1131. data/modules/emscripten/third_party/ply/example/BASIC/func.bas +0 -5
  1132. data/modules/emscripten/third_party/ply/example/BASIC/gcd.bas +0 -22
  1133. data/modules/emscripten/third_party/ply/example/BASIC/gosub.bas +0 -13
  1134. data/modules/emscripten/third_party/ply/example/BASIC/hello.bas +0 -4
  1135. data/modules/emscripten/third_party/ply/example/BASIC/linear.bas +0 -17
  1136. data/modules/emscripten/third_party/ply/example/BASIC/maxsin.bas +0 -12
  1137. data/modules/emscripten/third_party/ply/example/BASIC/powers.bas +0 -13
  1138. data/modules/emscripten/third_party/ply/example/BASIC/rand.bas +0 -4
  1139. data/modules/emscripten/third_party/ply/example/BASIC/sales.bas +0 -20
  1140. data/modules/emscripten/third_party/ply/example/BASIC/sears.bas +0 -18
  1141. data/modules/emscripten/third_party/ply/example/BASIC/sqrt1.bas +0 -5
  1142. data/modules/emscripten/third_party/ply/example/BASIC/sqrt2.bas +0 -4
  1143. data/modules/emscripten/third_party/ply/example/GardenSnake/GardenSnake.py +0 -709
  1144. data/modules/emscripten/third_party/ply/example/GardenSnake/README +0 -5
  1145. data/modules/emscripten/third_party/ply/example/README +0 -10
  1146. data/modules/emscripten/third_party/ply/example/ansic/README +0 -2
  1147. data/modules/emscripten/third_party/ply/example/ansic/clex.py +0 -164
  1148. data/modules/emscripten/third_party/ply/example/ansic/cparse.py +0 -863
  1149. data/modules/emscripten/third_party/ply/example/calc/calc.py +0 -107
  1150. data/modules/emscripten/third_party/ply/example/calcdebug/calc.py +0 -113
  1151. data/modules/emscripten/third_party/ply/example/classcalc/calc.py +0 -157
  1152. data/modules/emscripten/third_party/ply/example/cleanup.sh +0 -2
  1153. data/modules/emscripten/third_party/ply/example/closurecalc/calc.py +0 -130
  1154. data/modules/emscripten/third_party/ply/example/hedit/hedit.py +0 -48
  1155. data/modules/emscripten/third_party/ply/example/newclasscalc/calc.py +0 -160
  1156. data/modules/emscripten/third_party/ply/example/optcalc/README +0 -9
  1157. data/modules/emscripten/third_party/ply/example/optcalc/calc.py +0 -119
  1158. data/modules/emscripten/third_party/ply/example/unicalc/calc.py +0 -117
  1159. data/modules/emscripten/third_party/ply/example/yply/README +0 -41
  1160. data/modules/emscripten/third_party/ply/example/yply/ylex.py +0 -112
  1161. data/modules/emscripten/third_party/ply/example/yply/yparse.py +0 -217
  1162. data/modules/emscripten/third_party/ply/example/yply/yply.py +0 -53
  1163. data/modules/emscripten/third_party/ply/ply/__init__.py +0 -4
  1164. data/modules/emscripten/third_party/ply/ply/cpp.py +0 -898
  1165. data/modules/emscripten/third_party/ply/ply/ctokens.py +0 -133
  1166. data/modules/emscripten/third_party/ply/ply/lex.py +0 -1058
  1167. data/modules/emscripten/third_party/ply/ply/yacc.py +0 -3276
  1168. data/modules/emscripten/third_party/ply/setup.py +0 -31
  1169. data/modules/emscripten/third_party/ply/test/README +0 -7
  1170. data/modules/emscripten/third_party/ply/test/calclex.py +0 -49
  1171. data/modules/emscripten/third_party/ply/test/cleanup.sh +0 -4
  1172. data/modules/emscripten/third_party/ply/test/lex_closure.py +0 -54
  1173. data/modules/emscripten/third_party/ply/test/lex_doc1.py +0 -26
  1174. data/modules/emscripten/third_party/ply/test/lex_dup1.py +0 -29
  1175. data/modules/emscripten/third_party/ply/test/lex_dup2.py +0 -33
  1176. data/modules/emscripten/third_party/ply/test/lex_dup3.py +0 -31
  1177. data/modules/emscripten/third_party/ply/test/lex_empty.py +0 -20
  1178. data/modules/emscripten/third_party/ply/test/lex_error1.py +0 -24
  1179. data/modules/emscripten/third_party/ply/test/lex_error2.py +0 -26
  1180. data/modules/emscripten/third_party/ply/test/lex_error3.py +0 -27
  1181. data/modules/emscripten/third_party/ply/test/lex_error4.py +0 -27
  1182. data/modules/emscripten/third_party/ply/test/lex_hedit.py +0 -47
  1183. data/modules/emscripten/third_party/ply/test/lex_ignore.py +0 -31
  1184. data/modules/emscripten/third_party/ply/test/lex_ignore2.py +0 -29
  1185. data/modules/emscripten/third_party/ply/test/lex_literal1.py +0 -25
  1186. data/modules/emscripten/third_party/ply/test/lex_literal2.py +0 -25
  1187. data/modules/emscripten/third_party/ply/test/lex_many_tokens.py +0 -27
  1188. data/modules/emscripten/third_party/ply/test/lex_module.py +0 -10
  1189. data/modules/emscripten/third_party/ply/test/lex_module_import.py +0 -42
  1190. data/modules/emscripten/third_party/ply/test/lex_object.py +0 -55
  1191. data/modules/emscripten/third_party/ply/test/lex_opt_alias.py +0 -54
  1192. data/modules/emscripten/third_party/ply/test/lex_optimize.py +0 -50
  1193. data/modules/emscripten/third_party/ply/test/lex_optimize2.py +0 -50
  1194. data/modules/emscripten/third_party/ply/test/lex_optimize3.py +0 -52
  1195. data/modules/emscripten/third_party/ply/test/lex_re1.py +0 -27
  1196. data/modules/emscripten/third_party/ply/test/lex_re2.py +0 -27
  1197. data/modules/emscripten/third_party/ply/test/lex_re3.py +0 -29
  1198. data/modules/emscripten/third_party/ply/test/lex_rule1.py +0 -27
  1199. data/modules/emscripten/third_party/ply/test/lex_rule2.py +0 -29
  1200. data/modules/emscripten/third_party/ply/test/lex_rule3.py +0 -27
  1201. data/modules/emscripten/third_party/ply/test/lex_state1.py +0 -40
  1202. data/modules/emscripten/third_party/ply/test/lex_state2.py +0 -40
  1203. data/modules/emscripten/third_party/ply/test/lex_state3.py +0 -42
  1204. data/modules/emscripten/third_party/ply/test/lex_state4.py +0 -41
  1205. data/modules/emscripten/third_party/ply/test/lex_state5.py +0 -40
  1206. data/modules/emscripten/third_party/ply/test/lex_state_noerror.py +0 -39
  1207. data/modules/emscripten/third_party/ply/test/lex_state_norule.py +0 -40
  1208. data/modules/emscripten/third_party/ply/test/lex_state_try.py +0 -45
  1209. data/modules/emscripten/third_party/ply/test/lex_token1.py +0 -19
  1210. data/modules/emscripten/third_party/ply/test/lex_token2.py +0 -22
  1211. data/modules/emscripten/third_party/ply/test/lex_token3.py +0 -24
  1212. data/modules/emscripten/third_party/ply/test/lex_token4.py +0 -26
  1213. data/modules/emscripten/third_party/ply/test/lex_token5.py +0 -31
  1214. data/modules/emscripten/third_party/ply/test/lex_token_dup.py +0 -29
  1215. data/modules/emscripten/third_party/ply/test/testlex.py +0 -606
  1216. data/modules/emscripten/third_party/ply/test/testyacc.py +0 -347
  1217. data/modules/emscripten/third_party/ply/test/yacc_badargs.py +0 -68
  1218. data/modules/emscripten/third_party/ply/test/yacc_badid.py +0 -77
  1219. data/modules/emscripten/third_party/ply/test/yacc_badprec.py +0 -64
  1220. data/modules/emscripten/third_party/ply/test/yacc_badprec2.py +0 -68
  1221. data/modules/emscripten/third_party/ply/test/yacc_badprec3.py +0 -68
  1222. data/modules/emscripten/third_party/ply/test/yacc_badrule.py +0 -68
  1223. data/modules/emscripten/third_party/ply/test/yacc_badtok.py +0 -68
  1224. data/modules/emscripten/third_party/ply/test/yacc_dup.py +0 -68
  1225. data/modules/emscripten/third_party/ply/test/yacc_error1.py +0 -68
  1226. data/modules/emscripten/third_party/ply/test/yacc_error2.py +0 -68
  1227. data/modules/emscripten/third_party/ply/test/yacc_error3.py +0 -67
  1228. data/modules/emscripten/third_party/ply/test/yacc_error4.py +0 -72
  1229. data/modules/emscripten/third_party/ply/test/yacc_inf.py +0 -56
  1230. data/modules/emscripten/third_party/ply/test/yacc_literal.py +0 -69
  1231. data/modules/emscripten/third_party/ply/test/yacc_misplaced.py +0 -68
  1232. data/modules/emscripten/third_party/ply/test/yacc_missing1.py +0 -68
  1233. data/modules/emscripten/third_party/ply/test/yacc_nested.py +0 -33
  1234. data/modules/emscripten/third_party/ply/test/yacc_nodoc.py +0 -67
  1235. data/modules/emscripten/third_party/ply/test/yacc_noerror.py +0 -66
  1236. data/modules/emscripten/third_party/ply/test/yacc_nop.py +0 -68
  1237. data/modules/emscripten/third_party/ply/test/yacc_notfunc.py +0 -66
  1238. data/modules/emscripten/third_party/ply/test/yacc_notok.py +0 -67
  1239. data/modules/emscripten/third_party/ply/test/yacc_prec1.py +0 -68
  1240. data/modules/emscripten/third_party/ply/test/yacc_rr.py +0 -72
  1241. data/modules/emscripten/third_party/ply/test/yacc_rr_unused.py +0 -30
  1242. data/modules/emscripten/third_party/ply/test/yacc_simple.py +0 -68
  1243. data/modules/emscripten/third_party/ply/test/yacc_sr.py +0 -63
  1244. data/modules/emscripten/third_party/ply/test/yacc_term1.py +0 -68
  1245. data/modules/emscripten/third_party/ply/test/yacc_unused.py +0 -77
  1246. data/modules/emscripten/third_party/ply/test/yacc_unused_rule.py +0 -72
  1247. data/modules/emscripten/third_party/ply/test/yacc_uprec.py +0 -63
  1248. data/modules/emscripten/third_party/ply/test/yacc_uprec2.py +0 -63
  1249. data/modules/emscripten/third_party/readme.txt +0 -7
  1250. data/modules/emscripten/third_party/stb_image.c +0 -4673
  1251. data/modules/emscripten/third_party/websockify/CHANGES.txt +0 -23
  1252. data/modules/emscripten/third_party/websockify/LICENSE.txt +0 -16
  1253. data/modules/emscripten/third_party/websockify/MANIFEST.in +0 -1
  1254. data/modules/emscripten/third_party/websockify/Makefile +0 -11
  1255. data/modules/emscripten/third_party/websockify/README.md +0 -168
  1256. data/modules/emscripten/third_party/websockify/Windows/Windows Service Readme.txt +0 -39
  1257. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Program.cs +0 -24
  1258. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.Designer.cs +0 -61
  1259. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.cs +0 -19
  1260. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.resx +0 -129
  1261. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Properties/AssemblyInfo.cs +0 -36
  1262. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.Designer.cs +0 -37
  1263. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.cs +0 -41
  1264. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.csproj +0 -75
  1265. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.sln +0 -20
  1266. data/modules/emscripten/third_party/websockify/docs/LICENSE.GPL-3 +0 -621
  1267. data/modules/emscripten/third_party/websockify/docs/LICENSE.LGPL-3 +0 -165
  1268. data/modules/emscripten/third_party/websockify/docs/LICENSE.MPL-2.0 +0 -373
  1269. data/modules/emscripten/third_party/websockify/docs/TODO +0 -9
  1270. data/modules/emscripten/third_party/websockify/docs/flash_policy.txt +0 -4
  1271. data/modules/emscripten/third_party/websockify/docs/latency_results.txt +0 -114
  1272. data/modules/emscripten/third_party/websockify/docs/notes +0 -17
  1273. data/modules/emscripten/third_party/websockify/docs/release.txt +0 -9
  1274. data/modules/emscripten/third_party/websockify/docs/websockify.1 +0 -110
  1275. data/modules/emscripten/third_party/websockify/include/VT100.js +0 -919
  1276. data/modules/emscripten/third_party/websockify/include/base64.js +0 -114
  1277. data/modules/emscripten/third_party/websockify/include/keysym.js +0 -99
  1278. data/modules/emscripten/third_party/websockify/include/util.js +0 -359
  1279. data/modules/emscripten/third_party/websockify/include/web-socket-js/README.txt +0 -109
  1280. data/modules/emscripten/third_party/websockify/include/web-socket-js/WebSocketMain.swf +0 -0
  1281. data/modules/emscripten/third_party/websockify/include/web-socket-js/swfobject.js +0 -4
  1282. data/modules/emscripten/third_party/websockify/include/web-socket-js/web_socket.js +0 -391
  1283. data/modules/emscripten/third_party/websockify/include/websock.js +0 -422
  1284. data/modules/emscripten/third_party/websockify/include/webutil.js +0 -216
  1285. data/modules/emscripten/third_party/websockify/include/wsirc.js +0 -235
  1286. data/modules/emscripten/third_party/websockify/include/wstelnet.js +0 -335
  1287. data/modules/emscripten/third_party/websockify/other/Makefile +0 -14
  1288. data/modules/emscripten/third_party/websockify/other/README.md +0 -51
  1289. data/modules/emscripten/third_party/websockify/other/launch.sh +0 -108
  1290. data/modules/emscripten/third_party/websockify/other/project.clj +0 -13
  1291. data/modules/emscripten/third_party/websockify/other/websocket.c +0 -802
  1292. data/modules/emscripten/third_party/websockify/other/websocket.h +0 -84
  1293. data/modules/emscripten/third_party/websockify/other/websocket.rb +0 -456
  1294. data/modules/emscripten/third_party/websockify/other/websockify.c +0 -385
  1295. data/modules/emscripten/third_party/websockify/other/websockify.clj +0 -233
  1296. data/modules/emscripten/third_party/websockify/other/websockify.js +0 -196
  1297. data/modules/emscripten/third_party/websockify/other/websockify.rb +0 -171
  1298. data/modules/emscripten/third_party/websockify/other/wswrap +0 -22
  1299. data/modules/emscripten/third_party/websockify/rebind +0 -18
  1300. data/modules/emscripten/third_party/websockify/rebind.c +0 -94
  1301. data/modules/emscripten/third_party/websockify/run +0 -5
  1302. data/modules/emscripten/third_party/websockify/setup.py +0 -30
  1303. data/modules/emscripten/third_party/websockify/tests/b64_vs_utf8.py +0 -29
  1304. data/modules/emscripten/third_party/websockify/tests/base64.html +0 -91
  1305. data/modules/emscripten/third_party/websockify/tests/base64.js +0 -12
  1306. data/modules/emscripten/third_party/websockify/tests/echo.html +0 -148
  1307. data/modules/emscripten/third_party/websockify/tests/echo.py +0 -75
  1308. data/modules/emscripten/third_party/websockify/tests/echo.rb +0 -62
  1309. data/modules/emscripten/third_party/websockify/tests/latency.html +0 -290
  1310. data/modules/emscripten/third_party/websockify/tests/latency.py +0 -75
  1311. data/modules/emscripten/third_party/websockify/tests/load.html +0 -250
  1312. data/modules/emscripten/third_party/websockify/tests/load.py +0 -167
  1313. data/modules/emscripten/third_party/websockify/tests/plain_echo.html +0 -168
  1314. data/modules/emscripten/third_party/websockify/tests/simple.html +0 -68
  1315. data/modules/emscripten/third_party/websockify/tests/utf8-list.py +0 -22
  1316. data/modules/emscripten/third_party/websockify/websockify/__init__.py +0 -2
  1317. data/modules/emscripten/third_party/websockify/websockify/websocket.py +0 -982
  1318. data/modules/emscripten/third_party/websockify/websockify/websocketproxy.py +0 -393
  1319. data/modules/emscripten/third_party/websockify/websockify.py +0 -5
  1320. data/modules/emscripten/third_party/websockify/wsirc.html +0 -99
  1321. data/modules/emscripten/third_party/websockify/wstelnet.html +0 -74
  1322. data/modules/emscripten/tools/__init__.py +0 -0
  1323. data/modules/emscripten/tools/asm_module.py +0 -275
  1324. data/modules/emscripten/tools/autodebugger.py +0 -291
  1325. data/modules/emscripten/tools/autodebugger_c.py +0 -37
  1326. data/modules/emscripten/tools/autodebugger_indenter.py +0 -18
  1327. data/modules/emscripten/tools/autodebugger_js.py +0 -47
  1328. data/modules/emscripten/tools/autodediffer.py +0 -60
  1329. data/modules/emscripten/tools/bindings_generator.py +0 -832
  1330. data/modules/emscripten/tools/bisect_pair.py +0 -88
  1331. data/modules/emscripten/tools/cache.py +0 -196
  1332. data/modules/emscripten/tools/clean_webconsole.py +0 -34
  1333. data/modules/emscripten/tools/crunch-worker.js +0 -124
  1334. data/modules/emscripten/tools/diff_autodebugger.py +0 -15
  1335. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -307
  1336. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -382
  1337. data/modules/emscripten/tools/eliminator/eliminator-test-output.js +0 -6136
  1338. data/modules/emscripten/tools/eliminator/eliminator-test.js +0 -8879
  1339. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.html +0 -888
  1340. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.org +0 -463
  1341. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/bin/uglifyjs +0 -317
  1342. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/docstyle.css +0 -75
  1343. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/object-ast.js +0 -75
  1344. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js +0 -1363
  1345. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/process.js +0 -2005
  1346. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/squeeze-more.js +0 -51
  1347. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/package.json +0 -22
  1348. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/beautify.js +0 -28
  1349. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/testparser.js +0 -402
  1350. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array1.js +0 -1
  1351. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array2.js +0 -1
  1352. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array3.js +0 -1
  1353. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array4.js +0 -1
  1354. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/assignment.js +0 -1
  1355. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/concatstring.js +0 -1
  1356. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/const.js +0 -1
  1357. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js +0 -1
  1358. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/forstatement.js +0 -1
  1359. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/if.js +0 -1
  1360. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js +0 -1
  1361. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js +0 -1
  1362. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue10.js +0 -1
  1363. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue11.js +0 -1
  1364. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue13.js +0 -1
  1365. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue14.js +0 -1
  1366. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue16.js +0 -1
  1367. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue17.js +0 -1
  1368. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue20.js +0 -1
  1369. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue21.js +0 -1
  1370. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue25.js +0 -1
  1371. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue27.js +0 -1
  1372. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue28.js +0 -1
  1373. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue29.js +0 -1
  1374. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue30.js +0 -1
  1375. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue34.js +0 -1
  1376. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue4.js +0 -1
  1377. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue48.js +0 -1
  1378. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue50.js +0 -1
  1379. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue53.js +0 -1
  1380. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js +0 -1
  1381. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue68.js +0 -1
  1382. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue69.js +0 -1
  1383. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue9.js +0 -1
  1384. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/mangle.js +0 -1
  1385. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js +0 -1
  1386. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/var.js +0 -1
  1387. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/with.js +0 -1
  1388. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array1.js +0 -3
  1389. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array2.js +0 -4
  1390. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array3.js +0 -4
  1391. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array4.js +0 -6
  1392. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/assignment.js +0 -20
  1393. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/concatstring.js +0 -3
  1394. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/const.js +0 -5
  1395. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js +0 -4
  1396. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/forstatement.js +0 -10
  1397. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/if.js +0 -6
  1398. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn.js +0 -9
  1399. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js +0 -16
  1400. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue10.js +0 -1
  1401. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue11.js +0 -3
  1402. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue13.js +0 -1
  1403. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue14.js +0 -1
  1404. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue16.js +0 -1
  1405. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue17.js +0 -4
  1406. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue20.js +0 -1
  1407. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue21.js +0 -6
  1408. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue25.js +0 -7
  1409. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue27.js +0 -1
  1410. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue28.js +0 -3
  1411. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue29.js +0 -1
  1412. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue30.js +0 -3
  1413. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue34.js +0 -3
  1414. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue4.js +0 -3
  1415. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue48.js +0 -1
  1416. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue50.js +0 -9
  1417. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue53.js +0 -1
  1418. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue54.1.js +0 -3
  1419. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue68.js +0 -5
  1420. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue69.js +0 -1
  1421. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue9.js +0 -4
  1422. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/mangle.js +0 -5
  1423. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/strict-equals.js +0 -3
  1424. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/var.js +0 -3
  1425. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/with.js +0 -2
  1426. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/scripts.js +0 -55
  1427. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/hoist.js +0 -33
  1428. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument.js +0 -97
  1429. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument2.js +0 -138
  1430. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/test.js +0 -16
  1431. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/uglify-js.js +0 -17
  1432. data/modules/emscripten/tools/eliminator/safe-eliminator-test-output.js +0 -85
  1433. data/modules/emscripten/tools/eliminator/safe-eliminator-test.js +0 -103
  1434. data/modules/emscripten/tools/emconfiguren.py +0 -19
  1435. data/modules/emscripten/tools/emmaken.py +0 -230
  1436. data/modules/emscripten/tools/emmakenxx.py +0 -18
  1437. data/modules/emscripten/tools/exec_llvm.py +0 -50
  1438. data/modules/emscripten/tools/file2json.py +0 -49
  1439. data/modules/emscripten/tools/file_packager.py +0 -719
  1440. data/modules/emscripten/tools/find_bigfuncs.py +0 -23
  1441. data/modules/emscripten/tools/find_bigis.py +0 -18
  1442. data/modules/emscripten/tools/find_bigvars.py +0 -24
  1443. data/modules/emscripten/tools/fix_closure.py +0 -88
  1444. data/modules/emscripten/tools/gen_struct_info.py +0 -509
  1445. data/modules/emscripten/tools/ie7_fix.py +0 -14
  1446. data/modules/emscripten/tools/js-optimizer.js +0 -4023
  1447. data/modules/emscripten/tools/js_optimizer.py +0 -357
  1448. data/modules/emscripten/tools/jsrun.py +0 -37
  1449. data/modules/emscripten/tools/ll-strip.py +0 -56
  1450. data/modules/emscripten/tools/make_file.py +0 -19
  1451. data/modules/emscripten/tools/make_minigzip.py +0 -13
  1452. data/modules/emscripten/tools/merge_asm.py +0 -26
  1453. data/modules/emscripten/tools/namespacer.py +0 -95
  1454. data/modules/emscripten/tools/nativize_llvm.py +0 -34
  1455. data/modules/emscripten/tools/node_modules/source-map/CHANGELOG.md +0 -58
  1456. data/modules/emscripten/tools/node_modules/source-map/LICENSE +0 -28
  1457. data/modules/emscripten/tools/node_modules/source-map/Makefile.dryice.js +0 -166
  1458. data/modules/emscripten/tools/node_modules/source-map/README.md +0 -347
  1459. data/modules/emscripten/tools/node_modules/source-map/build/assert-shim.js +0 -56
  1460. data/modules/emscripten/tools/node_modules/source-map/build/mini-require.js +0 -152
  1461. data/modules/emscripten/tools/node_modules/source-map/build/prefix-source-map.jsm +0 -20
  1462. data/modules/emscripten/tools/node_modules/source-map/build/prefix-utils.jsm +0 -18
  1463. data/modules/emscripten/tools/node_modules/source-map/build/suffix-browser.js +0 -8
  1464. data/modules/emscripten/tools/node_modules/source-map/build/suffix-source-map.jsm +0 -6
  1465. data/modules/emscripten/tools/node_modules/source-map/build/suffix-utils.jsm +0 -21
  1466. data/modules/emscripten/tools/node_modules/source-map/build/test-prefix.js +0 -8
  1467. data/modules/emscripten/tools/node_modules/source-map/build/test-suffix.js +0 -3
  1468. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/array-set.js +0 -96
  1469. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64-vlq.js +0 -144
  1470. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64.js +0 -42
  1471. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/binary-search.js +0 -81
  1472. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-consumer.js +0 -430
  1473. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-generator.js +0 -381
  1474. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-node.js +0 -353
  1475. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/util.js +0 -117
  1476. data/modules/emscripten/tools/node_modules/source-map/lib/source-map.js +0 -8
  1477. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/LICENSE +0 -58
  1478. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/README.md +0 -119
  1479. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/amdefine.js +0 -299
  1480. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/package.json +0 -33
  1481. data/modules/emscripten/tools/node_modules/source-map/package.json +0 -74
  1482. data/modules/emscripten/tools/node_modules/source-map/test/run-tests.js +0 -73
  1483. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-api.js +0 -26
  1484. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-array-set.js +0 -71
  1485. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64-vlq.js +0 -24
  1486. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64.js +0 -35
  1487. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-binary-search.js +0 -54
  1488. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-dog-fooding.js +0 -72
  1489. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-consumer.js +0 -306
  1490. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-generator.js +0 -391
  1491. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-node.js +0 -282
  1492. data/modules/emscripten/tools/node_modules/source-map/test/source-map/util.js +0 -152
  1493. data/modules/emscripten/tools/reproduceriter.js +0 -216
  1494. data/modules/emscripten/tools/reproduceriter.py +0 -160
  1495. data/modules/emscripten/tools/response_file.py +0 -34
  1496. data/modules/emscripten/tools/scan_js.py +0 -20
  1497. data/modules/emscripten/tools/scan_ll.py +0 -18
  1498. data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/__init__.py +0 -3
  1499. data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/emscripten.py +0 -46
  1500. data/modules/emscripten/tools/settings_template_readonly.py +0 -49
  1501. data/modules/emscripten/tools/shared.py +0 -1705
  1502. data/modules/emscripten/tools/source-maps/sourcemap2json.js +0 -15
  1503. data/modules/emscripten/tools/source-maps/sourcemapper.js +0 -208
  1504. data/modules/emscripten/tools/split.py +0 -105
  1505. data/modules/emscripten/tools/split_asm.py +0 -30
  1506. data/modules/emscripten/tools/tempfiles.py +0 -41
  1507. data/modules/emscripten/tools/test-js-optimizer-asm-last-output.js +0 -75
  1508. data/modules/emscripten/tools/test-js-optimizer-asm-last.js +0 -91
  1509. data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +0 -2
  1510. data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +0 -8
  1511. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +0 -929
  1512. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +0 -351
  1513. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +0 -793
  1514. data/modules/emscripten/tools/test-js-optimizer-asm-outline2.js +0 -606
  1515. data/modules/emscripten/tools/test-js-optimizer-asm-outline3-output.js +0 -28
  1516. data/modules/emscripten/tools/test-js-optimizer-asm-outline3.js +0 -30
  1517. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -522
  1518. data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -533
  1519. data/modules/emscripten/tools/test-js-optimizer-asm-regs-min-output.js +0 -36
  1520. data/modules/emscripten/tools/test-js-optimizer-asm-regs-min.js +0 -37
  1521. data/modules/emscripten/tools/test-js-optimizer-asm-regs-output.js +0 -106
  1522. data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +0 -110
  1523. data/modules/emscripten/tools/test-js-optimizer-asm-relocate-output.js +0 -9
  1524. data/modules/emscripten/tools/test-js-optimizer-asm-relocate.js +0 -12
  1525. data/modules/emscripten/tools/test-js-optimizer-output.js +0 -291
  1526. data/modules/emscripten/tools/test-js-optimizer-regs-output.js +0 -232
  1527. data/modules/emscripten/tools/test-js-optimizer-regs.js +0 -237
  1528. data/modules/emscripten/tools/test-js-optimizer-t2-output.js +0 -91
  1529. data/modules/emscripten/tools/test-js-optimizer-t2.js +0 -92
  1530. data/modules/emscripten/tools/test-js-optimizer-t2c-output.js +0 -17
  1531. data/modules/emscripten/tools/test-js-optimizer-t2c.js +0 -18
  1532. data/modules/emscripten/tools/test-js-optimizer-t3-output.js +0 -49
  1533. data/modules/emscripten/tools/test-js-optimizer-t3.js +0 -50
  1534. data/modules/emscripten/tools/test-js-optimizer.js +0 -401
  1535. data/modules/emscripten/tools/validate_asmjs.py +0 -82
  1536. data/modules/mruby/mrblib/print.rb +0 -18
  1537. data/modules/mruby/src/re.h +0 -12
@@ -1,2418 +0,0 @@
1
- // -*- C++ -*-
2
- //===------------------------ functional ----------------------------------===//
3
- //
4
- // The LLVM Compiler Infrastructure
5
- //
6
- // This file is dual licensed under the MIT and the University of Illinois Open
7
- // Source Licenses. See LICENSE.TXT for details.
8
- //
9
- //===----------------------------------------------------------------------===//
10
-
11
- #ifndef _LIBCPP_FUNCTIONAL
12
- #define _LIBCPP_FUNCTIONAL
13
-
14
- /*
15
- functional synopsis
16
-
17
- namespace std
18
- {
19
-
20
- template <class Arg, class Result>
21
- struct unary_function
22
- {
23
- typedef Arg argument_type;
24
- typedef Result result_type;
25
- };
26
-
27
- template <class Arg1, class Arg2, class Result>
28
- struct binary_function
29
- {
30
- typedef Arg1 first_argument_type;
31
- typedef Arg2 second_argument_type;
32
- typedef Result result_type;
33
- };
34
-
35
- template <class T>
36
- class reference_wrapper
37
- : public unary_function<T1, R> // if wrapping a unary functor
38
- : public binary_function<T1, T2, R> // if wraping a binary functor
39
- {
40
- public:
41
- // types
42
- typedef T type;
43
- typedef see below result_type; // Not always defined
44
-
45
- // construct/copy/destroy
46
- reference_wrapper(T&) noexcept;
47
- reference_wrapper(T&&) = delete; // do not bind to temps
48
- reference_wrapper(const reference_wrapper<T>& x) noexcept;
49
-
50
- // assignment
51
- reference_wrapper& operator=(const reference_wrapper<T>& x) noexcept;
52
-
53
- // access
54
- operator T& () const noexcept;
55
- T& get() const noexcept;
56
-
57
- // invoke
58
- template <class... ArgTypes>
59
- typename result_of<T&(ArgTypes&&...)>::type
60
- operator() (ArgTypes&&...) const;
61
- };
62
-
63
- template <class T> reference_wrapper<T> ref(T& t) noexcept;
64
- template <class T> void ref(const T&& t) = delete;
65
- template <class T> reference_wrapper<T> ref(reference_wrapper<T>t) noexcept;
66
-
67
- template <class T> reference_wrapper<const T> cref(const T& t) noexcept;
68
- template <class T> void cref(const T&& t) = delete;
69
- template <class T> reference_wrapper<const T> cref(reference_wrapper<T> t) noexcept;
70
-
71
- template <class T> // <class T=void> in C++14
72
- struct plus : binary_function<T, T, T>
73
- {
74
- T operator()(const T& x, const T& y) const;
75
- };
76
-
77
- template <class T> // <class T=void> in C++14
78
- struct minus : binary_function<T, T, T>
79
- {
80
- T operator()(const T& x, const T& y) const;
81
- };
82
-
83
- template <class T> // <class T=void> in C++14
84
- struct multiplies : binary_function<T, T, T>
85
- {
86
- T operator()(const T& x, const T& y) const;
87
- };
88
-
89
- template <class T> // <class T=void> in C++14
90
- struct divides : binary_function<T, T, T>
91
- {
92
- T operator()(const T& x, const T& y) const;
93
- };
94
-
95
- template <class T> // <class T=void> in C++14
96
- struct modulus : binary_function<T, T, T>
97
- {
98
- T operator()(const T& x, const T& y) const;
99
- };
100
-
101
- template <class T> // <class T=void> in C++14
102
- struct negate : unary_function<T, T>
103
- {
104
- T operator()(const T& x) const;
105
- };
106
-
107
- template <class T> // <class T=void> in C++14
108
- struct equal_to : binary_function<T, T, bool>
109
- {
110
- bool operator()(const T& x, const T& y) const;
111
- };
112
-
113
- template <class T> // <class T=void> in C++14
114
- struct not_equal_to : binary_function<T, T, bool>
115
- {
116
- bool operator()(const T& x, const T& y) const;
117
- };
118
-
119
- template <class T> // <class T=void> in C++14
120
- struct greater : binary_function<T, T, bool>
121
- {
122
- bool operator()(const T& x, const T& y) const;
123
- };
124
-
125
- template <class T> // <class T=void> in C++14
126
- struct less : binary_function<T, T, bool>
127
- {
128
- bool operator()(const T& x, const T& y) const;
129
- };
130
-
131
- template <class T> // <class T=void> in C++14
132
- struct greater_equal : binary_function<T, T, bool>
133
- {
134
- bool operator()(const T& x, const T& y) const;
135
- };
136
-
137
- template <class T> // <class T=void> in C++14
138
- struct less_equal : binary_function<T, T, bool>
139
- {
140
- bool operator()(const T& x, const T& y) const;
141
- };
142
-
143
- template <class T> // <class T=void> in C++14
144
- struct logical_and : binary_function<T, T, bool>
145
- {
146
- bool operator()(const T& x, const T& y) const;
147
- };
148
-
149
- template <class T> // <class T=void> in C++14
150
- struct logical_or : binary_function<T, T, bool>
151
- {
152
- bool operator()(const T& x, const T& y) const;
153
- };
154
-
155
- template <class T> // <class T=void> in C++14
156
- struct logical_not : unary_function<T, bool>
157
- {
158
- bool operator()(const T& x) const;
159
- };
160
-
161
- template <class T> // <class T=void> in C++14
162
- struct bit_and : unary_function<T, bool>
163
- {
164
- bool operator()(const T& x, const T& y) const;
165
- };
166
-
167
- template <class T> // <class T=void> in C++14
168
- struct bit_or : unary_function<T, bool>
169
- {
170
- bool operator()(const T& x, const T& y) const;
171
- };
172
-
173
- template <class T> // <class T=void> in C++14
174
- struct bit_xor : unary_function<T, bool>
175
- {
176
- bool operator()(const T& x, const T& y) const;
177
- };
178
-
179
- template <class T=void> // C++14
180
- struct bit_xor : unary_function<T, bool>
181
- {
182
- bool operator()(const T& x) const;
183
- };
184
-
185
- template <class Predicate>
186
- class unary_negate
187
- : public unary_function<typename Predicate::argument_type, bool>
188
- {
189
- public:
190
- explicit unary_negate(const Predicate& pred);
191
- bool operator()(const typename Predicate::argument_type& x) const;
192
- };
193
-
194
- template <class Predicate> unary_negate<Predicate> not1(const Predicate& pred);
195
-
196
- template <class Predicate>
197
- class binary_negate
198
- : public binary_function<typename Predicate::first_argument_type,
199
- typename Predicate::second_argument_type,
200
- bool>
201
- {
202
- public:
203
- explicit binary_negate(const Predicate& pred);
204
- bool operator()(const typename Predicate::first_argument_type& x,
205
- const typename Predicate::second_argument_type& y) const;
206
- };
207
-
208
- template <class Predicate> binary_negate<Predicate> not2(const Predicate& pred);
209
-
210
- template<class T> struct is_bind_expression;
211
- template<class T> struct is_placeholder;
212
-
213
- template<class Fn, class... BoundArgs>
214
- unspecified bind(Fn&&, BoundArgs&&...);
215
- template<class R, class Fn, class... BoundArgs>
216
- unspecified bind(Fn&&, BoundArgs&&...);
217
-
218
- namespace placeholders {
219
- // M is the implementation-defined number of placeholders
220
- extern unspecified _1;
221
- extern unspecified _2;
222
- .
223
- .
224
- .
225
- extern unspecified _Mp;
226
- }
227
-
228
- template <class Operation>
229
- class binder1st
230
- : public unary_function<typename Operation::second_argument_type,
231
- typename Operation::result_type>
232
- {
233
- protected:
234
- Operation op;
235
- typename Operation::first_argument_type value;
236
- public:
237
- binder1st(const Operation& x, const typename Operation::first_argument_type y);
238
- typename Operation::result_type operator()( typename Operation::second_argument_type& x) const;
239
- typename Operation::result_type operator()(const typename Operation::second_argument_type& x) const;
240
- };
241
-
242
- template <class Operation, class T>
243
- binder1st<Operation> bind1st(const Operation& op, const T& x);
244
-
245
- template <class Operation>
246
- class binder2nd
247
- : public unary_function<typename Operation::first_argument_type,
248
- typename Operation::result_type>
249
- {
250
- protected:
251
- Operation op;
252
- typename Operation::second_argument_type value;
253
- public:
254
- binder2nd(const Operation& x, const typename Operation::second_argument_type y);
255
- typename Operation::result_type operator()( typename Operation::first_argument_type& x) const;
256
- typename Operation::result_type operator()(const typename Operation::first_argument_type& x) const;
257
- };
258
-
259
- template <class Operation, class T>
260
- binder2nd<Operation> bind2nd(const Operation& op, const T& x);
261
-
262
- template <class Arg, class Result>
263
- class pointer_to_unary_function : public unary_function<Arg, Result>
264
- {
265
- public:
266
- explicit pointer_to_unary_function(Result (*f)(Arg));
267
- Result operator()(Arg x) const;
268
- };
269
-
270
- template <class Arg, class Result>
271
- pointer_to_unary_function<Arg,Result> ptr_fun(Result (*f)(Arg));
272
-
273
- template <class Arg1, class Arg2, class Result>
274
- class pointer_to_binary_function : public binary_function<Arg1, Arg2, Result>
275
- {
276
- public:
277
- explicit pointer_to_binary_function(Result (*f)(Arg1, Arg2));
278
- Result operator()(Arg1 x, Arg2 y) const;
279
- };
280
-
281
- template <class Arg1, class Arg2, class Result>
282
- pointer_to_binary_function<Arg1,Arg2,Result> ptr_fun(Result (*f)(Arg1,Arg2));
283
-
284
- template<class S, class T>
285
- class mem_fun_t : public unary_function<T*, S>
286
- {
287
- public:
288
- explicit mem_fun_t(S (T::*p)());
289
- S operator()(T* p) const;
290
- };
291
-
292
- template<class S, class T, class A>
293
- class mem_fun1_t : public binary_function<T*, A, S>
294
- {
295
- public:
296
- explicit mem_fun1_t(S (T::*p)(A));
297
- S operator()(T* p, A x) const;
298
- };
299
-
300
- template<class S, class T> mem_fun_t<S,T> mem_fun(S (T::*f)());
301
- template<class S, class T, class A> mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A));
302
-
303
- template<class S, class T>
304
- class mem_fun_ref_t : public unary_function<T, S>
305
- {
306
- public:
307
- explicit mem_fun_ref_t(S (T::*p)());
308
- S operator()(T& p) const;
309
- };
310
-
311
- template<class S, class T, class A>
312
- class mem_fun1_ref_t : public binary_function<T, A, S>
313
- {
314
- public:
315
- explicit mem_fun1_ref_t(S (T::*p)(A));
316
- S operator()(T& p, A x) const;
317
- };
318
-
319
- template<class S, class T> mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)());
320
- template<class S, class T, class A> mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A));
321
-
322
- template <class S, class T>
323
- class const_mem_fun_t : public unary_function<const T*, S>
324
- {
325
- public:
326
- explicit const_mem_fun_t(S (T::*p)() const);
327
- S operator()(const T* p) const;
328
- };
329
-
330
- template <class S, class T, class A>
331
- class const_mem_fun1_t : public binary_function<const T*, A, S>
332
- {
333
- public:
334
- explicit const_mem_fun1_t(S (T::*p)(A) const);
335
- S operator()(const T* p, A x) const;
336
- };
337
-
338
- template <class S, class T> const_mem_fun_t<S,T> mem_fun(S (T::*f)() const);
339
- template <class S, class T, class A> const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const);
340
-
341
- template <class S, class T>
342
- class const_mem_fun_ref_t : public unary_function<T, S>
343
- {
344
- public:
345
- explicit const_mem_fun_ref_t(S (T::*p)() const);
346
- S operator()(const T& p) const;
347
- };
348
-
349
- template <class S, class T, class A>
350
- class const_mem_fun1_ref_t : public binary_function<T, A, S>
351
- {
352
- public:
353
- explicit const_mem_fun1_ref_t(S (T::*p)(A) const);
354
- S operator()(const T& p, A x) const;
355
- };
356
-
357
- template <class S, class T> const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const);
358
- template <class S, class T, class A> const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const);
359
-
360
- template<class R, class T> unspecified mem_fn(R T::*);
361
-
362
- class bad_function_call
363
- : public exception
364
- {
365
- };
366
-
367
- template<class> class function; // undefined
368
-
369
- template<class R, class... ArgTypes>
370
- class function<R(ArgTypes...)>
371
- : public unary_function<T1, R> // iff sizeof...(ArgTypes) == 1 and
372
- // ArgTypes contains T1
373
- : public binary_function<T1, T2, R> // iff sizeof...(ArgTypes) == 2 and
374
- // ArgTypes contains T1 and T2
375
- {
376
- public:
377
- typedef R result_type;
378
-
379
- // construct/copy/destroy:
380
- function() noexcept;
381
- function(nullptr_t) noexcept;
382
- function(const function&);
383
- function(function&&) noexcept;
384
- template<class F>
385
- function(F);
386
- template<Allocator Alloc>
387
- function(allocator_arg_t, const Alloc&) noexcept;
388
- template<Allocator Alloc>
389
- function(allocator_arg_t, const Alloc&, nullptr_t) noexcept;
390
- template<Allocator Alloc>
391
- function(allocator_arg_t, const Alloc&, const function&);
392
- template<Allocator Alloc>
393
- function(allocator_arg_t, const Alloc&, function&&);
394
- template<class F, Allocator Alloc>
395
- function(allocator_arg_t, const Alloc&, F);
396
-
397
- function& operator=(const function&);
398
- function& operator=(function&&) noexcept;
399
- function& operator=(nullptr_t) noexcept;
400
- template<class F>
401
- function& operator=(F&&);
402
- template<class F>
403
- function& operator=(reference_wrapper<F>) noexcept;
404
-
405
- ~function();
406
-
407
- // function modifiers:
408
- void swap(function&) noexcept;
409
- template<class F, class Alloc>
410
- void assign(F&&, const Alloc&);
411
-
412
- // function capacity:
413
- explicit operator bool() const noexcept;
414
-
415
- // function invocation:
416
- R operator()(ArgTypes...) const;
417
-
418
- // function target access:
419
- const std::type_info& target_type() const noexcept;
420
- template <typename T> T* target() noexcept;
421
- template <typename T> const T* target() const noexcept;
422
- };
423
-
424
- // Null pointer comparisons:
425
- template <class R, class ... ArgTypes>
426
- bool operator==(const function<R(ArgTypes...)>&, nullptr_t) noexcept;
427
-
428
- template <class R, class ... ArgTypes>
429
- bool operator==(nullptr_t, const function<R(ArgTypes...)>&) noexcept;
430
-
431
- template <class R, class ... ArgTypes>
432
- bool operator!=(const function<R(ArgTypes...)>&, nullptr_t) noexcept;
433
-
434
- template <class R, class ... ArgTypes>
435
- bool operator!=(nullptr_t, const function<R(ArgTypes...)>&) noexcept;
436
-
437
- // specialized algorithms:
438
- template <class R, class ... ArgTypes>
439
- void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&) noexcept;
440
-
441
- template <class T> struct hash;
442
-
443
- template <> struct hash<bool>;
444
- template <> struct hash<char>;
445
- template <> struct hash<signed char>;
446
- template <> struct hash<unsigned char>;
447
- template <> struct hash<char16_t>;
448
- template <> struct hash<char32_t>;
449
- template <> struct hash<wchar_t>;
450
- template <> struct hash<short>;
451
- template <> struct hash<unsigned short>;
452
- template <> struct hash<int>;
453
- template <> struct hash<unsigned int>;
454
- template <> struct hash<long>;
455
- template <> struct hash<long long>;
456
- template <> struct hash<unsigned long>;
457
- template <> struct hash<unsigned long long>;
458
-
459
- template <> struct hash<float>;
460
- template <> struct hash<double>;
461
- template <> struct hash<long double>;
462
-
463
- template<class T> struct hash<T*>;
464
-
465
- } // std
466
-
467
- POLICY: For non-variadic implementations, the number of arguments is limited
468
- to 3. It is hoped that the need for non-variadic implementations
469
- will be minimal.
470
-
471
- */
472
-
473
- #include <__config>
474
- #include <type_traits>
475
- #include <typeinfo>
476
- #include <exception>
477
- #include <memory>
478
- #include <tuple>
479
-
480
- #include <__functional_base>
481
-
482
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
483
- #pragma GCC system_header
484
- #endif
485
-
486
- _LIBCPP_BEGIN_NAMESPACE_STD
487
-
488
- #if _LIBCPP_STD_VER > 11
489
- template <class _Tp = void>
490
- #else
491
- template <class _Tp>
492
- #endif
493
- struct _LIBCPP_TYPE_VIS_ONLY plus : binary_function<_Tp, _Tp, _Tp>
494
- {
495
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
496
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
497
- {return __x + __y;}
498
- };
499
-
500
- #if _LIBCPP_STD_VER > 11
501
- template <>
502
- struct _LIBCPP_TYPE_VIS_ONLY plus<void>
503
- {
504
- template <class _T1, class _T2>
505
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
506
- auto operator()(_T1&& __t, _T2&& __u) const
507
- { return _VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u); }
508
- typedef void is_transparent;
509
- };
510
- #endif
511
-
512
-
513
- #if _LIBCPP_STD_VER > 11
514
- template <class _Tp = void>
515
- #else
516
- template <class _Tp>
517
- #endif
518
- struct _LIBCPP_TYPE_VIS_ONLY minus : binary_function<_Tp, _Tp, _Tp>
519
- {
520
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
521
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
522
- {return __x - __y;}
523
- };
524
-
525
- #if _LIBCPP_STD_VER > 11
526
- template <>
527
- struct _LIBCPP_TYPE_VIS_ONLY minus<void>
528
- {
529
- template <class _T1, class _T2>
530
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
531
- auto operator()(_T1&& __t, _T2&& __u) const
532
- { return _VSTD::forward<_T1>(__t) - _VSTD::forward<_T2>(__u); }
533
- typedef void is_transparent;
534
- };
535
- #endif
536
-
537
-
538
- #if _LIBCPP_STD_VER > 11
539
- template <class _Tp = void>
540
- #else
541
- template <class _Tp>
542
- #endif
543
- struct _LIBCPP_TYPE_VIS_ONLY multiplies : binary_function<_Tp, _Tp, _Tp>
544
- {
545
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
546
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
547
- {return __x * __y;}
548
- };
549
-
550
- #if _LIBCPP_STD_VER > 11
551
- template <>
552
- struct _LIBCPP_TYPE_VIS_ONLY multiplies<void>
553
- {
554
- template <class _T1, class _T2>
555
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
556
- auto operator()(_T1&& __t, _T2&& __u) const
557
- { return _VSTD::forward<_T1>(__t) * _VSTD::forward<_T2>(__u); }
558
- typedef void is_transparent;
559
- };
560
- #endif
561
-
562
-
563
- #if _LIBCPP_STD_VER > 11
564
- template <class _Tp = void>
565
- #else
566
- template <class _Tp>
567
- #endif
568
- struct _LIBCPP_TYPE_VIS_ONLY divides : binary_function<_Tp, _Tp, _Tp>
569
- {
570
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
571
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
572
- {return __x / __y;}
573
- };
574
-
575
- #if _LIBCPP_STD_VER > 11
576
- template <>
577
- struct _LIBCPP_TYPE_VIS_ONLY divides<void>
578
- {
579
- template <class _T1, class _T2>
580
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
581
- auto operator()(_T1&& __t, _T2&& __u) const
582
- { return _VSTD::forward<_T1>(__t) / _VSTD::forward<_T2>(__u); }
583
- typedef void is_transparent;
584
- };
585
- #endif
586
-
587
-
588
- #if _LIBCPP_STD_VER > 11
589
- template <class _Tp = void>
590
- #else
591
- template <class _Tp>
592
- #endif
593
- struct _LIBCPP_TYPE_VIS_ONLY modulus : binary_function<_Tp, _Tp, _Tp>
594
- {
595
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
596
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
597
- {return __x % __y;}
598
- };
599
-
600
- #if _LIBCPP_STD_VER > 11
601
- template <>
602
- struct _LIBCPP_TYPE_VIS_ONLY modulus<void>
603
- {
604
- template <class _T1, class _T2>
605
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
606
- auto operator()(_T1&& __t, _T2&& __u) const
607
- { return _VSTD::forward<_T1>(__t) % _VSTD::forward<_T2>(__u); }
608
- typedef void is_transparent;
609
- };
610
- #endif
611
-
612
-
613
- #if _LIBCPP_STD_VER > 11
614
- template <class _Tp = void>
615
- #else
616
- template <class _Tp>
617
- #endif
618
- struct _LIBCPP_TYPE_VIS_ONLY negate : unary_function<_Tp, _Tp>
619
- {
620
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
621
- _Tp operator()(const _Tp& __x) const
622
- {return -__x;}
623
- };
624
-
625
- #if _LIBCPP_STD_VER > 11
626
- template <>
627
- struct _LIBCPP_TYPE_VIS_ONLY negate<void>
628
- {
629
- template <class _Tp>
630
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
631
- auto operator()(_Tp&& __x) const
632
- { return -_VSTD::forward<_Tp>(__x); }
633
- typedef void is_transparent;
634
- };
635
- #endif
636
-
637
-
638
- #if _LIBCPP_STD_VER > 11
639
- template <class _Tp = void>
640
- #else
641
- template <class _Tp>
642
- #endif
643
- struct _LIBCPP_TYPE_VIS_ONLY equal_to : binary_function<_Tp, _Tp, bool>
644
- {
645
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
646
- bool operator()(const _Tp& __x, const _Tp& __y) const
647
- {return __x == __y;}
648
- };
649
-
650
- #if _LIBCPP_STD_VER > 11
651
- template <>
652
- struct _LIBCPP_TYPE_VIS_ONLY equal_to<void>
653
- {
654
- template <class _T1, class _T2>
655
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
656
- auto operator()(_T1&& __t, _T2&& __u) const
657
- { return _VSTD::forward<_T1>(__t) == _VSTD::forward<_T2>(__u); }
658
- typedef void is_transparent;
659
- };
660
- #endif
661
-
662
-
663
- #if _LIBCPP_STD_VER > 11
664
- template <class _Tp = void>
665
- #else
666
- template <class _Tp>
667
- #endif
668
- struct _LIBCPP_TYPE_VIS_ONLY not_equal_to : binary_function<_Tp, _Tp, bool>
669
- {
670
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
671
- bool operator()(const _Tp& __x, const _Tp& __y) const
672
- {return __x != __y;}
673
- };
674
-
675
- #if _LIBCPP_STD_VER > 11
676
- template <>
677
- struct _LIBCPP_TYPE_VIS_ONLY not_equal_to<void>
678
- {
679
- template <class _T1, class _T2>
680
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
681
- auto operator()(_T1&& __t, _T2&& __u) const
682
- { return _VSTD::forward<_T1>(__t) != _VSTD::forward<_T2>(__u); }
683
- typedef void is_transparent;
684
- };
685
- #endif
686
-
687
-
688
- #if _LIBCPP_STD_VER > 11
689
- template <class _Tp = void>
690
- #else
691
- template <class _Tp>
692
- #endif
693
- struct _LIBCPP_TYPE_VIS_ONLY greater : binary_function<_Tp, _Tp, bool>
694
- {
695
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
696
- bool operator()(const _Tp& __x, const _Tp& __y) const
697
- {return __x > __y;}
698
- };
699
-
700
- #if _LIBCPP_STD_VER > 11
701
- template <>
702
- struct _LIBCPP_TYPE_VIS_ONLY greater<void>
703
- {
704
- template <class _T1, class _T2>
705
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
706
- auto operator()(_T1&& __t, _T2&& __u) const
707
- { return _VSTD::forward<_T1>(__t) > _VSTD::forward<_T2>(__u); }
708
- typedef void is_transparent;
709
- };
710
- #endif
711
-
712
-
713
- // less in <__functional_base>
714
-
715
- #if _LIBCPP_STD_VER > 11
716
- template <class _Tp = void>
717
- #else
718
- template <class _Tp>
719
- #endif
720
- struct _LIBCPP_TYPE_VIS_ONLY greater_equal : binary_function<_Tp, _Tp, bool>
721
- {
722
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
723
- bool operator()(const _Tp& __x, const _Tp& __y) const
724
- {return __x >= __y;}
725
- };
726
-
727
- #if _LIBCPP_STD_VER > 11
728
- template <>
729
- struct _LIBCPP_TYPE_VIS_ONLY greater_equal<void>
730
- {
731
- template <class _T1, class _T2>
732
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
733
- auto operator()(_T1&& __t, _T2&& __u) const
734
- { return _VSTD::forward<_T1>(__t) >= _VSTD::forward<_T2>(__u); }
735
- typedef void is_transparent;
736
- };
737
- #endif
738
-
739
-
740
- #if _LIBCPP_STD_VER > 11
741
- template <class _Tp = void>
742
- #else
743
- template <class _Tp>
744
- #endif
745
- struct _LIBCPP_TYPE_VIS_ONLY less_equal : binary_function<_Tp, _Tp, bool>
746
- {
747
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
748
- bool operator()(const _Tp& __x, const _Tp& __y) const
749
- {return __x <= __y;}
750
- };
751
-
752
- #if _LIBCPP_STD_VER > 11
753
- template <>
754
- struct _LIBCPP_TYPE_VIS_ONLY less_equal<void>
755
- {
756
- template <class _T1, class _T2>
757
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
758
- auto operator()(_T1&& __t, _T2&& __u) const
759
- { return _VSTD::forward<_T1>(__t) <= _VSTD::forward<_T2>(__u); }
760
- typedef void is_transparent;
761
- };
762
- #endif
763
-
764
-
765
- #if _LIBCPP_STD_VER > 11
766
- template <class _Tp = void>
767
- #else
768
- template <class _Tp>
769
- #endif
770
- struct _LIBCPP_TYPE_VIS_ONLY logical_and : binary_function<_Tp, _Tp, bool>
771
- {
772
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
773
- bool operator()(const _Tp& __x, const _Tp& __y) const
774
- {return __x && __y;}
775
- };
776
-
777
- #if _LIBCPP_STD_VER > 11
778
- template <>
779
- struct _LIBCPP_TYPE_VIS_ONLY logical_and<void>
780
- {
781
- template <class _T1, class _T2>
782
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
783
- auto operator()(_T1&& __t, _T2&& __u) const
784
- { return _VSTD::forward<_T1>(__t) && _VSTD::forward<_T2>(__u); }
785
- typedef void is_transparent;
786
- };
787
- #endif
788
-
789
-
790
- #if _LIBCPP_STD_VER > 11
791
- template <class _Tp = void>
792
- #else
793
- template <class _Tp>
794
- #endif
795
- struct _LIBCPP_TYPE_VIS_ONLY logical_or : binary_function<_Tp, _Tp, bool>
796
- {
797
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
798
- bool operator()(const _Tp& __x, const _Tp& __y) const
799
- {return __x || __y;}
800
- };
801
-
802
- #if _LIBCPP_STD_VER > 11
803
- template <>
804
- struct _LIBCPP_TYPE_VIS_ONLY logical_or<void>
805
- {
806
- template <class _T1, class _T2>
807
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
808
- auto operator()(_T1&& __t, _T2&& __u) const
809
- { return _VSTD::forward<_T1>(__t) || _VSTD::forward<_T2>(__u); }
810
- typedef void is_transparent;
811
- };
812
- #endif
813
-
814
-
815
- #if _LIBCPP_STD_VER > 11
816
- template <class _Tp = void>
817
- #else
818
- template <class _Tp>
819
- #endif
820
- struct _LIBCPP_TYPE_VIS_ONLY logical_not : unary_function<_Tp, bool>
821
- {
822
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
823
- bool operator()(const _Tp& __x) const
824
- {return !__x;}
825
- };
826
-
827
- #if _LIBCPP_STD_VER > 11
828
- template <>
829
- struct _LIBCPP_TYPE_VIS_ONLY logical_not<void>
830
- {
831
- template <class _Tp>
832
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
833
- auto operator()(_Tp&& __x) const
834
- { return !_VSTD::forward<_Tp>(__x); }
835
- typedef void is_transparent;
836
- };
837
- #endif
838
-
839
-
840
- #if _LIBCPP_STD_VER > 11
841
- template <class _Tp = void>
842
- #else
843
- template <class _Tp>
844
- #endif
845
- struct _LIBCPP_TYPE_VIS_ONLY bit_and : binary_function<_Tp, _Tp, _Tp>
846
- {
847
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
848
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
849
- {return __x & __y;}
850
- };
851
-
852
- #if _LIBCPP_STD_VER > 11
853
- template <>
854
- struct _LIBCPP_TYPE_VIS_ONLY bit_and<void>
855
- {
856
- template <class _T1, class _T2>
857
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
858
- auto operator()(_T1&& __t, _T2&& __u) const
859
- { return _VSTD::forward<_T1>(__t) & _VSTD::forward<_T2>(__u); }
860
- typedef void is_transparent;
861
- };
862
- #endif
863
-
864
-
865
- #if _LIBCPP_STD_VER > 11
866
- template <class _Tp = void>
867
- #else
868
- template <class _Tp>
869
- #endif
870
- struct _LIBCPP_TYPE_VIS_ONLY bit_or : binary_function<_Tp, _Tp, _Tp>
871
- {
872
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
873
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
874
- {return __x | __y;}
875
- };
876
-
877
- #if _LIBCPP_STD_VER > 11
878
- template <>
879
- struct _LIBCPP_TYPE_VIS_ONLY bit_or<void>
880
- {
881
- template <class _T1, class _T2>
882
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
883
- auto operator()(_T1&& __t, _T2&& __u) const
884
- { return _VSTD::forward<_T1>(__t) | _VSTD::forward<_T2>(__u); }
885
- typedef void is_transparent;
886
- };
887
- #endif
888
-
889
-
890
- #if _LIBCPP_STD_VER > 11
891
- template <class _Tp = void>
892
- #else
893
- template <class _Tp>
894
- #endif
895
- struct _LIBCPP_TYPE_VIS_ONLY bit_xor : binary_function<_Tp, _Tp, _Tp>
896
- {
897
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
898
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
899
- {return __x ^ __y;}
900
- };
901
-
902
- #if _LIBCPP_STD_VER > 11
903
- template <>
904
- struct _LIBCPP_TYPE_VIS_ONLY bit_xor<void>
905
- {
906
- template <class _T1, class _T2>
907
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
908
- auto operator()(_T1&& __t, _T2&& __u) const
909
- { return _VSTD::forward<_T1>(__t) ^ _VSTD::forward<_T2>(__u); }
910
- typedef void is_transparent;
911
- };
912
- #endif
913
-
914
-
915
- #if _LIBCPP_STD_VER > 11
916
- template <class _Tp = void>
917
- struct _LIBCPP_TYPE_VIS_ONLY bit_not : unary_function<_Tp, _Tp>
918
- {
919
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
920
- _Tp operator()(const _Tp& __x) const
921
- {return ~__x;}
922
- };
923
-
924
- template <>
925
- struct _LIBCPP_TYPE_VIS_ONLY bit_not<void>
926
- {
927
- template <class _Tp>
928
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
929
- auto operator()(_Tp&& __x) const
930
- { return ~_VSTD::forward<_Tp>(__x); }
931
- typedef void is_transparent;
932
- };
933
- #endif
934
-
935
- template <class _Predicate>
936
- class _LIBCPP_TYPE_VIS_ONLY unary_negate
937
- : public unary_function<typename _Predicate::argument_type, bool>
938
- {
939
- _Predicate __pred_;
940
- public:
941
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
942
- explicit unary_negate(const _Predicate& __pred)
943
- : __pred_(__pred) {}
944
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
945
- bool operator()(const typename _Predicate::argument_type& __x) const
946
- {return !__pred_(__x);}
947
- };
948
-
949
- template <class _Predicate>
950
- inline _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
951
- unary_negate<_Predicate>
952
- not1(const _Predicate& __pred) {return unary_negate<_Predicate>(__pred);}
953
-
954
- template <class _Predicate>
955
- class _LIBCPP_TYPE_VIS_ONLY binary_negate
956
- : public binary_function<typename _Predicate::first_argument_type,
957
- typename _Predicate::second_argument_type,
958
- bool>
959
- {
960
- _Predicate __pred_;
961
- public:
962
- _LIBCPP_INLINE_VISIBILITY explicit _LIBCPP_CONSTEXPR_AFTER_CXX11
963
- binary_negate(const _Predicate& __pred) : __pred_(__pred) {}
964
-
965
- _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
966
- bool operator()(const typename _Predicate::first_argument_type& __x,
967
- const typename _Predicate::second_argument_type& __y) const
968
- {return !__pred_(__x, __y);}
969
- };
970
-
971
- template <class _Predicate>
972
- inline _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
973
- binary_negate<_Predicate>
974
- not2(const _Predicate& __pred) {return binary_negate<_Predicate>(__pred);}
975
-
976
- template <class __Operation>
977
- class _LIBCPP_TYPE_VIS_ONLY binder1st
978
- : public unary_function<typename __Operation::second_argument_type,
979
- typename __Operation::result_type>
980
- {
981
- protected:
982
- __Operation op;
983
- typename __Operation::first_argument_type value;
984
- public:
985
- _LIBCPP_INLINE_VISIBILITY binder1st(const __Operation& __x,
986
- const typename __Operation::first_argument_type __y)
987
- : op(__x), value(__y) {}
988
- _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
989
- (typename __Operation::second_argument_type& __x) const
990
- {return op(value, __x);}
991
- _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
992
- (const typename __Operation::second_argument_type& __x) const
993
- {return op(value, __x);}
994
- };
995
-
996
- template <class __Operation, class _Tp>
997
- inline _LIBCPP_INLINE_VISIBILITY
998
- binder1st<__Operation>
999
- bind1st(const __Operation& __op, const _Tp& __x)
1000
- {return binder1st<__Operation>(__op, __x);}
1001
-
1002
- template <class __Operation>
1003
- class _LIBCPP_TYPE_VIS_ONLY binder2nd
1004
- : public unary_function<typename __Operation::first_argument_type,
1005
- typename __Operation::result_type>
1006
- {
1007
- protected:
1008
- __Operation op;
1009
- typename __Operation::second_argument_type value;
1010
- public:
1011
- _LIBCPP_INLINE_VISIBILITY
1012
- binder2nd(const __Operation& __x, const typename __Operation::second_argument_type __y)
1013
- : op(__x), value(__y) {}
1014
- _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
1015
- ( typename __Operation::first_argument_type& __x) const
1016
- {return op(__x, value);}
1017
- _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
1018
- (const typename __Operation::first_argument_type& __x) const
1019
- {return op(__x, value);}
1020
- };
1021
-
1022
- template <class __Operation, class _Tp>
1023
- inline _LIBCPP_INLINE_VISIBILITY
1024
- binder2nd<__Operation>
1025
- bind2nd(const __Operation& __op, const _Tp& __x)
1026
- {return binder2nd<__Operation>(__op, __x);}
1027
-
1028
- template <class _Arg, class _Result>
1029
- class _LIBCPP_TYPE_VIS_ONLY pointer_to_unary_function
1030
- : public unary_function<_Arg, _Result>
1031
- {
1032
- _Result (*__f_)(_Arg);
1033
- public:
1034
- _LIBCPP_INLINE_VISIBILITY explicit pointer_to_unary_function(_Result (*__f)(_Arg))
1035
- : __f_(__f) {}
1036
- _LIBCPP_INLINE_VISIBILITY _Result operator()(_Arg __x) const
1037
- {return __f_(__x);}
1038
- };
1039
-
1040
- template <class _Arg, class _Result>
1041
- inline _LIBCPP_INLINE_VISIBILITY
1042
- pointer_to_unary_function<_Arg,_Result>
1043
- ptr_fun(_Result (*__f)(_Arg))
1044
- {return pointer_to_unary_function<_Arg,_Result>(__f);}
1045
-
1046
- template <class _Arg1, class _Arg2, class _Result>
1047
- class _LIBCPP_TYPE_VIS_ONLY pointer_to_binary_function
1048
- : public binary_function<_Arg1, _Arg2, _Result>
1049
- {
1050
- _Result (*__f_)(_Arg1, _Arg2);
1051
- public:
1052
- _LIBCPP_INLINE_VISIBILITY explicit pointer_to_binary_function(_Result (*__f)(_Arg1, _Arg2))
1053
- : __f_(__f) {}
1054
- _LIBCPP_INLINE_VISIBILITY _Result operator()(_Arg1 __x, _Arg2 __y) const
1055
- {return __f_(__x, __y);}
1056
- };
1057
-
1058
- template <class _Arg1, class _Arg2, class _Result>
1059
- inline _LIBCPP_INLINE_VISIBILITY
1060
- pointer_to_binary_function<_Arg1,_Arg2,_Result>
1061
- ptr_fun(_Result (*__f)(_Arg1,_Arg2))
1062
- {return pointer_to_binary_function<_Arg1,_Arg2,_Result>(__f);}
1063
-
1064
- template<class _Sp, class _Tp>
1065
- class _LIBCPP_TYPE_VIS_ONLY mem_fun_t : public unary_function<_Tp*, _Sp>
1066
- {
1067
- _Sp (_Tp::*__p_)();
1068
- public:
1069
- _LIBCPP_INLINE_VISIBILITY explicit mem_fun_t(_Sp (_Tp::*__p)())
1070
- : __p_(__p) {}
1071
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp* __p) const
1072
- {return (__p->*__p_)();}
1073
- };
1074
-
1075
- template<class _Sp, class _Tp, class _Ap>
1076
- class _LIBCPP_TYPE_VIS_ONLY mem_fun1_t : public binary_function<_Tp*, _Ap, _Sp>
1077
- {
1078
- _Sp (_Tp::*__p_)(_Ap);
1079
- public:
1080
- _LIBCPP_INLINE_VISIBILITY explicit mem_fun1_t(_Sp (_Tp::*__p)(_Ap))
1081
- : __p_(__p) {}
1082
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp* __p, _Ap __x) const
1083
- {return (__p->*__p_)(__x);}
1084
- };
1085
-
1086
- template<class _Sp, class _Tp>
1087
- inline _LIBCPP_INLINE_VISIBILITY
1088
- mem_fun_t<_Sp,_Tp>
1089
- mem_fun(_Sp (_Tp::*__f)())
1090
- {return mem_fun_t<_Sp,_Tp>(__f);}
1091
-
1092
- template<class _Sp, class _Tp, class _Ap>
1093
- inline _LIBCPP_INLINE_VISIBILITY
1094
- mem_fun1_t<_Sp,_Tp,_Ap>
1095
- mem_fun(_Sp (_Tp::*__f)(_Ap))
1096
- {return mem_fun1_t<_Sp,_Tp,_Ap>(__f);}
1097
-
1098
- template<class _Sp, class _Tp>
1099
- class _LIBCPP_TYPE_VIS_ONLY mem_fun_ref_t : public unary_function<_Tp, _Sp>
1100
- {
1101
- _Sp (_Tp::*__p_)();
1102
- public:
1103
- _LIBCPP_INLINE_VISIBILITY explicit mem_fun_ref_t(_Sp (_Tp::*__p)())
1104
- : __p_(__p) {}
1105
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp& __p) const
1106
- {return (__p.*__p_)();}
1107
- };
1108
-
1109
- template<class _Sp, class _Tp, class _Ap>
1110
- class _LIBCPP_TYPE_VIS_ONLY mem_fun1_ref_t : public binary_function<_Tp, _Ap, _Sp>
1111
- {
1112
- _Sp (_Tp::*__p_)(_Ap);
1113
- public:
1114
- _LIBCPP_INLINE_VISIBILITY explicit mem_fun1_ref_t(_Sp (_Tp::*__p)(_Ap))
1115
- : __p_(__p) {}
1116
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp& __p, _Ap __x) const
1117
- {return (__p.*__p_)(__x);}
1118
- };
1119
-
1120
- template<class _Sp, class _Tp>
1121
- inline _LIBCPP_INLINE_VISIBILITY
1122
- mem_fun_ref_t<_Sp,_Tp>
1123
- mem_fun_ref(_Sp (_Tp::*__f)())
1124
- {return mem_fun_ref_t<_Sp,_Tp>(__f);}
1125
-
1126
- template<class _Sp, class _Tp, class _Ap>
1127
- inline _LIBCPP_INLINE_VISIBILITY
1128
- mem_fun1_ref_t<_Sp,_Tp,_Ap>
1129
- mem_fun_ref(_Sp (_Tp::*__f)(_Ap))
1130
- {return mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);}
1131
-
1132
- template <class _Sp, class _Tp>
1133
- class _LIBCPP_TYPE_VIS_ONLY const_mem_fun_t : public unary_function<const _Tp*, _Sp>
1134
- {
1135
- _Sp (_Tp::*__p_)() const;
1136
- public:
1137
- _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun_t(_Sp (_Tp::*__p)() const)
1138
- : __p_(__p) {}
1139
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp* __p) const
1140
- {return (__p->*__p_)();}
1141
- };
1142
-
1143
- template <class _Sp, class _Tp, class _Ap>
1144
- class _LIBCPP_TYPE_VIS_ONLY const_mem_fun1_t : public binary_function<const _Tp*, _Ap, _Sp>
1145
- {
1146
- _Sp (_Tp::*__p_)(_Ap) const;
1147
- public:
1148
- _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun1_t(_Sp (_Tp::*__p)(_Ap) const)
1149
- : __p_(__p) {}
1150
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp* __p, _Ap __x) const
1151
- {return (__p->*__p_)(__x);}
1152
- };
1153
-
1154
- template <class _Sp, class _Tp>
1155
- inline _LIBCPP_INLINE_VISIBILITY
1156
- const_mem_fun_t<_Sp,_Tp>
1157
- mem_fun(_Sp (_Tp::*__f)() const)
1158
- {return const_mem_fun_t<_Sp,_Tp>(__f);}
1159
-
1160
- template <class _Sp, class _Tp, class _Ap>
1161
- inline _LIBCPP_INLINE_VISIBILITY
1162
- const_mem_fun1_t<_Sp,_Tp,_Ap>
1163
- mem_fun(_Sp (_Tp::*__f)(_Ap) const)
1164
- {return const_mem_fun1_t<_Sp,_Tp,_Ap>(__f);}
1165
-
1166
- template <class _Sp, class _Tp>
1167
- class _LIBCPP_TYPE_VIS_ONLY const_mem_fun_ref_t : public unary_function<_Tp, _Sp>
1168
- {
1169
- _Sp (_Tp::*__p_)() const;
1170
- public:
1171
- _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun_ref_t(_Sp (_Tp::*__p)() const)
1172
- : __p_(__p) {}
1173
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp& __p) const
1174
- {return (__p.*__p_)();}
1175
- };
1176
-
1177
- template <class _Sp, class _Tp, class _Ap>
1178
- class _LIBCPP_TYPE_VIS_ONLY const_mem_fun1_ref_t
1179
- : public binary_function<_Tp, _Ap, _Sp>
1180
- {
1181
- _Sp (_Tp::*__p_)(_Ap) const;
1182
- public:
1183
- _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun1_ref_t(_Sp (_Tp::*__p)(_Ap) const)
1184
- : __p_(__p) {}
1185
- _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp& __p, _Ap __x) const
1186
- {return (__p.*__p_)(__x);}
1187
- };
1188
-
1189
- template <class _Sp, class _Tp>
1190
- inline _LIBCPP_INLINE_VISIBILITY
1191
- const_mem_fun_ref_t<_Sp,_Tp>
1192
- mem_fun_ref(_Sp (_Tp::*__f)() const)
1193
- {return const_mem_fun_ref_t<_Sp,_Tp>(__f);}
1194
-
1195
- template <class _Sp, class _Tp, class _Ap>
1196
- inline _LIBCPP_INLINE_VISIBILITY
1197
- const_mem_fun1_ref_t<_Sp,_Tp,_Ap>
1198
- mem_fun_ref(_Sp (_Tp::*__f)(_Ap) const)
1199
- {return const_mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);}
1200
-
1201
- #ifdef _LIBCPP_HAS_NO_VARIADICS
1202
-
1203
- #include <__functional_03>
1204
-
1205
- #else // _LIBCPP_HAS_NO_VARIADICS
1206
-
1207
- template <class _Tp>
1208
- class __mem_fn
1209
- : public __weak_result_type<_Tp>
1210
- {
1211
- public:
1212
- // types
1213
- typedef _Tp type;
1214
- private:
1215
- type __f_;
1216
-
1217
- public:
1218
- _LIBCPP_INLINE_VISIBILITY __mem_fn(type __f) : __f_(__f) {}
1219
-
1220
- // invoke
1221
- template <class... _ArgTypes>
1222
- _LIBCPP_INLINE_VISIBILITY
1223
- typename __invoke_return<type, _ArgTypes...>::type
1224
- operator() (_ArgTypes&&... __args)
1225
- {
1226
- return __invoke(__f_, _VSTD::forward<_ArgTypes>(__args)...);
1227
- }
1228
- };
1229
-
1230
- template<class _Rp, class _Tp>
1231
- inline _LIBCPP_INLINE_VISIBILITY
1232
- __mem_fn<_Rp _Tp::*>
1233
- mem_fn(_Rp _Tp::* __pm)
1234
- {
1235
- return __mem_fn<_Rp _Tp::*>(__pm);
1236
- }
1237
-
1238
- // bad_function_call
1239
-
1240
- class _LIBCPP_EXCEPTION_ABI bad_function_call
1241
- : public exception
1242
- {
1243
- };
1244
-
1245
- template<class _Fp> class _LIBCPP_TYPE_VIS_ONLY function; // undefined
1246
-
1247
- namespace __function
1248
- {
1249
-
1250
- template<class _Rp, class ..._ArgTypes>
1251
- struct __maybe_derive_from_unary_function
1252
- {
1253
- };
1254
-
1255
- template<class _Rp, class _A1>
1256
- struct __maybe_derive_from_unary_function<_Rp(_A1)>
1257
- : public unary_function<_A1, _Rp>
1258
- {
1259
- };
1260
-
1261
- template<class _Rp, class ..._ArgTypes>
1262
- struct __maybe_derive_from_binary_function
1263
- {
1264
- };
1265
-
1266
- template<class _Rp, class _A1, class _A2>
1267
- struct __maybe_derive_from_binary_function<_Rp(_A1, _A2)>
1268
- : public binary_function<_A1, _A2, _Rp>
1269
- {
1270
- };
1271
-
1272
- template<class _Fp> class __base;
1273
-
1274
- template<class _Rp, class ..._ArgTypes>
1275
- class __base<_Rp(_ArgTypes...)>
1276
- {
1277
- __base(const __base&);
1278
- __base& operator=(const __base&);
1279
- public:
1280
- _LIBCPP_INLINE_VISIBILITY __base() {}
1281
- _LIBCPP_INLINE_VISIBILITY virtual ~__base() {}
1282
- virtual __base* __clone() const = 0;
1283
- virtual void __clone(__base*) const = 0;
1284
- virtual void destroy() _NOEXCEPT = 0;
1285
- virtual void destroy_deallocate() _NOEXCEPT = 0;
1286
- virtual _Rp operator()(_ArgTypes&& ...) = 0;
1287
- #ifndef _LIBCPP_NO_RTTI
1288
- virtual const void* target(const type_info&) const _NOEXCEPT = 0;
1289
- virtual const std::type_info& target_type() const _NOEXCEPT = 0;
1290
- #endif // _LIBCPP_NO_RTTI
1291
- };
1292
-
1293
- template<class _FD, class _Alloc, class _FB> class __func;
1294
-
1295
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1296
- class __func<_Fp, _Alloc, _Rp(_ArgTypes...)>
1297
- : public __base<_Rp(_ArgTypes...)>
1298
- {
1299
- __compressed_pair<_Fp, _Alloc> __f_;
1300
- public:
1301
- _LIBCPP_INLINE_VISIBILITY
1302
- explicit __func(_Fp&& __f)
1303
- : __f_(piecewise_construct, _VSTD::forward_as_tuple(_VSTD::move(__f)),
1304
- _VSTD::forward_as_tuple()) {}
1305
- _LIBCPP_INLINE_VISIBILITY
1306
- explicit __func(const _Fp& __f, const _Alloc& __a)
1307
- : __f_(piecewise_construct, _VSTD::forward_as_tuple(__f),
1308
- _VSTD::forward_as_tuple(__a)) {}
1309
-
1310
- _LIBCPP_INLINE_VISIBILITY
1311
- explicit __func(const _Fp& __f, _Alloc&& __a)
1312
- : __f_(piecewise_construct, _VSTD::forward_as_tuple(__f),
1313
- _VSTD::forward_as_tuple(_VSTD::move(__a))) {}
1314
-
1315
- _LIBCPP_INLINE_VISIBILITY
1316
- explicit __func(_Fp&& __f, _Alloc&& __a)
1317
- : __f_(piecewise_construct, _VSTD::forward_as_tuple(_VSTD::move(__f)),
1318
- _VSTD::forward_as_tuple(_VSTD::move(__a))) {}
1319
- virtual __base<_Rp(_ArgTypes...)>* __clone() const;
1320
- virtual void __clone(__base<_Rp(_ArgTypes...)>*) const;
1321
- virtual void destroy() _NOEXCEPT;
1322
- virtual void destroy_deallocate() _NOEXCEPT;
1323
- virtual _Rp operator()(_ArgTypes&& ... __arg);
1324
- #ifndef _LIBCPP_NO_RTTI
1325
- virtual const void* target(const type_info&) const _NOEXCEPT;
1326
- virtual const std::type_info& target_type() const _NOEXCEPT;
1327
- #endif // _LIBCPP_NO_RTTI
1328
- };
1329
-
1330
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1331
- __base<_Rp(_ArgTypes...)>*
1332
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::__clone() const
1333
- {
1334
- typedef typename _Alloc::template rebind<__func>::other _Ap;
1335
- _Ap __a(__f_.second());
1336
- typedef __allocator_destructor<_Ap> _Dp;
1337
- unique_ptr<__func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
1338
- ::new (__hold.get()) __func(__f_.first(), _Alloc(__a));
1339
- return __hold.release();
1340
- }
1341
-
1342
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1343
- void
1344
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::__clone(__base<_Rp(_ArgTypes...)>* __p) const
1345
- {
1346
- ::new (__p) __func(__f_.first(), __f_.second());
1347
- }
1348
-
1349
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1350
- void
1351
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy() _NOEXCEPT
1352
- {
1353
- __f_.~__compressed_pair<_Fp, _Alloc>();
1354
- }
1355
-
1356
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1357
- void
1358
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy_deallocate() _NOEXCEPT
1359
- {
1360
- typedef typename _Alloc::template rebind<__func>::other _Ap;
1361
- _Ap __a(__f_.second());
1362
- __f_.~__compressed_pair<_Fp, _Alloc>();
1363
- __a.deallocate(this, 1);
1364
- }
1365
-
1366
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1367
- _Rp
1368
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::operator()(_ArgTypes&& ... __arg)
1369
- {
1370
- return __invoke(__f_.first(), _VSTD::forward<_ArgTypes>(__arg)...);
1371
- }
1372
-
1373
- #ifndef _LIBCPP_NO_RTTI
1374
-
1375
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1376
- const void*
1377
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::target(const type_info& __ti) const _NOEXCEPT
1378
- {
1379
- if (__ti == typeid(_Fp))
1380
- return &__f_.first();
1381
- return (const void*)0;
1382
- }
1383
-
1384
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1385
- const std::type_info&
1386
- __func<_Fp, _Alloc, _Rp(_ArgTypes...)>::target_type() const _NOEXCEPT
1387
- {
1388
- return typeid(_Fp);
1389
- }
1390
-
1391
- #endif // _LIBCPP_NO_RTTI
1392
-
1393
- } // __function
1394
-
1395
- template<class _Rp, class ..._ArgTypes>
1396
- class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_ArgTypes...)>
1397
- : public __function::__maybe_derive_from_unary_function<_Rp(_ArgTypes...)>,
1398
- public __function::__maybe_derive_from_binary_function<_Rp(_ArgTypes...)>
1399
- {
1400
- typedef __function::__base<_Rp(_ArgTypes...)> __base;
1401
- typename aligned_storage<3*sizeof(void*)>::type __buf_;
1402
- __base* __f_;
1403
-
1404
- template <class _Fp>
1405
- _LIBCPP_INLINE_VISIBILITY
1406
- static bool __not_null(const _Fp&) {return true;}
1407
- template <class _R2, class ..._Ap>
1408
- _LIBCPP_INLINE_VISIBILITY
1409
- static bool __not_null(_R2 (*__p)(_Ap...)) {return __p;}
1410
- template <class _R2, class _Cp, class ..._Ap>
1411
- _LIBCPP_INLINE_VISIBILITY
1412
- static bool __not_null(_R2 (_Cp::*__p)(_Ap...)) {return __p;}
1413
- template <class _R2, class _Cp, class ..._Ap>
1414
- _LIBCPP_INLINE_VISIBILITY
1415
- static bool __not_null(_R2 (_Cp::*__p)(_Ap...) const) {return __p;}
1416
- template <class _R2, class _Cp, class ..._Ap>
1417
- _LIBCPP_INLINE_VISIBILITY
1418
- static bool __not_null(_R2 (_Cp::*__p)(_Ap...) volatile) {return __p;}
1419
- template <class _R2, class _Cp, class ..._Ap>
1420
- _LIBCPP_INLINE_VISIBILITY
1421
- static bool __not_null(_R2 (_Cp::*__p)(_Ap...) const volatile) {return __p;}
1422
- template <class _R2, class ..._Ap>
1423
- _LIBCPP_INLINE_VISIBILITY
1424
- static bool __not_null(const function<_Rp(_Ap...)>& __p) {return __p;}
1425
-
1426
- template <class _Fp, bool = !is_same<_Fp, function>::value &&
1427
- __invokable<_Fp&, _ArgTypes...>::value>
1428
- struct __callable;
1429
- template <class _Fp>
1430
- struct __callable<_Fp, true>
1431
- {
1432
- static const bool value =
1433
- is_convertible<typename __invoke_of<_Fp&, _ArgTypes...>::type,
1434
- _Rp>::value;
1435
- };
1436
- template <class _Fp>
1437
- struct __callable<_Fp, false>
1438
- {
1439
- static const bool value = false;
1440
- };
1441
- public:
1442
- typedef _Rp result_type;
1443
-
1444
- // construct/copy/destroy:
1445
- _LIBCPP_INLINE_VISIBILITY
1446
- function() _NOEXCEPT : __f_(0) {}
1447
- _LIBCPP_INLINE_VISIBILITY
1448
- function(nullptr_t) _NOEXCEPT : __f_(0) {}
1449
- function(const function&);
1450
- function(function&&) _NOEXCEPT;
1451
- template<class _Fp>
1452
- function(_Fp, typename enable_if
1453
- <
1454
- __callable<_Fp>::value &&
1455
- !is_same<_Fp, function>::value
1456
- >::type* = 0);
1457
-
1458
- template<class _Alloc>
1459
- _LIBCPP_INLINE_VISIBILITY
1460
- function(allocator_arg_t, const _Alloc&) _NOEXCEPT : __f_(0) {}
1461
- template<class _Alloc>
1462
- _LIBCPP_INLINE_VISIBILITY
1463
- function(allocator_arg_t, const _Alloc&, nullptr_t) _NOEXCEPT : __f_(0) {}
1464
- template<class _Alloc>
1465
- function(allocator_arg_t, const _Alloc&, const function&);
1466
- template<class _Alloc>
1467
- function(allocator_arg_t, const _Alloc&, function&&);
1468
- template<class _Fp, class _Alloc>
1469
- function(allocator_arg_t, const _Alloc& __a, _Fp __f,
1470
- typename enable_if<__callable<_Fp>::value>::type* = 0);
1471
-
1472
- function& operator=(const function&);
1473
- function& operator=(function&&) _NOEXCEPT;
1474
- function& operator=(nullptr_t) _NOEXCEPT;
1475
- template<class _Fp>
1476
- typename enable_if
1477
- <
1478
- __callable<typename decay<_Fp>::type>::value &&
1479
- !is_same<typename remove_reference<_Fp>::type, function>::value,
1480
- function&
1481
- >::type
1482
- operator=(_Fp&&);
1483
-
1484
- ~function();
1485
-
1486
- // function modifiers:
1487
- void swap(function&) _NOEXCEPT;
1488
- template<class _Fp, class _Alloc>
1489
- _LIBCPP_INLINE_VISIBILITY
1490
- void assign(_Fp&& __f, const _Alloc& __a)
1491
- {function(allocator_arg, __a, _VSTD::forward<_Fp>(__f)).swap(*this);}
1492
-
1493
- // function capacity:
1494
- _LIBCPP_INLINE_VISIBILITY
1495
- _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT {return __f_;}
1496
-
1497
- // deleted overloads close possible hole in the type system
1498
- template<class _R2, class... _ArgTypes2>
1499
- bool operator==(const function<_R2(_ArgTypes2...)>&) const = delete;
1500
- template<class _R2, class... _ArgTypes2>
1501
- bool operator!=(const function<_R2(_ArgTypes2...)>&) const = delete;
1502
- public:
1503
- // function invocation:
1504
- _Rp operator()(_ArgTypes...) const;
1505
-
1506
- #ifndef _LIBCPP_NO_RTTI
1507
- // function target access:
1508
- const std::type_info& target_type() const _NOEXCEPT;
1509
- template <typename _Tp> _Tp* target() _NOEXCEPT;
1510
- template <typename _Tp> const _Tp* target() const _NOEXCEPT;
1511
- #endif // _LIBCPP_NO_RTTI
1512
- };
1513
-
1514
- template<class _Rp, class ..._ArgTypes>
1515
- function<_Rp(_ArgTypes...)>::function(const function& __f)
1516
- {
1517
- if (__f.__f_ == 0)
1518
- __f_ = 0;
1519
- else if (__f.__f_ == (const __base*)&__f.__buf_)
1520
- {
1521
- __f_ = (__base*)&__buf_;
1522
- __f.__f_->__clone(__f_);
1523
- }
1524
- else
1525
- __f_ = __f.__f_->__clone();
1526
- }
1527
-
1528
- template<class _Rp, class ..._ArgTypes>
1529
- template <class _Alloc>
1530
- function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
1531
- const function& __f)
1532
- {
1533
- if (__f.__f_ == 0)
1534
- __f_ = 0;
1535
- else if (__f.__f_ == (const __base*)&__f.__buf_)
1536
- {
1537
- __f_ = (__base*)&__buf_;
1538
- __f.__f_->__clone(__f_);
1539
- }
1540
- else
1541
- __f_ = __f.__f_->__clone();
1542
- }
1543
-
1544
- template<class _Rp, class ..._ArgTypes>
1545
- function<_Rp(_ArgTypes...)>::function(function&& __f) _NOEXCEPT
1546
- {
1547
- if (__f.__f_ == 0)
1548
- __f_ = 0;
1549
- else if (__f.__f_ == (__base*)&__f.__buf_)
1550
- {
1551
- __f_ = (__base*)&__buf_;
1552
- __f.__f_->__clone(__f_);
1553
- }
1554
- else
1555
- {
1556
- __f_ = __f.__f_;
1557
- __f.__f_ = 0;
1558
- }
1559
- }
1560
-
1561
- template<class _Rp, class ..._ArgTypes>
1562
- template <class _Alloc>
1563
- function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
1564
- function&& __f)
1565
- {
1566
- if (__f.__f_ == 0)
1567
- __f_ = 0;
1568
- else if (__f.__f_ == (__base*)&__f.__buf_)
1569
- {
1570
- __f_ = (__base*)&__buf_;
1571
- __f.__f_->__clone(__f_);
1572
- }
1573
- else
1574
- {
1575
- __f_ = __f.__f_;
1576
- __f.__f_ = 0;
1577
- }
1578
- }
1579
-
1580
- template<class _Rp, class ..._ArgTypes>
1581
- template <class _Fp>
1582
- function<_Rp(_ArgTypes...)>::function(_Fp __f,
1583
- typename enable_if
1584
- <
1585
- __callable<_Fp>::value &&
1586
- !is_same<_Fp, function>::value
1587
- >::type*)
1588
- : __f_(0)
1589
- {
1590
- if (__not_null(__f))
1591
- {
1592
- typedef __function::__func<_Fp, allocator<_Fp>, _Rp(_ArgTypes...)> _FF;
1593
- if (sizeof(_FF) <= sizeof(__buf_) && is_nothrow_copy_constructible<_Fp>::value)
1594
- {
1595
- __f_ = (__base*)&__buf_;
1596
- ::new (__f_) _FF(_VSTD::move(__f));
1597
- }
1598
- else
1599
- {
1600
- typedef allocator<_FF> _Ap;
1601
- _Ap __a;
1602
- typedef __allocator_destructor<_Ap> _Dp;
1603
- unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
1604
- ::new (__hold.get()) _FF(_VSTD::move(__f), allocator<_Fp>(__a));
1605
- __f_ = __hold.release();
1606
- }
1607
- }
1608
- }
1609
-
1610
- template<class _Rp, class ..._ArgTypes>
1611
- template <class _Fp, class _Alloc>
1612
- function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc& __a0, _Fp __f,
1613
- typename enable_if<__callable<_Fp>::value>::type*)
1614
- : __f_(0)
1615
- {
1616
- typedef allocator_traits<_Alloc> __alloc_traits;
1617
- if (__not_null(__f))
1618
- {
1619
- typedef __function::__func<_Fp, _Alloc, _Rp(_ArgTypes...)> _FF;
1620
- if (sizeof(_FF) <= sizeof(__buf_) && is_nothrow_copy_constructible<_Fp>::value)
1621
- {
1622
- __f_ = (__base*)&__buf_;
1623
- ::new (__f_) _FF(_VSTD::move(__f));
1624
- }
1625
- else
1626
- {
1627
- typedef typename __alloc_traits::template
1628
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
1629
- rebind_alloc<_FF>
1630
- #else
1631
- rebind_alloc<_FF>::other
1632
- #endif
1633
- _Ap;
1634
- _Ap __a(__a0);
1635
- typedef __allocator_destructor<_Ap> _Dp;
1636
- unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
1637
- ::new (__hold.get()) _FF(_VSTD::move(__f), _Alloc(__a));
1638
- __f_ = __hold.release();
1639
- }
1640
- }
1641
- }
1642
-
1643
- template<class _Rp, class ..._ArgTypes>
1644
- function<_Rp(_ArgTypes...)>&
1645
- function<_Rp(_ArgTypes...)>::operator=(const function& __f)
1646
- {
1647
- function(__f).swap(*this);
1648
- return *this;
1649
- }
1650
-
1651
- template<class _Rp, class ..._ArgTypes>
1652
- function<_Rp(_ArgTypes...)>&
1653
- function<_Rp(_ArgTypes...)>::operator=(function&& __f) _NOEXCEPT
1654
- {
1655
- if (__f_ == (__base*)&__buf_)
1656
- __f_->destroy();
1657
- else if (__f_)
1658
- __f_->destroy_deallocate();
1659
- __f_ = 0;
1660
- if (__f.__f_ == 0)
1661
- __f_ = 0;
1662
- else if (__f.__f_ == (__base*)&__f.__buf_)
1663
- {
1664
- __f_ = (__base*)&__buf_;
1665
- __f.__f_->__clone(__f_);
1666
- }
1667
- else
1668
- {
1669
- __f_ = __f.__f_;
1670
- __f.__f_ = 0;
1671
- }
1672
- return *this;
1673
- }
1674
-
1675
- template<class _Rp, class ..._ArgTypes>
1676
- function<_Rp(_ArgTypes...)>&
1677
- function<_Rp(_ArgTypes...)>::operator=(nullptr_t) _NOEXCEPT
1678
- {
1679
- if (__f_ == (__base*)&__buf_)
1680
- __f_->destroy();
1681
- else if (__f_)
1682
- __f_->destroy_deallocate();
1683
- __f_ = 0;
1684
- return *this;
1685
- }
1686
-
1687
- template<class _Rp, class ..._ArgTypes>
1688
- template <class _Fp>
1689
- typename enable_if
1690
- <
1691
- function<_Rp(_ArgTypes...)>::template __callable<typename decay<_Fp>::type>::value &&
1692
- !is_same<typename remove_reference<_Fp>::type, function<_Rp(_ArgTypes...)>>::value,
1693
- function<_Rp(_ArgTypes...)>&
1694
- >::type
1695
- function<_Rp(_ArgTypes...)>::operator=(_Fp&& __f)
1696
- {
1697
- function(_VSTD::forward<_Fp>(__f)).swap(*this);
1698
- return *this;
1699
- }
1700
-
1701
- template<class _Rp, class ..._ArgTypes>
1702
- function<_Rp(_ArgTypes...)>::~function()
1703
- {
1704
- if (__f_ == (__base*)&__buf_)
1705
- __f_->destroy();
1706
- else if (__f_)
1707
- __f_->destroy_deallocate();
1708
- }
1709
-
1710
- template<class _Rp, class ..._ArgTypes>
1711
- void
1712
- function<_Rp(_ArgTypes...)>::swap(function& __f) _NOEXCEPT
1713
- {
1714
- if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
1715
- {
1716
- typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
1717
- __base* __t = (__base*)&__tempbuf;
1718
- __f_->__clone(__t);
1719
- __f_->destroy();
1720
- __f_ = 0;
1721
- __f.__f_->__clone((__base*)&__buf_);
1722
- __f.__f_->destroy();
1723
- __f.__f_ = 0;
1724
- __f_ = (__base*)&__buf_;
1725
- __t->__clone((__base*)&__f.__buf_);
1726
- __t->destroy();
1727
- __f.__f_ = (__base*)&__f.__buf_;
1728
- }
1729
- else if (__f_ == (__base*)&__buf_)
1730
- {
1731
- __f_->__clone((__base*)&__f.__buf_);
1732
- __f_->destroy();
1733
- __f_ = __f.__f_;
1734
- __f.__f_ = (__base*)&__f.__buf_;
1735
- }
1736
- else if (__f.__f_ == (__base*)&__f.__buf_)
1737
- {
1738
- __f.__f_->__clone((__base*)&__buf_);
1739
- __f.__f_->destroy();
1740
- __f.__f_ = __f_;
1741
- __f_ = (__base*)&__buf_;
1742
- }
1743
- else
1744
- _VSTD::swap(__f_, __f.__f_);
1745
- }
1746
-
1747
- template<class _Rp, class ..._ArgTypes>
1748
- _Rp
1749
- function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const
1750
- {
1751
- #ifndef _LIBCPP_NO_EXCEPTIONS
1752
- if (__f_ == 0)
1753
- throw bad_function_call();
1754
- #endif // _LIBCPP_NO_EXCEPTIONS
1755
- return (*__f_)(_VSTD::forward<_ArgTypes>(__arg)...);
1756
- }
1757
-
1758
- #ifndef _LIBCPP_NO_RTTI
1759
-
1760
- template<class _Rp, class ..._ArgTypes>
1761
- const std::type_info&
1762
- function<_Rp(_ArgTypes...)>::target_type() const _NOEXCEPT
1763
- {
1764
- if (__f_ == 0)
1765
- return typeid(void);
1766
- return __f_->target_type();
1767
- }
1768
-
1769
- template<class _Rp, class ..._ArgTypes>
1770
- template <typename _Tp>
1771
- _Tp*
1772
- function<_Rp(_ArgTypes...)>::target() _NOEXCEPT
1773
- {
1774
- if (__f_ == 0)
1775
- return (_Tp*)0;
1776
- return (_Tp*)__f_->target(typeid(_Tp));
1777
- }
1778
-
1779
- template<class _Rp, class ..._ArgTypes>
1780
- template <typename _Tp>
1781
- const _Tp*
1782
- function<_Rp(_ArgTypes...)>::target() const _NOEXCEPT
1783
- {
1784
- if (__f_ == 0)
1785
- return (const _Tp*)0;
1786
- return (const _Tp*)__f_->target(typeid(_Tp));
1787
- }
1788
-
1789
- #endif // _LIBCPP_NO_RTTI
1790
-
1791
- template <class _Rp, class... _ArgTypes>
1792
- inline _LIBCPP_INLINE_VISIBILITY
1793
- bool
1794
- operator==(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return !__f;}
1795
-
1796
- template <class _Rp, class... _ArgTypes>
1797
- inline _LIBCPP_INLINE_VISIBILITY
1798
- bool
1799
- operator==(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return !__f;}
1800
-
1801
- template <class _Rp, class... _ArgTypes>
1802
- inline _LIBCPP_INLINE_VISIBILITY
1803
- bool
1804
- operator!=(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return (bool)__f;}
1805
-
1806
- template <class _Rp, class... _ArgTypes>
1807
- inline _LIBCPP_INLINE_VISIBILITY
1808
- bool
1809
- operator!=(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return (bool)__f;}
1810
-
1811
- template <class _Rp, class... _ArgTypes>
1812
- inline _LIBCPP_INLINE_VISIBILITY
1813
- void
1814
- swap(function<_Rp(_ArgTypes...)>& __x, function<_Rp(_ArgTypes...)>& __y) _NOEXCEPT
1815
- {return __x.swap(__y);}
1816
-
1817
- template<class _Tp> struct __is_bind_expression : public false_type {};
1818
- template<class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_bind_expression
1819
- : public __is_bind_expression<typename remove_cv<_Tp>::type> {};
1820
-
1821
- template<class _Tp> struct __is_placeholder : public integral_constant<int, 0> {};
1822
- template<class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_placeholder
1823
- : public __is_placeholder<typename remove_cv<_Tp>::type> {};
1824
-
1825
- namespace placeholders
1826
- {
1827
-
1828
- template <int _Np> struct __ph {};
1829
-
1830
- _LIBCPP_FUNC_VIS extern __ph<1> _1;
1831
- _LIBCPP_FUNC_VIS extern __ph<2> _2;
1832
- _LIBCPP_FUNC_VIS extern __ph<3> _3;
1833
- _LIBCPP_FUNC_VIS extern __ph<4> _4;
1834
- _LIBCPP_FUNC_VIS extern __ph<5> _5;
1835
- _LIBCPP_FUNC_VIS extern __ph<6> _6;
1836
- _LIBCPP_FUNC_VIS extern __ph<7> _7;
1837
- _LIBCPP_FUNC_VIS extern __ph<8> _8;
1838
- _LIBCPP_FUNC_VIS extern __ph<9> _9;
1839
- _LIBCPP_FUNC_VIS extern __ph<10> _10;
1840
-
1841
- } // placeholders
1842
-
1843
- template<int _Np>
1844
- struct __is_placeholder<placeholders::__ph<_Np> >
1845
- : public integral_constant<int, _Np> {};
1846
-
1847
- template <class _Tp, class _Uj>
1848
- inline _LIBCPP_INLINE_VISIBILITY
1849
- _Tp&
1850
- __mu(reference_wrapper<_Tp> __t, _Uj&)
1851
- {
1852
- return __t.get();
1853
- }
1854
-
1855
- template <class _Ti, class ..._Uj, size_t ..._Indx>
1856
- inline _LIBCPP_INLINE_VISIBILITY
1857
- typename __invoke_of<_Ti&, _Uj...>::type
1858
- __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
1859
- {
1860
- return __ti(_VSTD::forward<_Uj>(get<_Indx>(__uj))...);
1861
- }
1862
-
1863
- template <class _Ti, class ..._Uj>
1864
- inline _LIBCPP_INLINE_VISIBILITY
1865
- typename enable_if
1866
- <
1867
- is_bind_expression<_Ti>::value,
1868
- typename __invoke_of<_Ti&, _Uj...>::type
1869
- >::type
1870
- __mu(_Ti& __ti, tuple<_Uj...>& __uj)
1871
- {
1872
- typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
1873
- return __mu_expand(__ti, __uj, __indices());
1874
- }
1875
-
1876
- template <bool IsPh, class _Ti, class _Uj>
1877
- struct __mu_return2 {};
1878
-
1879
- template <class _Ti, class _Uj>
1880
- struct __mu_return2<true, _Ti, _Uj>
1881
- {
1882
- typedef typename tuple_element<is_placeholder<_Ti>::value - 1, _Uj>::type type;
1883
- };
1884
-
1885
- template <class _Ti, class _Uj>
1886
- inline _LIBCPP_INLINE_VISIBILITY
1887
- typename enable_if
1888
- <
1889
- 0 < is_placeholder<_Ti>::value,
1890
- typename __mu_return2<0 < is_placeholder<_Ti>::value, _Ti, _Uj>::type
1891
- >::type
1892
- __mu(_Ti&, _Uj& __uj)
1893
- {
1894
- const size_t _Indx = is_placeholder<_Ti>::value - 1;
1895
- return _VSTD::forward<typename tuple_element<_Indx, _Uj>::type>(get<_Indx>(__uj));
1896
- }
1897
-
1898
- template <class _Ti, class _Uj>
1899
- inline _LIBCPP_INLINE_VISIBILITY
1900
- typename enable_if
1901
- <
1902
- !is_bind_expression<_Ti>::value &&
1903
- is_placeholder<_Ti>::value == 0 &&
1904
- !__is_reference_wrapper<_Ti>::value,
1905
- _Ti&
1906
- >::type
1907
- __mu(_Ti& __ti, _Uj&)
1908
- {
1909
- return __ti;
1910
- }
1911
-
1912
- template <class _Ti, bool IsReferenceWrapper, bool IsBindEx, bool IsPh,
1913
- class _TupleUj>
1914
- struct ____mu_return;
1915
-
1916
- template <bool _Invokable, class _Ti, class ..._Uj>
1917
- struct ____mu_return_invokable // false
1918
- {
1919
- typedef __nat type;
1920
- };
1921
-
1922
- template <class _Ti, class ..._Uj>
1923
- struct ____mu_return_invokable<true, _Ti, _Uj...>
1924
- {
1925
- typedef typename __invoke_of<_Ti&, _Uj...>::type type;
1926
- };
1927
-
1928
- template <class _Ti, class ..._Uj>
1929
- struct ____mu_return<_Ti, false, true, false, tuple<_Uj...> >
1930
- : public ____mu_return_invokable<__invokable<_Ti&, _Uj...>::value, _Ti, _Uj...>
1931
- {
1932
- };
1933
-
1934
- template <class _Ti, class _TupleUj>
1935
- struct ____mu_return<_Ti, false, false, true, _TupleUj>
1936
- {
1937
- typedef typename tuple_element<is_placeholder<_Ti>::value - 1,
1938
- _TupleUj>::type&& type;
1939
- };
1940
-
1941
- template <class _Ti, class _TupleUj>
1942
- struct ____mu_return<_Ti, true, false, false, _TupleUj>
1943
- {
1944
- typedef typename _Ti::type& type;
1945
- };
1946
-
1947
- template <class _Ti, class _TupleUj>
1948
- struct ____mu_return<_Ti, false, false, false, _TupleUj>
1949
- {
1950
- typedef _Ti& type;
1951
- };
1952
-
1953
- template <class _Ti, class _TupleUj>
1954
- struct __mu_return
1955
- : public ____mu_return<_Ti,
1956
- __is_reference_wrapper<_Ti>::value,
1957
- is_bind_expression<_Ti>::value,
1958
- 0 < is_placeholder<_Ti>::value &&
1959
- is_placeholder<_Ti>::value <= tuple_size<_TupleUj>::value,
1960
- _TupleUj>
1961
- {
1962
- };
1963
-
1964
- template <class _Fp, class _BoundArgs, class _TupleUj>
1965
- struct _is_valid_bind_return
1966
- {
1967
- static const bool value = false;
1968
- };
1969
-
1970
- template <class _Fp, class ..._BoundArgs, class _TupleUj>
1971
- struct _is_valid_bind_return<_Fp, tuple<_BoundArgs...>, _TupleUj>
1972
- {
1973
- static const bool value = __invokable<_Fp,
1974
- typename __mu_return<_BoundArgs, _TupleUj>::type...>::value;
1975
- };
1976
-
1977
- template <class _Fp, class ..._BoundArgs, class _TupleUj>
1978
- struct _is_valid_bind_return<_Fp, const tuple<_BoundArgs...>, _TupleUj>
1979
- {
1980
- static const bool value = __invokable<_Fp,
1981
- typename __mu_return<const _BoundArgs, _TupleUj>::type...>::value;
1982
- };
1983
-
1984
- template <class _Fp, class _BoundArgs, class _TupleUj,
1985
- bool = _is_valid_bind_return<_Fp, _BoundArgs, _TupleUj>::value>
1986
- struct __bind_return;
1987
-
1988
- template <class _Fp, class ..._BoundArgs, class _TupleUj>
1989
- struct __bind_return<_Fp, tuple<_BoundArgs...>, _TupleUj, true>
1990
- {
1991
- typedef typename __invoke_of
1992
- <
1993
- _Fp&,
1994
- typename __mu_return
1995
- <
1996
- _BoundArgs,
1997
- _TupleUj
1998
- >::type...
1999
- >::type type;
2000
- };
2001
-
2002
- template <class _Fp, class ..._BoundArgs, class _TupleUj>
2003
- struct __bind_return<_Fp, const tuple<_BoundArgs...>, _TupleUj, true>
2004
- {
2005
- typedef typename __invoke_of
2006
- <
2007
- _Fp&,
2008
- typename __mu_return
2009
- <
2010
- const _BoundArgs,
2011
- _TupleUj
2012
- >::type...
2013
- >::type type;
2014
- };
2015
-
2016
- template <class _Fp, class _BoundArgs, size_t ..._Indx, class _Args>
2017
- inline _LIBCPP_INLINE_VISIBILITY
2018
- typename __bind_return<_Fp, _BoundArgs, _Args>::type
2019
- __apply_functor(_Fp& __f, _BoundArgs& __bound_args, __tuple_indices<_Indx...>,
2020
- _Args&& __args)
2021
- {
2022
- return __invoke(__f, __mu(get<_Indx>(__bound_args), __args)...);
2023
- }
2024
-
2025
- template<class _Fp, class ..._BoundArgs>
2026
- class __bind
2027
- : public __weak_result_type<typename decay<_Fp>::type>
2028
- {
2029
- protected:
2030
- typedef typename decay<_Fp>::type _Fd;
2031
- typedef tuple<typename decay<_BoundArgs>::type...> _Td;
2032
- private:
2033
- _Fd __f_;
2034
- _Td __bound_args_;
2035
-
2036
- typedef typename __make_tuple_indices<sizeof...(_BoundArgs)>::type __indices;
2037
- public:
2038
- #ifdef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
2039
-
2040
- _LIBCPP_INLINE_VISIBILITY
2041
- __bind(const __bind& __b)
2042
- : __f_(__b.__f_),
2043
- __bound_args_(__b.__bound_args_) {}
2044
-
2045
- _LIBCPP_INLINE_VISIBILITY
2046
- __bind& operator=(const __bind& __b)
2047
- {
2048
- __f_ = __b.__f_;
2049
- __bound_args_ = __b.__bound_args_;
2050
- return *this;
2051
- }
2052
-
2053
- _LIBCPP_INLINE_VISIBILITY
2054
- __bind(__bind&& __b)
2055
- : __f_(_VSTD::move(__b.__f_)),
2056
- __bound_args_(_VSTD::move(__b.__bound_args_)) {}
2057
-
2058
- _LIBCPP_INLINE_VISIBILITY
2059
- __bind& operator=(__bind&& __b)
2060
- {
2061
- __f_ = _VSTD::move(__b.__f_);
2062
- __bound_args_ = _VSTD::move(__b.__bound_args_);
2063
- return *this;
2064
- }
2065
-
2066
- #endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
2067
-
2068
- template <class _Gp, class ..._BA,
2069
- class = typename enable_if
2070
- <
2071
- is_constructible<_Fd, _Gp>::value &&
2072
- !is_same<typename remove_reference<_Gp>::type,
2073
- __bind>::value
2074
- >::type>
2075
- _LIBCPP_INLINE_VISIBILITY
2076
- explicit __bind(_Gp&& __f, _BA&& ...__bound_args)
2077
- : __f_(_VSTD::forward<_Gp>(__f)),
2078
- __bound_args_(_VSTD::forward<_BA>(__bound_args)...) {}
2079
-
2080
- template <class ..._Args>
2081
- _LIBCPP_INLINE_VISIBILITY
2082
- typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type
2083
- operator()(_Args&& ...__args)
2084
- {
2085
- return __apply_functor(__f_, __bound_args_, __indices(),
2086
- tuple<_Args&&...>(_VSTD::forward<_Args>(__args)...));
2087
- }
2088
-
2089
- template <class ..._Args>
2090
- _LIBCPP_INLINE_VISIBILITY
2091
- typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type
2092
- operator()(_Args&& ...__args) const
2093
- {
2094
- return __apply_functor(__f_, __bound_args_, __indices(),
2095
- tuple<_Args&&...>(_VSTD::forward<_Args>(__args)...));
2096
- }
2097
- };
2098
-
2099
- template<class _Fp, class ..._BoundArgs>
2100
- struct __is_bind_expression<__bind<_Fp, _BoundArgs...> > : public true_type {};
2101
-
2102
- template<class _Rp, class _Fp, class ..._BoundArgs>
2103
- class __bind_r
2104
- : public __bind<_Fp, _BoundArgs...>
2105
- {
2106
- typedef __bind<_Fp, _BoundArgs...> base;
2107
- typedef typename base::_Fd _Fd;
2108
- typedef typename base::_Td _Td;
2109
- public:
2110
- typedef _Rp result_type;
2111
-
2112
- #ifdef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
2113
-
2114
- _LIBCPP_INLINE_VISIBILITY
2115
- __bind_r(const __bind_r& __b)
2116
- : base(_VSTD::forward<const base&>(__b)) {}
2117
-
2118
- _LIBCPP_INLINE_VISIBILITY
2119
- __bind_r& operator=(const __bind_r& __b)
2120
- {
2121
- base::operator=(_VSTD::forward<const base&>(__b));
2122
- return *this;
2123
- }
2124
-
2125
- _LIBCPP_INLINE_VISIBILITY
2126
- __bind_r(__bind_r&& __b)
2127
- : base(_VSTD::forward<base>(__b)) {}
2128
-
2129
- _LIBCPP_INLINE_VISIBILITY
2130
- __bind_r& operator=(__bind_r&& __b)
2131
- {
2132
- base::operator=(_VSTD::forward<base>(__b));
2133
- return *this;
2134
- }
2135
-
2136
- #endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
2137
-
2138
- template <class _Gp, class ..._BA,
2139
- class = typename enable_if
2140
- <
2141
- is_constructible<_Fd, _Gp>::value &&
2142
- !is_same<typename remove_reference<_Gp>::type,
2143
- __bind_r>::value
2144
- >::type>
2145
- _LIBCPP_INLINE_VISIBILITY
2146
- explicit __bind_r(_Gp&& __f, _BA&& ...__bound_args)
2147
- : base(_VSTD::forward<_Gp>(__f),
2148
- _VSTD::forward<_BA>(__bound_args)...) {}
2149
-
2150
- template <class ..._Args>
2151
- _LIBCPP_INLINE_VISIBILITY
2152
- typename enable_if
2153
- <
2154
- is_convertible<typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type,
2155
- result_type>::value,
2156
- result_type
2157
- >::type
2158
- operator()(_Args&& ...__args)
2159
- {
2160
- return base::operator()(_VSTD::forward<_Args>(__args)...);
2161
- }
2162
-
2163
- template <class ..._Args>
2164
- _LIBCPP_INLINE_VISIBILITY
2165
- typename enable_if
2166
- <
2167
- is_convertible<typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type,
2168
- result_type>::value,
2169
- result_type
2170
- >::type
2171
- operator()(_Args&& ...__args) const
2172
- {
2173
- return base::operator()(_VSTD::forward<_Args>(__args)...);
2174
- }
2175
- };
2176
-
2177
- template<class _Rp, class _Fp, class ..._BoundArgs>
2178
- struct __is_bind_expression<__bind_r<_Rp, _Fp, _BoundArgs...> > : public true_type {};
2179
-
2180
- template<class _Fp, class ..._BoundArgs>
2181
- inline _LIBCPP_INLINE_VISIBILITY
2182
- __bind<_Fp, _BoundArgs...>
2183
- bind(_Fp&& __f, _BoundArgs&&... __bound_args)
2184
- {
2185
- typedef __bind<_Fp, _BoundArgs...> type;
2186
- return type(_VSTD::forward<_Fp>(__f), _VSTD::forward<_BoundArgs>(__bound_args)...);
2187
- }
2188
-
2189
- template<class _Rp, class _Fp, class ..._BoundArgs>
2190
- inline _LIBCPP_INLINE_VISIBILITY
2191
- __bind_r<_Rp, _Fp, _BoundArgs...>
2192
- bind(_Fp&& __f, _BoundArgs&&... __bound_args)
2193
- {
2194
- typedef __bind_r<_Rp, _Fp, _BoundArgs...> type;
2195
- return type(_VSTD::forward<_Fp>(__f), _VSTD::forward<_BoundArgs>(__bound_args)...);
2196
- }
2197
-
2198
- #endif // _LIBCPP_HAS_NO_VARIADICS
2199
-
2200
- template <>
2201
- struct _LIBCPP_TYPE_VIS_ONLY hash<bool>
2202
- : public unary_function<bool, size_t>
2203
- {
2204
- _LIBCPP_INLINE_VISIBILITY
2205
- size_t operator()(bool __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2206
- };
2207
-
2208
- template <>
2209
- struct _LIBCPP_TYPE_VIS_ONLY hash<char>
2210
- : public unary_function<char, size_t>
2211
- {
2212
- _LIBCPP_INLINE_VISIBILITY
2213
- size_t operator()(char __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2214
- };
2215
-
2216
- template <>
2217
- struct _LIBCPP_TYPE_VIS_ONLY hash<signed char>
2218
- : public unary_function<signed char, size_t>
2219
- {
2220
- _LIBCPP_INLINE_VISIBILITY
2221
- size_t operator()(signed char __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2222
- };
2223
-
2224
- template <>
2225
- struct _LIBCPP_TYPE_VIS_ONLY hash<unsigned char>
2226
- : public unary_function<unsigned char, size_t>
2227
- {
2228
- _LIBCPP_INLINE_VISIBILITY
2229
- size_t operator()(unsigned char __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2230
- };
2231
-
2232
- #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
2233
-
2234
- template <>
2235
- struct _LIBCPP_TYPE_VIS_ONLY hash<char16_t>
2236
- : public unary_function<char16_t, size_t>
2237
- {
2238
- _LIBCPP_INLINE_VISIBILITY
2239
- size_t operator()(char16_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2240
- };
2241
-
2242
- template <>
2243
- struct _LIBCPP_TYPE_VIS_ONLY hash<char32_t>
2244
- : public unary_function<char32_t, size_t>
2245
- {
2246
- _LIBCPP_INLINE_VISIBILITY
2247
- size_t operator()(char32_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2248
- };
2249
-
2250
- #endif // _LIBCPP_HAS_NO_UNICODE_CHARS
2251
-
2252
- template <>
2253
- struct _LIBCPP_TYPE_VIS_ONLY hash<wchar_t>
2254
- : public unary_function<wchar_t, size_t>
2255
- {
2256
- _LIBCPP_INLINE_VISIBILITY
2257
- size_t operator()(wchar_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2258
- };
2259
-
2260
- template <>
2261
- struct _LIBCPP_TYPE_VIS_ONLY hash<short>
2262
- : public unary_function<short, size_t>
2263
- {
2264
- _LIBCPP_INLINE_VISIBILITY
2265
- size_t operator()(short __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2266
- };
2267
-
2268
- template <>
2269
- struct _LIBCPP_TYPE_VIS_ONLY hash<unsigned short>
2270
- : public unary_function<unsigned short, size_t>
2271
- {
2272
- _LIBCPP_INLINE_VISIBILITY
2273
- size_t operator()(unsigned short __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2274
- };
2275
-
2276
- template <>
2277
- struct _LIBCPP_TYPE_VIS_ONLY hash<int>
2278
- : public unary_function<int, size_t>
2279
- {
2280
- _LIBCPP_INLINE_VISIBILITY
2281
- size_t operator()(int __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2282
- };
2283
-
2284
- template <>
2285
- struct _LIBCPP_TYPE_VIS_ONLY hash<unsigned int>
2286
- : public unary_function<unsigned int, size_t>
2287
- {
2288
- _LIBCPP_INLINE_VISIBILITY
2289
- size_t operator()(unsigned int __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2290
- };
2291
-
2292
- template <>
2293
- struct _LIBCPP_TYPE_VIS_ONLY hash<long>
2294
- : public unary_function<long, size_t>
2295
- {
2296
- _LIBCPP_INLINE_VISIBILITY
2297
- size_t operator()(long __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2298
- };
2299
-
2300
- template <>
2301
- struct _LIBCPP_TYPE_VIS_ONLY hash<unsigned long>
2302
- : public unary_function<unsigned long, size_t>
2303
- {
2304
- _LIBCPP_INLINE_VISIBILITY
2305
- size_t operator()(unsigned long __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
2306
- };
2307
-
2308
- template <>
2309
- struct _LIBCPP_TYPE_VIS_ONLY hash<long long>
2310
- : public __scalar_hash<long long>
2311
- {
2312
- };
2313
-
2314
- template <>
2315
- struct _LIBCPP_TYPE_VIS_ONLY hash<unsigned long long>
2316
- : public __scalar_hash<unsigned long long>
2317
- {
2318
- };
2319
-
2320
- template <>
2321
- struct _LIBCPP_TYPE_VIS_ONLY hash<float>
2322
- : public __scalar_hash<float>
2323
- {
2324
- _LIBCPP_INLINE_VISIBILITY
2325
- size_t operator()(float __v) const _NOEXCEPT
2326
- {
2327
- // -0.0 and 0.0 should return same hash
2328
- if (__v == 0)
2329
- return 0;
2330
- return __scalar_hash<float>::operator()(__v);
2331
- }
2332
- };
2333
-
2334
- template <>
2335
- struct _LIBCPP_TYPE_VIS_ONLY hash<double>
2336
- : public __scalar_hash<double>
2337
- {
2338
- _LIBCPP_INLINE_VISIBILITY
2339
- size_t operator()(double __v) const _NOEXCEPT
2340
- {
2341
- // -0.0 and 0.0 should return same hash
2342
- if (__v == 0)
2343
- return 0;
2344
- return __scalar_hash<double>::operator()(__v);
2345
- }
2346
- };
2347
-
2348
- template <>
2349
- struct _LIBCPP_TYPE_VIS_ONLY hash<long double>
2350
- : public __scalar_hash<long double>
2351
- {
2352
- _LIBCPP_INLINE_VISIBILITY
2353
- size_t operator()(long double __v) const _NOEXCEPT
2354
- {
2355
- // -0.0 and 0.0 should return same hash
2356
- if (__v == 0)
2357
- return 0;
2358
- #if defined(__i386__)
2359
- // Zero out padding bits
2360
- union
2361
- {
2362
- long double __t;
2363
- struct
2364
- {
2365
- size_t __a;
2366
- size_t __b;
2367
- size_t __c;
2368
- size_t __d;
2369
- };
2370
- } __u;
2371
- __u.__a = 0;
2372
- __u.__b = 0;
2373
- __u.__c = 0;
2374
- __u.__d = 0;
2375
- __u.__t = __v;
2376
- return __u.__a ^ __u.__b ^ __u.__c ^ __u.__d;
2377
- #elif defined(__x86_64__)
2378
- // Zero out padding bits
2379
- union
2380
- {
2381
- long double __t;
2382
- struct
2383
- {
2384
- size_t __a;
2385
- size_t __b;
2386
- };
2387
- } __u;
2388
- __u.__a = 0;
2389
- __u.__b = 0;
2390
- __u.__t = __v;
2391
- return __u.__a ^ __u.__b;
2392
- #else
2393
- return __scalar_hash<long double>::operator()(__v);
2394
- #endif
2395
- }
2396
- };
2397
-
2398
- #if _LIBCPP_STD_VER > 11
2399
- template <class _Tp>
2400
- struct _LIBCPP_TYPE_VIS_ONLY hash
2401
- : public unary_function<_Tp, size_t>
2402
- {
2403
- static_assert(is_enum<_Tp>::value, "This hash only works for enumeration types");
2404
-
2405
- _LIBCPP_INLINE_VISIBILITY
2406
- size_t operator()(_Tp __v) const _NOEXCEPT
2407
- {
2408
- typedef typename underlying_type<_Tp>::type type;
2409
- return hash<type>{}(static_cast<type>(__v));
2410
- }
2411
- };
2412
- #endif
2413
-
2414
- // struct hash<T*> in <memory>
2415
-
2416
- _LIBCPP_END_NAMESPACE_STD
2417
-
2418
- #endif // _LIBCPP_FUNCTIONAL