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,2078 +0,0 @@
1
- // -*- C++ -*-
2
- //===-------------------------- unordered_map -----------------------------===//
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_UNORDERED_MAP
12
- #define _LIBCPP_UNORDERED_MAP
13
-
14
- /*
15
-
16
- unordered_map synopsis
17
-
18
- #include <initializer_list>
19
-
20
- namespace std
21
- {
22
-
23
- template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
24
- class Alloc = allocator<pair<const Key, T>>>
25
- class unordered_map
26
- {
27
- public:
28
- // types
29
- typedef Key key_type;
30
- typedef T mapped_type;
31
- typedef Hash hasher;
32
- typedef Pred key_equal;
33
- typedef Alloc allocator_type;
34
- typedef pair<const key_type, mapped_type> value_type;
35
- typedef value_type& reference;
36
- typedef const value_type& const_reference;
37
- typedef typename allocator_traits<allocator_type>::pointer pointer;
38
- typedef typename allocator_traits<allocator_type>::const_pointer const_pointer;
39
- typedef typename allocator_traits<allocator_type>::size_type size_type;
40
- typedef typename allocator_traits<allocator_type>::difference_type difference_type;
41
-
42
- typedef /unspecified/ iterator;
43
- typedef /unspecified/ const_iterator;
44
- typedef /unspecified/ local_iterator;
45
- typedef /unspecified/ const_local_iterator;
46
-
47
- unordered_map()
48
- noexcept(
49
- is_nothrow_default_constructible<hasher>::value &&
50
- is_nothrow_default_constructible<key_equal>::value &&
51
- is_nothrow_default_constructible<allocator_type>::value);
52
- explicit unordered_map(size_type n, const hasher& hf = hasher(),
53
- const key_equal& eql = key_equal(),
54
- const allocator_type& a = allocator_type());
55
- template <class InputIterator>
56
- unordered_map(InputIterator f, InputIterator l,
57
- size_type n = 0, const hasher& hf = hasher(),
58
- const key_equal& eql = key_equal(),
59
- const allocator_type& a = allocator_type());
60
- explicit unordered_map(const allocator_type&);
61
- unordered_map(const unordered_map&);
62
- unordered_map(const unordered_map&, const Allocator&);
63
- unordered_map(unordered_map&&)
64
- noexcept(
65
- is_nothrow_move_constructible<hasher>::value &&
66
- is_nothrow_move_constructible<key_equal>::value &&
67
- is_nothrow_move_constructible<allocator_type>::value);
68
- unordered_map(unordered_map&&, const Allocator&);
69
- unordered_map(initializer_list<value_type>, size_type n = 0,
70
- const hasher& hf = hasher(), const key_equal& eql = key_equal(),
71
- const allocator_type& a = allocator_type());
72
- unordered_map(size_type n, const allocator_type& a)
73
- : unordered_map(n, hasher(), key_equal(), a) {} // C++14
74
- unordered_map(size_type n, const hasher& hf, const allocator_type& a)
75
- : unordered_map(n, hf, key_equal(), a) {} // C++14
76
- template <class InputIterator>
77
- unordered_map(InputIterator f, InputIterator l, size_type n, const allocator_type& a)
78
- : unordered_map(f, l, n, hasher(), key_equal(), a) {} // C++14
79
- template <class InputIterator>
80
- unordered_map(InputIterator f, InputIterator l, size_type n, const hasher& hf,
81
- const allocator_type& a)
82
- : unordered_map(f, l, n, hf, key_equal(), a) {} // C++14
83
- unordered_map(initializer_list<value_type> il, size_type n, const allocator_type& a)
84
- : unordered_map(il, n, hasher(), key_equal(), a) {} // C++14
85
- unordered_map(initializer_list<value_type> il, size_type n, const hasher& hf,
86
- const allocator_type& a)
87
- : unordered_map(il, n, hf, key_equal(), a) {} // C++14
88
- ~unordered_map();
89
- unordered_map& operator=(const unordered_map&);
90
- unordered_map& operator=(unordered_map&&)
91
- noexcept(
92
- allocator_type::propagate_on_container_move_assignment::value &&
93
- is_nothrow_move_assignable<allocator_type>::value &&
94
- is_nothrow_move_assignable<hasher>::value &&
95
- is_nothrow_move_assignable<key_equal>::value);
96
- unordered_map& operator=(initializer_list<value_type>);
97
-
98
- allocator_type get_allocator() const noexcept;
99
-
100
- bool empty() const noexcept;
101
- size_type size() const noexcept;
102
- size_type max_size() const noexcept;
103
-
104
- iterator begin() noexcept;
105
- iterator end() noexcept;
106
- const_iterator begin() const noexcept;
107
- const_iterator end() const noexcept;
108
- const_iterator cbegin() const noexcept;
109
- const_iterator cend() const noexcept;
110
-
111
- template <class... Args>
112
- pair<iterator, bool> emplace(Args&&... args);
113
- template <class... Args>
114
- iterator emplace_hint(const_iterator position, Args&&... args);
115
- pair<iterator, bool> insert(const value_type& obj);
116
- template <class P>
117
- pair<iterator, bool> insert(P&& obj);
118
- iterator insert(const_iterator hint, const value_type& obj);
119
- template <class P>
120
- iterator insert(const_iterator hint, P&& obj);
121
- template <class InputIterator>
122
- void insert(InputIterator first, InputIterator last);
123
- void insert(initializer_list<value_type>);
124
-
125
- iterator erase(const_iterator position);
126
- size_type erase(const key_type& k);
127
- iterator erase(const_iterator first, const_iterator last);
128
- void clear() noexcept;
129
-
130
- void swap(unordered_map&)
131
- noexcept(
132
- (!allocator_type::propagate_on_container_swap::value ||
133
- __is_nothrow_swappable<allocator_type>::value) &&
134
- __is_nothrow_swappable<hasher>::value &&
135
- __is_nothrow_swappable<key_equal>::value);
136
-
137
- hasher hash_function() const;
138
- key_equal key_eq() const;
139
-
140
- iterator find(const key_type& k);
141
- const_iterator find(const key_type& k) const;
142
- size_type count(const key_type& k) const;
143
- pair<iterator, iterator> equal_range(const key_type& k);
144
- pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
145
-
146
- mapped_type& operator[](const key_type& k);
147
- mapped_type& operator[](key_type&& k);
148
-
149
- mapped_type& at(const key_type& k);
150
- const mapped_type& at(const key_type& k) const;
151
-
152
- size_type bucket_count() const noexcept;
153
- size_type max_bucket_count() const noexcept;
154
-
155
- size_type bucket_size(size_type n) const;
156
- size_type bucket(const key_type& k) const;
157
-
158
- local_iterator begin(size_type n);
159
- local_iterator end(size_type n);
160
- const_local_iterator begin(size_type n) const;
161
- const_local_iterator end(size_type n) const;
162
- const_local_iterator cbegin(size_type n) const;
163
- const_local_iterator cend(size_type n) const;
164
-
165
- float load_factor() const noexcept;
166
- float max_load_factor() const noexcept;
167
- void max_load_factor(float z);
168
- void rehash(size_type n);
169
- void reserve(size_type n);
170
- };
171
-
172
- template <class Key, class T, class Hash, class Pred, class Alloc>
173
- void swap(unordered_map<Key, T, Hash, Pred, Alloc>& x,
174
- unordered_map<Key, T, Hash, Pred, Alloc>& y)
175
- noexcept(noexcept(x.swap(y)));
176
-
177
- template <class Key, class T, class Hash, class Pred, class Alloc>
178
- bool
179
- operator==(const unordered_map<Key, T, Hash, Pred, Alloc>& x,
180
- const unordered_map<Key, T, Hash, Pred, Alloc>& y);
181
-
182
- template <class Key, class T, class Hash, class Pred, class Alloc>
183
- bool
184
- operator!=(const unordered_map<Key, T, Hash, Pred, Alloc>& x,
185
- const unordered_map<Key, T, Hash, Pred, Alloc>& y);
186
-
187
- template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
188
- class Alloc = allocator<pair<const Key, T>>>
189
- class unordered_multimap
190
- {
191
- public:
192
- // types
193
- typedef Key key_type;
194
- typedef T mapped_type;
195
- typedef Hash hasher;
196
- typedef Pred key_equal;
197
- typedef Alloc allocator_type;
198
- typedef pair<const key_type, mapped_type> value_type;
199
- typedef value_type& reference;
200
- typedef const value_type& const_reference;
201
- typedef typename allocator_traits<allocator_type>::pointer pointer;
202
- typedef typename allocator_traits<allocator_type>::const_pointer const_pointer;
203
- typedef typename allocator_traits<allocator_type>::size_type size_type;
204
- typedef typename allocator_traits<allocator_type>::difference_type difference_type;
205
-
206
- typedef /unspecified/ iterator;
207
- typedef /unspecified/ const_iterator;
208
- typedef /unspecified/ local_iterator;
209
- typedef /unspecified/ const_local_iterator;
210
-
211
- unordered_multimap()
212
- noexcept(
213
- is_nothrow_default_constructible<hasher>::value &&
214
- is_nothrow_default_constructible<key_equal>::value &&
215
- is_nothrow_default_constructible<allocator_type>::value);
216
- explicit unordered_multimap(size_type n, const hasher& hf = hasher(),
217
- const key_equal& eql = key_equal(),
218
- const allocator_type& a = allocator_type());
219
- template <class InputIterator>
220
- unordered_multimap(InputIterator f, InputIterator l,
221
- size_type n = 0, const hasher& hf = hasher(),
222
- const key_equal& eql = key_equal(),
223
- const allocator_type& a = allocator_type());
224
- explicit unordered_multimap(const allocator_type&);
225
- unordered_multimap(const unordered_multimap&);
226
- unordered_multimap(const unordered_multimap&, const Allocator&);
227
- unordered_multimap(unordered_multimap&&)
228
- noexcept(
229
- is_nothrow_move_constructible<hasher>::value &&
230
- is_nothrow_move_constructible<key_equal>::value &&
231
- is_nothrow_move_constructible<allocator_type>::value);
232
- unordered_multimap(unordered_multimap&&, const Allocator&);
233
- unordered_multimap(initializer_list<value_type>, size_type n = 0,
234
- const hasher& hf = hasher(), const key_equal& eql = key_equal(),
235
- const allocator_type& a = allocator_type());
236
- unordered_multimap(size_type n, const allocator_type& a)
237
- : unordered_multimap(n, hasher(), key_equal(), a) {} // C++14
238
- unordered_multimap(size_type n, const hasher& hf, const allocator_type& a)
239
- : unordered_multimap(n, hf, key_equal(), a) {} // C++14
240
- template <class InputIterator>
241
- unordered_multimap(InputIterator f, InputIterator l, size_type n, const allocator_type& a)
242
- : unordered_multimap(f, l, n, hasher(), key_equal(), a) {} // C++14
243
- template <class InputIterator>
244
- unordered_multimap(InputIterator f, InputIterator l, size_type n, const hasher& hf,
245
- const allocator_type& a)
246
- : unordered_multimap(f, l, n, hf, key_equal(), a) {} // C++14
247
- unordered_multimap(initializer_list<value_type> il, size_type n, const allocator_type& a)
248
- : unordered_multimap(il, n, hasher(), key_equal(), a) {} // C++14
249
- unordered_multimap(initializer_list<value_type> il, size_type n, const hasher& hf,
250
- const allocator_type& a)
251
- : unordered_multimap(il, n, hf, key_equal(), a) {} // C++14
252
- ~unordered_multimap();
253
- unordered_multimap& operator=(const unordered_multimap&);
254
- unordered_multimap& operator=(unordered_multimap&&)
255
- noexcept(
256
- allocator_type::propagate_on_container_move_assignment::value &&
257
- is_nothrow_move_assignable<allocator_type>::value &&
258
- is_nothrow_move_assignable<hasher>::value &&
259
- is_nothrow_move_assignable<key_equal>::value);
260
- unordered_multimap& operator=(initializer_list<value_type>);
261
-
262
- allocator_type get_allocator() const noexcept;
263
-
264
- bool empty() const noexcept;
265
- size_type size() const noexcept;
266
- size_type max_size() const noexcept;
267
-
268
- iterator begin() noexcept;
269
- iterator end() noexcept;
270
- const_iterator begin() const noexcept;
271
- const_iterator end() const noexcept;
272
- const_iterator cbegin() const noexcept;
273
- const_iterator cend() const noexcept;
274
-
275
- template <class... Args>
276
- iterator emplace(Args&&... args);
277
- template <class... Args>
278
- iterator emplace_hint(const_iterator position, Args&&... args);
279
- iterator insert(const value_type& obj);
280
- template <class P>
281
- iterator insert(P&& obj);
282
- iterator insert(const_iterator hint, const value_type& obj);
283
- template <class P>
284
- iterator insert(const_iterator hint, P&& obj);
285
- template <class InputIterator>
286
- void insert(InputIterator first, InputIterator last);
287
- void insert(initializer_list<value_type>);
288
-
289
- iterator erase(const_iterator position);
290
- size_type erase(const key_type& k);
291
- iterator erase(const_iterator first, const_iterator last);
292
- void clear() noexcept;
293
-
294
- void swap(unordered_multimap&)
295
- noexcept(
296
- (!allocator_type::propagate_on_container_swap::value ||
297
- __is_nothrow_swappable<allocator_type>::value) &&
298
- __is_nothrow_swappable<hasher>::value &&
299
- __is_nothrow_swappable<key_equal>::value);
300
-
301
- hasher hash_function() const;
302
- key_equal key_eq() const;
303
-
304
- iterator find(const key_type& k);
305
- const_iterator find(const key_type& k) const;
306
- size_type count(const key_type& k) const;
307
- pair<iterator, iterator> equal_range(const key_type& k);
308
- pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
309
-
310
- size_type bucket_count() const noexcept;
311
- size_type max_bucket_count() const noexcept;
312
-
313
- size_type bucket_size(size_type n) const;
314
- size_type bucket(const key_type& k) const;
315
-
316
- local_iterator begin(size_type n);
317
- local_iterator end(size_type n);
318
- const_local_iterator begin(size_type n) const;
319
- const_local_iterator end(size_type n) const;
320
- const_local_iterator cbegin(size_type n) const;
321
- const_local_iterator cend(size_type n) const;
322
-
323
- float load_factor() const noexcept;
324
- float max_load_factor() const noexcept;
325
- void max_load_factor(float z);
326
- void rehash(size_type n);
327
- void reserve(size_type n);
328
- };
329
-
330
- template <class Key, class T, class Hash, class Pred, class Alloc>
331
- void swap(unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
332
- unordered_multimap<Key, T, Hash, Pred, Alloc>& y)
333
- noexcept(noexcept(x.swap(y)));
334
-
335
- template <class Key, class T, class Hash, class Pred, class Alloc>
336
- bool
337
- operator==(const unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
338
- const unordered_multimap<Key, T, Hash, Pred, Alloc>& y);
339
-
340
- template <class Key, class T, class Hash, class Pred, class Alloc>
341
- bool
342
- operator!=(const unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
343
- const unordered_multimap<Key, T, Hash, Pred, Alloc>& y);
344
-
345
- } // std
346
-
347
- */
348
-
349
- #include <__config>
350
- #include <__hash_table>
351
- #include <functional>
352
- #include <stdexcept>
353
-
354
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
355
- #pragma GCC system_header
356
- #endif
357
-
358
- _LIBCPP_BEGIN_NAMESPACE_STD
359
-
360
- template <class _Key, class _Cp, class _Hash, bool = is_empty<_Hash>::value
361
- #if __has_feature(is_final)
362
- && !__is_final(_Hash)
363
- #endif
364
- >
365
- class __unordered_map_hasher
366
- : private _Hash
367
- {
368
- public:
369
- _LIBCPP_INLINE_VISIBILITY
370
- __unordered_map_hasher()
371
- _NOEXCEPT_(is_nothrow_default_constructible<_Hash>::value)
372
- : _Hash() {}
373
- _LIBCPP_INLINE_VISIBILITY
374
- __unordered_map_hasher(const _Hash& __h)
375
- _NOEXCEPT_(is_nothrow_copy_constructible<_Hash>::value)
376
- : _Hash(__h) {}
377
- _LIBCPP_INLINE_VISIBILITY
378
- const _Hash& hash_function() const _NOEXCEPT {return *this;}
379
- _LIBCPP_INLINE_VISIBILITY
380
- size_t operator()(const _Cp& __x) const
381
- {return static_cast<const _Hash&>(*this)(__x.__cc.first);}
382
- _LIBCPP_INLINE_VISIBILITY
383
- size_t operator()(const _Key& __x) const
384
- {return static_cast<const _Hash&>(*this)(__x);}
385
- };
386
-
387
- template <class _Key, class _Cp, class _Hash>
388
- class __unordered_map_hasher<_Key, _Cp, _Hash, false>
389
- {
390
- _Hash __hash_;
391
-
392
- public:
393
- _LIBCPP_INLINE_VISIBILITY
394
- __unordered_map_hasher()
395
- _NOEXCEPT_(is_nothrow_default_constructible<_Hash>::value)
396
- : __hash_() {}
397
- _LIBCPP_INLINE_VISIBILITY
398
- __unordered_map_hasher(const _Hash& __h)
399
- _NOEXCEPT_(is_nothrow_copy_constructible<_Hash>::value)
400
- : __hash_(__h) {}
401
- _LIBCPP_INLINE_VISIBILITY
402
- const _Hash& hash_function() const _NOEXCEPT {return __hash_;}
403
- _LIBCPP_INLINE_VISIBILITY
404
- size_t operator()(const _Cp& __x) const
405
- {return __hash_(__x.__cc.first);}
406
- _LIBCPP_INLINE_VISIBILITY
407
- size_t operator()(const _Key& __x) const
408
- {return __hash_(__x);}
409
- };
410
-
411
- template <class _Key, class _Cp, class _Pred, bool = is_empty<_Pred>::value
412
- #if __has_feature(is_final)
413
- && !__is_final(_Pred)
414
- #endif
415
- >
416
- class __unordered_map_equal
417
- : private _Pred
418
- {
419
- public:
420
- _LIBCPP_INLINE_VISIBILITY
421
- __unordered_map_equal()
422
- _NOEXCEPT_(is_nothrow_default_constructible<_Pred>::value)
423
- : _Pred() {}
424
- _LIBCPP_INLINE_VISIBILITY
425
- __unordered_map_equal(const _Pred& __p)
426
- _NOEXCEPT_(is_nothrow_copy_constructible<_Pred>::value)
427
- : _Pred(__p) {}
428
- _LIBCPP_INLINE_VISIBILITY
429
- const _Pred& key_eq() const _NOEXCEPT {return *this;}
430
- _LIBCPP_INLINE_VISIBILITY
431
- bool operator()(const _Cp& __x, const _Cp& __y) const
432
- {return static_cast<const _Pred&>(*this)(__x.__cc.first, __y.__cc.first);}
433
- _LIBCPP_INLINE_VISIBILITY
434
- bool operator()(const _Cp& __x, const _Key& __y) const
435
- {return static_cast<const _Pred&>(*this)(__x.__cc.first, __y);}
436
- _LIBCPP_INLINE_VISIBILITY
437
- bool operator()(const _Key& __x, const _Cp& __y) const
438
- {return static_cast<const _Pred&>(*this)(__x, __y.__cc.first);}
439
- };
440
-
441
- template <class _Key, class _Cp, class _Pred>
442
- class __unordered_map_equal<_Key, _Cp, _Pred, false>
443
- {
444
- _Pred __pred_;
445
-
446
- public:
447
- _LIBCPP_INLINE_VISIBILITY
448
- __unordered_map_equal()
449
- _NOEXCEPT_(is_nothrow_default_constructible<_Pred>::value)
450
- : __pred_() {}
451
- _LIBCPP_INLINE_VISIBILITY
452
- __unordered_map_equal(const _Pred& __p)
453
- _NOEXCEPT_(is_nothrow_copy_constructible<_Pred>::value)
454
- : __pred_(__p) {}
455
- _LIBCPP_INLINE_VISIBILITY
456
- const _Pred& key_eq() const _NOEXCEPT {return __pred_;}
457
- _LIBCPP_INLINE_VISIBILITY
458
- bool operator()(const _Cp& __x, const _Cp& __y) const
459
- {return __pred_(__x.__cc.first, __y.__cc.first);}
460
- _LIBCPP_INLINE_VISIBILITY
461
- bool operator()(const _Cp& __x, const _Key& __y) const
462
- {return __pred_(__x.__cc.first, __y);}
463
- _LIBCPP_INLINE_VISIBILITY
464
- bool operator()(const _Key& __x, const _Cp& __y) const
465
- {return __pred_(__x, __y.__cc.first);}
466
- };
467
-
468
- template <class _Alloc>
469
- class __hash_map_node_destructor
470
- {
471
- typedef _Alloc allocator_type;
472
- typedef allocator_traits<allocator_type> __alloc_traits;
473
- typedef typename __alloc_traits::value_type::value_type value_type;
474
- public:
475
- typedef typename __alloc_traits::pointer pointer;
476
- private:
477
- typedef typename value_type::value_type::first_type first_type;
478
- typedef typename value_type::value_type::second_type second_type;
479
-
480
- allocator_type& __na_;
481
-
482
- __hash_map_node_destructor& operator=(const __hash_map_node_destructor&);
483
-
484
- public:
485
- bool __first_constructed;
486
- bool __second_constructed;
487
-
488
- _LIBCPP_INLINE_VISIBILITY
489
- explicit __hash_map_node_destructor(allocator_type& __na) _NOEXCEPT
490
- : __na_(__na),
491
- __first_constructed(false),
492
- __second_constructed(false)
493
- {}
494
-
495
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
496
- _LIBCPP_INLINE_VISIBILITY
497
- __hash_map_node_destructor(__hash_node_destructor<allocator_type>&& __x)
498
- _NOEXCEPT
499
- : __na_(__x.__na_),
500
- __first_constructed(__x.__value_constructed),
501
- __second_constructed(__x.__value_constructed)
502
- {
503
- __x.__value_constructed = false;
504
- }
505
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
506
- _LIBCPP_INLINE_VISIBILITY
507
- __hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
508
- : __na_(__x.__na_),
509
- __first_constructed(__x.__value_constructed),
510
- __second_constructed(__x.__value_constructed)
511
- {
512
- const_cast<bool&>(__x.__value_constructed) = false;
513
- }
514
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
515
-
516
- _LIBCPP_INLINE_VISIBILITY
517
- void operator()(pointer __p) _NOEXCEPT
518
- {
519
- if (__second_constructed)
520
- __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__cc.second));
521
- if (__first_constructed)
522
- __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__cc.first));
523
- if (__p)
524
- __alloc_traits::deallocate(__na_, __p, 1);
525
- }
526
- };
527
-
528
- #if __cplusplus >= 201103L
529
-
530
- template <class _Key, class _Tp>
531
- union __hash_value_type
532
- {
533
- typedef _Key key_type;
534
- typedef _Tp mapped_type;
535
- typedef pair<const key_type, mapped_type> value_type;
536
- typedef pair<key_type, mapped_type> __nc_value_type;
537
-
538
- value_type __cc;
539
- __nc_value_type __nc;
540
-
541
- template <class ..._Args>
542
- _LIBCPP_INLINE_VISIBILITY
543
- __hash_value_type(_Args&& ...__args)
544
- : __cc(std::forward<_Args>(__args)...) {}
545
-
546
- _LIBCPP_INLINE_VISIBILITY
547
- __hash_value_type(const __hash_value_type& __v)
548
- : __cc(__v.__cc) {}
549
-
550
- _LIBCPP_INLINE_VISIBILITY
551
- __hash_value_type(__hash_value_type&& __v)
552
- : __nc(std::move(__v.__nc)) {}
553
-
554
- _LIBCPP_INLINE_VISIBILITY
555
- __hash_value_type& operator=(const __hash_value_type& __v)
556
- {__nc = __v.__cc; return *this;}
557
-
558
- _LIBCPP_INLINE_VISIBILITY
559
- __hash_value_type& operator=(__hash_value_type&& __v)
560
- {__nc = std::move(__v.__nc); return *this;}
561
-
562
- _LIBCPP_INLINE_VISIBILITY
563
- ~__hash_value_type() {__cc.~value_type();}
564
- };
565
-
566
- #else
567
-
568
- template <class _Key, class _Tp>
569
- struct __hash_value_type
570
- {
571
- typedef _Key key_type;
572
- typedef _Tp mapped_type;
573
- typedef pair<const key_type, mapped_type> value_type;
574
-
575
- value_type __cc;
576
-
577
- _LIBCPP_INLINE_VISIBILITY
578
- __hash_value_type() {}
579
-
580
- template <class _A0>
581
- _LIBCPP_INLINE_VISIBILITY
582
- __hash_value_type(const _A0& __a0)
583
- : __cc(__a0) {}
584
-
585
- template <class _A0, class _A1>
586
- _LIBCPP_INLINE_VISIBILITY
587
- __hash_value_type(const _A0& __a0, const _A1& __a1)
588
- : __cc(__a0, __a1) {}
589
- };
590
-
591
- #endif
592
-
593
- template <class _HashIterator>
594
- class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator
595
- {
596
- _HashIterator __i_;
597
-
598
- typedef pointer_traits<typename _HashIterator::pointer> __pointer_traits;
599
- typedef const typename _HashIterator::value_type::value_type::first_type key_type;
600
- typedef typename _HashIterator::value_type::value_type::second_type mapped_type;
601
- public:
602
- typedef forward_iterator_tag iterator_category;
603
- typedef pair<key_type, mapped_type> value_type;
604
- typedef typename _HashIterator::difference_type difference_type;
605
- typedef value_type& reference;
606
- typedef typename __pointer_traits::template
607
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
608
- rebind<value_type>
609
- #else
610
- rebind<value_type>::other
611
- #endif
612
- pointer;
613
-
614
- _LIBCPP_INLINE_VISIBILITY
615
- __hash_map_iterator() _NOEXCEPT {}
616
-
617
- _LIBCPP_INLINE_VISIBILITY
618
- __hash_map_iterator(_HashIterator __i) _NOEXCEPT : __i_(__i) {}
619
-
620
- _LIBCPP_INLINE_VISIBILITY
621
- reference operator*() const {return __i_->__cc;}
622
- _LIBCPP_INLINE_VISIBILITY
623
- pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__cc);}
624
-
625
- _LIBCPP_INLINE_VISIBILITY
626
- __hash_map_iterator& operator++() {++__i_; return *this;}
627
- _LIBCPP_INLINE_VISIBILITY
628
- __hash_map_iterator operator++(int)
629
- {
630
- __hash_map_iterator __t(*this);
631
- ++(*this);
632
- return __t;
633
- }
634
-
635
- friend _LIBCPP_INLINE_VISIBILITY
636
- bool operator==(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
637
- {return __x.__i_ == __y.__i_;}
638
- friend _LIBCPP_INLINE_VISIBILITY
639
- bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
640
- {return __x.__i_ != __y.__i_;}
641
-
642
- template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY unordered_map;
643
- template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap;
644
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator;
645
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator;
646
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator;
647
- };
648
-
649
- template <class _HashIterator>
650
- class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator
651
- {
652
- _HashIterator __i_;
653
-
654
- typedef pointer_traits<typename _HashIterator::pointer> __pointer_traits;
655
- typedef const typename _HashIterator::value_type::value_type::first_type key_type;
656
- typedef typename _HashIterator::value_type::value_type::second_type mapped_type;
657
- public:
658
- typedef forward_iterator_tag iterator_category;
659
- typedef pair<key_type, mapped_type> value_type;
660
- typedef typename _HashIterator::difference_type difference_type;
661
- typedef const value_type& reference;
662
- typedef typename __pointer_traits::template
663
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
664
- rebind<const value_type>
665
- #else
666
- rebind<const value_type>::other
667
- #endif
668
- pointer;
669
-
670
- _LIBCPP_INLINE_VISIBILITY
671
- __hash_map_const_iterator() _NOEXCEPT {}
672
-
673
- _LIBCPP_INLINE_VISIBILITY
674
- __hash_map_const_iterator(_HashIterator __i) _NOEXCEPT : __i_(__i) {}
675
- _LIBCPP_INLINE_VISIBILITY
676
- __hash_map_const_iterator(
677
- __hash_map_iterator<typename _HashIterator::__non_const_iterator> __i)
678
- _NOEXCEPT
679
- : __i_(__i.__i_) {}
680
-
681
- _LIBCPP_INLINE_VISIBILITY
682
- reference operator*() const {return __i_->__cc;}
683
- _LIBCPP_INLINE_VISIBILITY
684
- pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__cc);}
685
-
686
- _LIBCPP_INLINE_VISIBILITY
687
- __hash_map_const_iterator& operator++() {++__i_; return *this;}
688
- _LIBCPP_INLINE_VISIBILITY
689
- __hash_map_const_iterator operator++(int)
690
- {
691
- __hash_map_const_iterator __t(*this);
692
- ++(*this);
693
- return __t;
694
- }
695
-
696
- friend _LIBCPP_INLINE_VISIBILITY
697
- bool operator==(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
698
- {return __x.__i_ == __y.__i_;}
699
- friend _LIBCPP_INLINE_VISIBILITY
700
- bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
701
- {return __x.__i_ != __y.__i_;}
702
-
703
- template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY unordered_map;
704
- template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap;
705
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator;
706
- template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator;
707
- };
708
-
709
- template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = equal_to<_Key>,
710
- class _Alloc = allocator<pair<const _Key, _Tp> > >
711
- class _LIBCPP_TYPE_VIS_ONLY unordered_map
712
- {
713
- public:
714
- // types
715
- typedef _Key key_type;
716
- typedef _Tp mapped_type;
717
- typedef _Hash hasher;
718
- typedef _Pred key_equal;
719
- typedef _Alloc allocator_type;
720
- typedef pair<const key_type, mapped_type> value_type;
721
- typedef pair<key_type, mapped_type> __nc_value_type;
722
- typedef value_type& reference;
723
- typedef const value_type& const_reference;
724
- static_assert((is_same<value_type, typename allocator_type::value_type>::value),
725
- "Invalid allocator::value_type");
726
-
727
- private:
728
- typedef __hash_value_type<key_type, mapped_type> __value_type;
729
- typedef __unordered_map_hasher<key_type, __value_type, hasher> __hasher;
730
- typedef __unordered_map_equal<key_type, __value_type, key_equal> __key_equal;
731
- typedef typename allocator_traits<allocator_type>::template
732
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
733
- rebind_alloc<__value_type>
734
- #else
735
- rebind_alloc<__value_type>::other
736
- #endif
737
- __allocator_type;
738
-
739
- typedef __hash_table<__value_type, __hasher,
740
- __key_equal, __allocator_type> __table;
741
-
742
- __table __table_;
743
-
744
- typedef typename __table::__node_pointer __node_pointer;
745
- typedef typename __table::__node_const_pointer __node_const_pointer;
746
- typedef typename __table::__node_traits __node_traits;
747
- typedef typename __table::__node_allocator __node_allocator;
748
- typedef typename __table::__node __node;
749
- typedef __hash_map_node_destructor<__node_allocator> _Dp;
750
- typedef unique_ptr<__node, _Dp> __node_holder;
751
- typedef allocator_traits<allocator_type> __alloc_traits;
752
- public:
753
- typedef typename __alloc_traits::pointer pointer;
754
- typedef typename __alloc_traits::const_pointer const_pointer;
755
- typedef typename __alloc_traits::size_type size_type;
756
- typedef typename __alloc_traits::difference_type difference_type;
757
-
758
- typedef __hash_map_iterator<typename __table::iterator> iterator;
759
- typedef __hash_map_const_iterator<typename __table::const_iterator> const_iterator;
760
- typedef __hash_map_iterator<typename __table::local_iterator> local_iterator;
761
- typedef __hash_map_const_iterator<typename __table::const_local_iterator> const_local_iterator;
762
-
763
- _LIBCPP_INLINE_VISIBILITY
764
- unordered_map()
765
- _NOEXCEPT_(is_nothrow_default_constructible<__table>::value)
766
- {
767
- #if _LIBCPP_DEBUG_LEVEL >= 2
768
- __get_db()->__insert_c(this);
769
- #endif
770
- }
771
- explicit unordered_map(size_type __n, const hasher& __hf = hasher(),
772
- const key_equal& __eql = key_equal());
773
- unordered_map(size_type __n, const hasher& __hf,
774
- const key_equal& __eql,
775
- const allocator_type& __a);
776
- template <class _InputIterator>
777
- unordered_map(_InputIterator __first, _InputIterator __last);
778
- template <class _InputIterator>
779
- unordered_map(_InputIterator __first, _InputIterator __last,
780
- size_type __n, const hasher& __hf = hasher(),
781
- const key_equal& __eql = key_equal());
782
- template <class _InputIterator>
783
- unordered_map(_InputIterator __first, _InputIterator __last,
784
- size_type __n, const hasher& __hf,
785
- const key_equal& __eql,
786
- const allocator_type& __a);
787
- explicit unordered_map(const allocator_type& __a);
788
- unordered_map(const unordered_map& __u);
789
- unordered_map(const unordered_map& __u, const allocator_type& __a);
790
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
791
- unordered_map(unordered_map&& __u)
792
- _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
793
- unordered_map(unordered_map&& __u, const allocator_type& __a);
794
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
795
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
796
- unordered_map(initializer_list<value_type> __il);
797
- unordered_map(initializer_list<value_type> __il, size_type __n,
798
- const hasher& __hf = hasher(), const key_equal& __eql = key_equal());
799
- unordered_map(initializer_list<value_type> __il, size_type __n,
800
- const hasher& __hf, const key_equal& __eql,
801
- const allocator_type& __a);
802
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
803
- #if _LIBCPP_STD_VER > 11
804
- _LIBCPP_INLINE_VISIBILITY
805
- unordered_map(size_type __n, const allocator_type& __a)
806
- : unordered_map(__n, hasher(), key_equal(), __a) {}
807
- _LIBCPP_INLINE_VISIBILITY
808
- unordered_map(size_type __n, const hasher& __hf, const allocator_type& __a)
809
- : unordered_map(__n, __hf, key_equal(), __a) {}
810
- template <class _InputIterator>
811
- _LIBCPP_INLINE_VISIBILITY
812
- unordered_map(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a)
813
- : unordered_map(__first, __last, __n, hasher(), key_equal(), __a) {}
814
- template <class _InputIterator>
815
- _LIBCPP_INLINE_VISIBILITY
816
- unordered_map(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf,
817
- const allocator_type& __a)
818
- : unordered_map(__first, __last, __n, __hf, key_equal(), __a) {}
819
- _LIBCPP_INLINE_VISIBILITY
820
- unordered_map(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
821
- : unordered_map(__il, __n, hasher(), key_equal(), __a) {}
822
- _LIBCPP_INLINE_VISIBILITY
823
- unordered_map(initializer_list<value_type> __il, size_type __n, const hasher& __hf,
824
- const allocator_type& __a)
825
- : unordered_map(__il, __n, __hf, key_equal(), __a) {}
826
- #endif
827
- // ~unordered_map() = default;
828
- _LIBCPP_INLINE_VISIBILITY
829
- unordered_map& operator=(const unordered_map& __u)
830
- {
831
- #if __cplusplus >= 201103L
832
- __table_ = __u.__table_;
833
- #else
834
- __table_.clear();
835
- __table_.hash_function() = __u.__table_.hash_function();
836
- __table_.key_eq() = __u.__table_.key_eq();
837
- __table_.max_load_factor() = __u.__table_.max_load_factor();
838
- __table_.__copy_assign_alloc(__u.__table_);
839
- insert(__u.begin(), __u.end());
840
- #endif
841
- return *this;
842
- }
843
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
844
- unordered_map& operator=(unordered_map&& __u)
845
- _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
846
- #endif
847
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
848
- unordered_map& operator=(initializer_list<value_type> __il);
849
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
850
-
851
- _LIBCPP_INLINE_VISIBILITY
852
- allocator_type get_allocator() const _NOEXCEPT
853
- {return allocator_type(__table_.__node_alloc());}
854
-
855
- _LIBCPP_INLINE_VISIBILITY
856
- bool empty() const _NOEXCEPT {return __table_.size() == 0;}
857
- _LIBCPP_INLINE_VISIBILITY
858
- size_type size() const _NOEXCEPT {return __table_.size();}
859
- _LIBCPP_INLINE_VISIBILITY
860
- size_type max_size() const _NOEXCEPT {return __table_.max_size();}
861
-
862
- _LIBCPP_INLINE_VISIBILITY
863
- iterator begin() _NOEXCEPT {return __table_.begin();}
864
- _LIBCPP_INLINE_VISIBILITY
865
- iterator end() _NOEXCEPT {return __table_.end();}
866
- _LIBCPP_INLINE_VISIBILITY
867
- const_iterator begin() const _NOEXCEPT {return __table_.begin();}
868
- _LIBCPP_INLINE_VISIBILITY
869
- const_iterator end() const _NOEXCEPT {return __table_.end();}
870
- _LIBCPP_INLINE_VISIBILITY
871
- const_iterator cbegin() const _NOEXCEPT {return __table_.begin();}
872
- _LIBCPP_INLINE_VISIBILITY
873
- const_iterator cend() const _NOEXCEPT {return __table_.end();}
874
-
875
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
876
- #ifndef _LIBCPP_HAS_NO_VARIADICS
877
-
878
- template <class... _Args>
879
- pair<iterator, bool> emplace(_Args&&... __args);
880
-
881
- template <class... _Args>
882
- _LIBCPP_INLINE_VISIBILITY
883
- #if _LIBCPP_DEBUG_LEVEL >= 2
884
- iterator emplace_hint(const_iterator __p, _Args&&... __args)
885
- {
886
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
887
- "unordered_map::emplace_hint(const_iterator, args...) called with an iterator not"
888
- " referring to this unordered_map");
889
- return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...).first;
890
- }
891
- #else
892
- iterator emplace_hint(const_iterator, _Args&&... __args)
893
- {return emplace(_VSTD::forward<_Args>(__args)...).first;}
894
- #endif
895
- #endif // _LIBCPP_HAS_NO_VARIADICS
896
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
897
- _LIBCPP_INLINE_VISIBILITY
898
- pair<iterator, bool> insert(const value_type& __x)
899
- {return __table_.__insert_unique(__x);}
900
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
901
- template <class _Pp,
902
- class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
903
- _LIBCPP_INLINE_VISIBILITY
904
- pair<iterator, bool> insert(_Pp&& __x)
905
- {return __table_.__insert_unique(_VSTD::forward<_Pp>(__x));}
906
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
907
- _LIBCPP_INLINE_VISIBILITY
908
- #if _LIBCPP_DEBUG_LEVEL >= 2
909
- iterator insert(const_iterator __p, const value_type& __x)
910
- {
911
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
912
- "unordered_map::insert(const_iterator, const value_type&) called with an iterator not"
913
- " referring to this unordered_map");
914
- return insert(__x).first;
915
- }
916
- #else
917
- iterator insert(const_iterator, const value_type& __x)
918
- {return insert(__x).first;}
919
- #endif
920
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
921
- template <class _Pp,
922
- class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
923
- _LIBCPP_INLINE_VISIBILITY
924
- #if _LIBCPP_DEBUG_LEVEL >= 2
925
- iterator insert(const_iterator __p, _Pp&& __x)
926
- {
927
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
928
- "unordered_map::insert(const_iterator, value_type&&) called with an iterator not"
929
- " referring to this unordered_map");
930
- return insert(_VSTD::forward<_Pp>(__x)).first;
931
- }
932
- #else
933
- iterator insert(const_iterator, _Pp&& __x)
934
- {return insert(_VSTD::forward<_Pp>(__x)).first;}
935
- #endif
936
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
937
- template <class _InputIterator>
938
- void insert(_InputIterator __first, _InputIterator __last);
939
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
940
- _LIBCPP_INLINE_VISIBILITY
941
- void insert(initializer_list<value_type> __il)
942
- {insert(__il.begin(), __il.end());}
943
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
944
-
945
- _LIBCPP_INLINE_VISIBILITY
946
- iterator erase(const_iterator __p) {return __table_.erase(__p.__i_);}
947
- _LIBCPP_INLINE_VISIBILITY
948
- size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
949
- _LIBCPP_INLINE_VISIBILITY
950
- iterator erase(const_iterator __first, const_iterator __last)
951
- {return __table_.erase(__first.__i_, __last.__i_);}
952
- _LIBCPP_INLINE_VISIBILITY
953
- void clear() _NOEXCEPT {__table_.clear();}
954
-
955
- _LIBCPP_INLINE_VISIBILITY
956
- void swap(unordered_map& __u)
957
- _NOEXCEPT_(__is_nothrow_swappable<__table>::value)
958
- {__table_.swap(__u.__table_);}
959
-
960
- _LIBCPP_INLINE_VISIBILITY
961
- hasher hash_function() const
962
- {return __table_.hash_function().hash_function();}
963
- _LIBCPP_INLINE_VISIBILITY
964
- key_equal key_eq() const
965
- {return __table_.key_eq().key_eq();}
966
-
967
- _LIBCPP_INLINE_VISIBILITY
968
- iterator find(const key_type& __k) {return __table_.find(__k);}
969
- _LIBCPP_INLINE_VISIBILITY
970
- const_iterator find(const key_type& __k) const {return __table_.find(__k);}
971
- _LIBCPP_INLINE_VISIBILITY
972
- size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
973
- _LIBCPP_INLINE_VISIBILITY
974
- pair<iterator, iterator> equal_range(const key_type& __k)
975
- {return __table_.__equal_range_unique(__k);}
976
- _LIBCPP_INLINE_VISIBILITY
977
- pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
978
- {return __table_.__equal_range_unique(__k);}
979
-
980
- mapped_type& operator[](const key_type& __k);
981
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
982
- mapped_type& operator[](key_type&& __k);
983
- #endif
984
-
985
- mapped_type& at(const key_type& __k);
986
- const mapped_type& at(const key_type& __k) const;
987
-
988
- _LIBCPP_INLINE_VISIBILITY
989
- size_type bucket_count() const _NOEXCEPT {return __table_.bucket_count();}
990
- _LIBCPP_INLINE_VISIBILITY
991
- size_type max_bucket_count() const _NOEXCEPT {return __table_.max_bucket_count();}
992
-
993
- _LIBCPP_INLINE_VISIBILITY
994
- size_type bucket_size(size_type __n) const
995
- {return __table_.bucket_size(__n);}
996
- _LIBCPP_INLINE_VISIBILITY
997
- size_type bucket(const key_type& __k) const {return __table_.bucket(__k);}
998
-
999
- _LIBCPP_INLINE_VISIBILITY
1000
- local_iterator begin(size_type __n) {return __table_.begin(__n);}
1001
- _LIBCPP_INLINE_VISIBILITY
1002
- local_iterator end(size_type __n) {return __table_.end(__n);}
1003
- _LIBCPP_INLINE_VISIBILITY
1004
- const_local_iterator begin(size_type __n) const {return __table_.cbegin(__n);}
1005
- _LIBCPP_INLINE_VISIBILITY
1006
- const_local_iterator end(size_type __n) const {return __table_.cend(__n);}
1007
- _LIBCPP_INLINE_VISIBILITY
1008
- const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);}
1009
- _LIBCPP_INLINE_VISIBILITY
1010
- const_local_iterator cend(size_type __n) const {return __table_.cend(__n);}
1011
-
1012
- _LIBCPP_INLINE_VISIBILITY
1013
- float load_factor() const _NOEXCEPT {return __table_.load_factor();}
1014
- _LIBCPP_INLINE_VISIBILITY
1015
- float max_load_factor() const _NOEXCEPT {return __table_.max_load_factor();}
1016
- _LIBCPP_INLINE_VISIBILITY
1017
- void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);}
1018
- _LIBCPP_INLINE_VISIBILITY
1019
- void rehash(size_type __n) {__table_.rehash(__n);}
1020
- _LIBCPP_INLINE_VISIBILITY
1021
- void reserve(size_type __n) {__table_.reserve(__n);}
1022
-
1023
- #if _LIBCPP_DEBUG_LEVEL >= 2
1024
-
1025
- bool __dereferenceable(const const_iterator* __i) const
1026
- {return __table_.__dereferenceable(&__i->__i_);}
1027
- bool __decrementable(const const_iterator* __i) const
1028
- {return __table_.__decrementable(&__i->__i_);}
1029
- bool __addable(const const_iterator* __i, ptrdiff_t __n) const
1030
- {return __table_.__addable(&__i->__i_, __n);}
1031
- bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const
1032
- {return __table_.__addable(&__i->__i_, __n);}
1033
-
1034
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
1035
-
1036
- private:
1037
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1038
- __node_holder __construct_node();
1039
- template <class _A0>
1040
- __node_holder
1041
- __construct_node(_A0&& __a0);
1042
- __node_holder __construct_node_with_key(key_type&& __k);
1043
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1044
- template <class _A0, class _A1, class ..._Args>
1045
- __node_holder __construct_node(_A0&& __a0, _A1&& __a1, _Args&& ...__args);
1046
- #endif // _LIBCPP_HAS_NO_VARIADICS
1047
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1048
- __node_holder __construct_node_with_key(const key_type& __k);
1049
- };
1050
-
1051
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1052
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1053
- size_type __n, const hasher& __hf, const key_equal& __eql)
1054
- : __table_(__hf, __eql)
1055
- {
1056
- #if _LIBCPP_DEBUG_LEVEL >= 2
1057
- __get_db()->__insert_c(this);
1058
- #endif
1059
- __table_.rehash(__n);
1060
- }
1061
-
1062
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1063
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1064
- size_type __n, const hasher& __hf, const key_equal& __eql,
1065
- const allocator_type& __a)
1066
- : __table_(__hf, __eql, __a)
1067
- {
1068
- #if _LIBCPP_DEBUG_LEVEL >= 2
1069
- __get_db()->__insert_c(this);
1070
- #endif
1071
- __table_.rehash(__n);
1072
- }
1073
-
1074
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1075
- inline _LIBCPP_INLINE_VISIBILITY
1076
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1077
- const allocator_type& __a)
1078
- : __table_(__a)
1079
- {
1080
- #if _LIBCPP_DEBUG_LEVEL >= 2
1081
- __get_db()->__insert_c(this);
1082
- #endif
1083
- }
1084
-
1085
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1086
- template <class _InputIterator>
1087
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1088
- _InputIterator __first, _InputIterator __last)
1089
- {
1090
- #if _LIBCPP_DEBUG_LEVEL >= 2
1091
- __get_db()->__insert_c(this);
1092
- #endif
1093
- insert(__first, __last);
1094
- }
1095
-
1096
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1097
- template <class _InputIterator>
1098
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1099
- _InputIterator __first, _InputIterator __last, size_type __n,
1100
- const hasher& __hf, const key_equal& __eql)
1101
- : __table_(__hf, __eql)
1102
- {
1103
- #if _LIBCPP_DEBUG_LEVEL >= 2
1104
- __get_db()->__insert_c(this);
1105
- #endif
1106
- __table_.rehash(__n);
1107
- insert(__first, __last);
1108
- }
1109
-
1110
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1111
- template <class _InputIterator>
1112
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1113
- _InputIterator __first, _InputIterator __last, size_type __n,
1114
- const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
1115
- : __table_(__hf, __eql, __a)
1116
- {
1117
- #if _LIBCPP_DEBUG_LEVEL >= 2
1118
- __get_db()->__insert_c(this);
1119
- #endif
1120
- __table_.rehash(__n);
1121
- insert(__first, __last);
1122
- }
1123
-
1124
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1125
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1126
- const unordered_map& __u)
1127
- : __table_(__u.__table_)
1128
- {
1129
- #if _LIBCPP_DEBUG_LEVEL >= 2
1130
- __get_db()->__insert_c(this);
1131
- #endif
1132
- __table_.rehash(__u.bucket_count());
1133
- insert(__u.begin(), __u.end());
1134
- }
1135
-
1136
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1137
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1138
- const unordered_map& __u, const allocator_type& __a)
1139
- : __table_(__u.__table_, __a)
1140
- {
1141
- #if _LIBCPP_DEBUG_LEVEL >= 2
1142
- __get_db()->__insert_c(this);
1143
- #endif
1144
- __table_.rehash(__u.bucket_count());
1145
- insert(__u.begin(), __u.end());
1146
- }
1147
-
1148
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1149
-
1150
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1151
- inline _LIBCPP_INLINE_VISIBILITY
1152
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1153
- unordered_map&& __u)
1154
- _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
1155
- : __table_(_VSTD::move(__u.__table_))
1156
- {
1157
- #if _LIBCPP_DEBUG_LEVEL >= 2
1158
- __get_db()->__insert_c(this);
1159
- __get_db()->swap(this, &__u);
1160
- #endif
1161
- }
1162
-
1163
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1164
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1165
- unordered_map&& __u, const allocator_type& __a)
1166
- : __table_(_VSTD::move(__u.__table_), __a)
1167
- {
1168
- #if _LIBCPP_DEBUG_LEVEL >= 2
1169
- __get_db()->__insert_c(this);
1170
- #endif
1171
- if (__a != __u.get_allocator())
1172
- {
1173
- iterator __i = __u.begin();
1174
- while (__u.size() != 0)
1175
- __table_.__insert_unique(
1176
- _VSTD::move(__u.__table_.remove((__i++).__i_)->__value_)
1177
- );
1178
- }
1179
- #if _LIBCPP_DEBUG_LEVEL >= 2
1180
- else
1181
- __get_db()->swap(this, &__u);
1182
- #endif
1183
- }
1184
-
1185
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1186
-
1187
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1188
-
1189
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1190
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1191
- initializer_list<value_type> __il)
1192
- {
1193
- #if _LIBCPP_DEBUG_LEVEL >= 2
1194
- __get_db()->__insert_c(this);
1195
- #endif
1196
- insert(__il.begin(), __il.end());
1197
- }
1198
-
1199
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1200
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1201
- initializer_list<value_type> __il, size_type __n, const hasher& __hf,
1202
- const key_equal& __eql)
1203
- : __table_(__hf, __eql)
1204
- {
1205
- #if _LIBCPP_DEBUG_LEVEL >= 2
1206
- __get_db()->__insert_c(this);
1207
- #endif
1208
- __table_.rehash(__n);
1209
- insert(__il.begin(), __il.end());
1210
- }
1211
-
1212
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1213
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
1214
- initializer_list<value_type> __il, size_type __n, const hasher& __hf,
1215
- const key_equal& __eql, const allocator_type& __a)
1216
- : __table_(__hf, __eql, __a)
1217
- {
1218
- #if _LIBCPP_DEBUG_LEVEL >= 2
1219
- __get_db()->__insert_c(this);
1220
- #endif
1221
- __table_.rehash(__n);
1222
- insert(__il.begin(), __il.end());
1223
- }
1224
-
1225
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1226
-
1227
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1228
-
1229
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1230
- inline _LIBCPP_INLINE_VISIBILITY
1231
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&
1232
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_map&& __u)
1233
- _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
1234
- {
1235
- __table_ = _VSTD::move(__u.__table_);
1236
- return *this;
1237
- }
1238
-
1239
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1240
-
1241
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1242
-
1243
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1244
- inline _LIBCPP_INLINE_VISIBILITY
1245
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&
1246
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
1247
- initializer_list<value_type> __il)
1248
- {
1249
- __table_.__assign_unique(__il.begin(), __il.end());
1250
- return *this;
1251
- }
1252
-
1253
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1254
-
1255
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1256
-
1257
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1258
- typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1259
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node()
1260
- {
1261
- __node_allocator& __na = __table_.__node_alloc();
1262
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1263
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_));
1264
- __h.get_deleter().__first_constructed = true;
1265
- __h.get_deleter().__second_constructed = true;
1266
- return __h;
1267
- }
1268
-
1269
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1270
- template <class _A0>
1271
- typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1272
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0)
1273
- {
1274
- __node_allocator& __na = __table_.__node_alloc();
1275
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1276
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_),
1277
- _VSTD::forward<_A0>(__a0));
1278
- __h.get_deleter().__first_constructed = true;
1279
- __h.get_deleter().__second_constructed = true;
1280
- return __h;
1281
- }
1282
-
1283
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1284
- typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1285
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node_with_key(key_type&& __k)
1286
- {
1287
- __node_allocator& __na = __table_.__node_alloc();
1288
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1289
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__cc.first), _VSTD::move(__k));
1290
- __h.get_deleter().__first_constructed = true;
1291
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__cc.second));
1292
- __h.get_deleter().__second_constructed = true;
1293
- return __h;
1294
- }
1295
-
1296
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1297
-
1298
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1299
- template <class _A0, class _A1, class ..._Args>
1300
- typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1301
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0,
1302
- _A1&& __a1,
1303
- _Args&&... __args)
1304
- {
1305
- __node_allocator& __na = __table_.__node_alloc();
1306
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1307
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_),
1308
- _VSTD::forward<_A0>(__a0), _VSTD::forward<_A1>(__a1),
1309
- _VSTD::forward<_Args>(__args)...);
1310
- __h.get_deleter().__first_constructed = true;
1311
- __h.get_deleter().__second_constructed = true;
1312
- return __h;
1313
- }
1314
-
1315
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1316
- template <class... _Args>
1317
- pair<typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator, bool>
1318
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_Args&&... __args)
1319
- {
1320
- __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
1321
- pair<iterator, bool> __r = __table_.__node_insert_unique(__h.get());
1322
- if (__r.second)
1323
- __h.release();
1324
- return __r;
1325
- }
1326
-
1327
- #endif // _LIBCPP_HAS_NO_VARIADICS
1328
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1329
-
1330
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1331
- typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1332
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node_with_key(const key_type& __k)
1333
- {
1334
- __node_allocator& __na = __table_.__node_alloc();
1335
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1336
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__cc.first), __k);
1337
- __h.get_deleter().__first_constructed = true;
1338
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__cc.second));
1339
- __h.get_deleter().__second_constructed = true;
1340
- return _VSTD::move(__h); // explicitly moved for C++03
1341
- }
1342
-
1343
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1344
- template <class _InputIterator>
1345
- inline _LIBCPP_INLINE_VISIBILITY
1346
- void
1347
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
1348
- _InputIterator __last)
1349
- {
1350
- for (; __first != __last; ++__first)
1351
- __table_.__insert_unique(*__first);
1352
- }
1353
-
1354
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1355
- _Tp&
1356
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type& __k)
1357
- {
1358
- iterator __i = find(__k);
1359
- if (__i != end())
1360
- return __i->second;
1361
- __node_holder __h = __construct_node_with_key(__k);
1362
- pair<iterator, bool> __r = __table_.__node_insert_unique(__h.get());
1363
- __h.release();
1364
- return __r.first->second;
1365
- }
1366
-
1367
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1368
-
1369
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1370
- _Tp&
1371
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](key_type&& __k)
1372
- {
1373
- iterator __i = find(__k);
1374
- if (__i != end())
1375
- return __i->second;
1376
- __node_holder __h = __construct_node_with_key(_VSTD::move(__k));
1377
- pair<iterator, bool> __r = __table_.__node_insert_unique(__h.get());
1378
- __h.release();
1379
- return __r.first->second;
1380
- }
1381
-
1382
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1383
-
1384
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1385
- _Tp&
1386
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k)
1387
- {
1388
- iterator __i = find(__k);
1389
- #ifndef _LIBCPP_NO_EXCEPTIONS
1390
- if (__i == end())
1391
- throw out_of_range("unordered_map::at: key not found");
1392
- #endif // _LIBCPP_NO_EXCEPTIONS
1393
- return __i->second;
1394
- }
1395
-
1396
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1397
- const _Tp&
1398
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k) const
1399
- {
1400
- const_iterator __i = find(__k);
1401
- #ifndef _LIBCPP_NO_EXCEPTIONS
1402
- if (__i == end())
1403
- throw out_of_range("unordered_map::at: key not found");
1404
- #endif // _LIBCPP_NO_EXCEPTIONS
1405
- return __i->second;
1406
- }
1407
-
1408
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1409
- inline _LIBCPP_INLINE_VISIBILITY
1410
- void
1411
- swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412
- unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1413
- _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
1414
- {
1415
- __x.swap(__y);
1416
- }
1417
-
1418
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1419
- bool
1420
- operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1421
- const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1422
- {
1423
- if (__x.size() != __y.size())
1424
- return false;
1425
- typedef typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator
1426
- const_iterator;
1427
- for (const_iterator __i = __x.begin(), __ex = __x.end(), __ey = __y.end();
1428
- __i != __ex; ++__i)
1429
- {
1430
- const_iterator __j = __y.find(__i->first);
1431
- if (__j == __ey || !(*__i == *__j))
1432
- return false;
1433
- }
1434
- return true;
1435
- }
1436
-
1437
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1438
- inline _LIBCPP_INLINE_VISIBILITY
1439
- bool
1440
- operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1441
- const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1442
- {
1443
- return !(__x == __y);
1444
- }
1445
-
1446
- template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = equal_to<_Key>,
1447
- class _Alloc = allocator<pair<const _Key, _Tp> > >
1448
- class _LIBCPP_TYPE_VIS_ONLY unordered_multimap
1449
- {
1450
- public:
1451
- // types
1452
- typedef _Key key_type;
1453
- typedef _Tp mapped_type;
1454
- typedef _Hash hasher;
1455
- typedef _Pred key_equal;
1456
- typedef _Alloc allocator_type;
1457
- typedef pair<const key_type, mapped_type> value_type;
1458
- typedef pair<key_type, mapped_type> __nc_value_type;
1459
- typedef value_type& reference;
1460
- typedef const value_type& const_reference;
1461
- static_assert((is_same<value_type, typename allocator_type::value_type>::value),
1462
- "Invalid allocator::value_type");
1463
-
1464
- private:
1465
- typedef __hash_value_type<key_type, mapped_type> __value_type;
1466
- typedef __unordered_map_hasher<key_type, __value_type, hasher> __hasher;
1467
- typedef __unordered_map_equal<key_type, __value_type, key_equal> __key_equal;
1468
- typedef typename allocator_traits<allocator_type>::template
1469
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
1470
- rebind_alloc<__value_type>
1471
- #else
1472
- rebind_alloc<__value_type>::other
1473
- #endif
1474
- __allocator_type;
1475
-
1476
- typedef __hash_table<__value_type, __hasher,
1477
- __key_equal, __allocator_type> __table;
1478
-
1479
- __table __table_;
1480
-
1481
- typedef typename __table::__node_traits __node_traits;
1482
- typedef typename __table::__node_allocator __node_allocator;
1483
- typedef typename __table::__node __node;
1484
- typedef __hash_map_node_destructor<__node_allocator> _Dp;
1485
- typedef unique_ptr<__node, _Dp> __node_holder;
1486
- typedef allocator_traits<allocator_type> __alloc_traits;
1487
- public:
1488
- typedef typename __alloc_traits::pointer pointer;
1489
- typedef typename __alloc_traits::const_pointer const_pointer;
1490
- typedef typename __alloc_traits::size_type size_type;
1491
- typedef typename __alloc_traits::difference_type difference_type;
1492
-
1493
- typedef __hash_map_iterator<typename __table::iterator> iterator;
1494
- typedef __hash_map_const_iterator<typename __table::const_iterator> const_iterator;
1495
- typedef __hash_map_iterator<typename __table::local_iterator> local_iterator;
1496
- typedef __hash_map_const_iterator<typename __table::const_local_iterator> const_local_iterator;
1497
-
1498
- _LIBCPP_INLINE_VISIBILITY
1499
- unordered_multimap()
1500
- _NOEXCEPT_(is_nothrow_default_constructible<__table>::value)
1501
- {
1502
- #if _LIBCPP_DEBUG_LEVEL >= 2
1503
- __get_db()->__insert_c(this);
1504
- #endif
1505
- }
1506
- explicit unordered_multimap(size_type __n, const hasher& __hf = hasher(),
1507
- const key_equal& __eql = key_equal());
1508
- unordered_multimap(size_type __n, const hasher& __hf,
1509
- const key_equal& __eql,
1510
- const allocator_type& __a);
1511
- template <class _InputIterator>
1512
- unordered_multimap(_InputIterator __first, _InputIterator __last);
1513
- template <class _InputIterator>
1514
- unordered_multimap(_InputIterator __first, _InputIterator __last,
1515
- size_type __n, const hasher& __hf = hasher(),
1516
- const key_equal& __eql = key_equal());
1517
- template <class _InputIterator>
1518
- unordered_multimap(_InputIterator __first, _InputIterator __last,
1519
- size_type __n, const hasher& __hf,
1520
- const key_equal& __eql,
1521
- const allocator_type& __a);
1522
- explicit unordered_multimap(const allocator_type& __a);
1523
- unordered_multimap(const unordered_multimap& __u);
1524
- unordered_multimap(const unordered_multimap& __u, const allocator_type& __a);
1525
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1526
- unordered_multimap(unordered_multimap&& __u)
1527
- _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
1528
- unordered_multimap(unordered_multimap&& __u, const allocator_type& __a);
1529
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1530
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1531
- unordered_multimap(initializer_list<value_type> __il);
1532
- unordered_multimap(initializer_list<value_type> __il, size_type __n,
1533
- const hasher& __hf = hasher(),
1534
- const key_equal& __eql = key_equal());
1535
- unordered_multimap(initializer_list<value_type> __il, size_type __n,
1536
- const hasher& __hf, const key_equal& __eql,
1537
- const allocator_type& __a);
1538
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1539
- #if _LIBCPP_STD_VER > 11
1540
- _LIBCPP_INLINE_VISIBILITY
1541
- unordered_multimap(size_type __n, const allocator_type& __a)
1542
- : unordered_multimap(__n, hasher(), key_equal(), __a) {}
1543
- _LIBCPP_INLINE_VISIBILITY
1544
- unordered_multimap(size_type __n, const hasher& __hf, const allocator_type& __a)
1545
- : unordered_multimap(__n, __hf, key_equal(), __a) {}
1546
- template <class _InputIterator>
1547
- _LIBCPP_INLINE_VISIBILITY
1548
- unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a)
1549
- : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a) {}
1550
- template <class _InputIterator>
1551
- _LIBCPP_INLINE_VISIBILITY
1552
- unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf,
1553
- const allocator_type& __a)
1554
- : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a) {}
1555
- _LIBCPP_INLINE_VISIBILITY
1556
- unordered_multimap(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
1557
- : unordered_multimap(__il, __n, hasher(), key_equal(), __a) {}
1558
- _LIBCPP_INLINE_VISIBILITY
1559
- unordered_multimap(initializer_list<value_type> __il, size_type __n, const hasher& __hf,
1560
- const allocator_type& __a)
1561
- : unordered_multimap(__il, __n, __hf, key_equal(), __a) {}
1562
- #endif
1563
- // ~unordered_multimap() = default;
1564
- _LIBCPP_INLINE_VISIBILITY
1565
- unordered_multimap& operator=(const unordered_multimap& __u)
1566
- {
1567
- #if __cplusplus >= 201103L
1568
- __table_ = __u.__table_;
1569
- #else
1570
- __table_.clear();
1571
- __table_.hash_function() = __u.__table_.hash_function();
1572
- __table_.key_eq() = __u.__table_.key_eq();
1573
- __table_.max_load_factor() = __u.__table_.max_load_factor();
1574
- __table_.__copy_assign_alloc(__u.__table_);
1575
- insert(__u.begin(), __u.end());
1576
- #endif
1577
- return *this;
1578
- }
1579
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1580
- unordered_multimap& operator=(unordered_multimap&& __u)
1581
- _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
1582
- #endif
1583
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1584
- unordered_multimap& operator=(initializer_list<value_type> __il);
1585
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1586
-
1587
- _LIBCPP_INLINE_VISIBILITY
1588
- allocator_type get_allocator() const _NOEXCEPT
1589
- {return allocator_type(__table_.__node_alloc());}
1590
-
1591
- _LIBCPP_INLINE_VISIBILITY
1592
- bool empty() const _NOEXCEPT {return __table_.size() == 0;}
1593
- _LIBCPP_INLINE_VISIBILITY
1594
- size_type size() const _NOEXCEPT {return __table_.size();}
1595
- _LIBCPP_INLINE_VISIBILITY
1596
- size_type max_size() const _NOEXCEPT {return __table_.max_size();}
1597
-
1598
- _LIBCPP_INLINE_VISIBILITY
1599
- iterator begin() _NOEXCEPT {return __table_.begin();}
1600
- _LIBCPP_INLINE_VISIBILITY
1601
- iterator end() _NOEXCEPT {return __table_.end();}
1602
- _LIBCPP_INLINE_VISIBILITY
1603
- const_iterator begin() const _NOEXCEPT {return __table_.begin();}
1604
- _LIBCPP_INLINE_VISIBILITY
1605
- const_iterator end() const _NOEXCEPT {return __table_.end();}
1606
- _LIBCPP_INLINE_VISIBILITY
1607
- const_iterator cbegin() const _NOEXCEPT {return __table_.begin();}
1608
- _LIBCPP_INLINE_VISIBILITY
1609
- const_iterator cend() const _NOEXCEPT {return __table_.end();}
1610
-
1611
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1612
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1613
-
1614
- template <class... _Args>
1615
- iterator emplace(_Args&&... __args);
1616
-
1617
- template <class... _Args>
1618
- iterator emplace_hint(const_iterator __p, _Args&&... __args);
1619
- #endif // _LIBCPP_HAS_NO_VARIADICS
1620
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1621
- _LIBCPP_INLINE_VISIBILITY
1622
- iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
1623
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1624
- template <class _Pp,
1625
- class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
1626
- _LIBCPP_INLINE_VISIBILITY
1627
- iterator insert(_Pp&& __x)
1628
- {return __table_.__insert_multi(_VSTD::forward<_Pp>(__x));}
1629
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1630
- _LIBCPP_INLINE_VISIBILITY
1631
- iterator insert(const_iterator __p, const value_type& __x)
1632
- {return __table_.__insert_multi(__p.__i_, __x);}
1633
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1634
- template <class _Pp,
1635
- class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
1636
- _LIBCPP_INLINE_VISIBILITY
1637
- iterator insert(const_iterator __p, _Pp&& __x)
1638
- {return __table_.__insert_multi(__p.__i_, _VSTD::forward<_Pp>(__x));}
1639
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1640
- template <class _InputIterator>
1641
- void insert(_InputIterator __first, _InputIterator __last);
1642
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1643
- _LIBCPP_INLINE_VISIBILITY
1644
- void insert(initializer_list<value_type> __il)
1645
- {insert(__il.begin(), __il.end());}
1646
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1647
-
1648
- _LIBCPP_INLINE_VISIBILITY
1649
- iterator erase(const_iterator __p) {return __table_.erase(__p.__i_);}
1650
- _LIBCPP_INLINE_VISIBILITY
1651
- size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);}
1652
- _LIBCPP_INLINE_VISIBILITY
1653
- iterator erase(const_iterator __first, const_iterator __last)
1654
- {return __table_.erase(__first.__i_, __last.__i_);}
1655
- _LIBCPP_INLINE_VISIBILITY
1656
- void clear() _NOEXCEPT {__table_.clear();}
1657
-
1658
- _LIBCPP_INLINE_VISIBILITY
1659
- void swap(unordered_multimap& __u)
1660
- _NOEXCEPT_(__is_nothrow_swappable<__table>::value)
1661
- {__table_.swap(__u.__table_);}
1662
-
1663
- _LIBCPP_INLINE_VISIBILITY
1664
- hasher hash_function() const
1665
- {return __table_.hash_function().hash_function();}
1666
- _LIBCPP_INLINE_VISIBILITY
1667
- key_equal key_eq() const
1668
- {return __table_.key_eq().key_eq();}
1669
-
1670
- _LIBCPP_INLINE_VISIBILITY
1671
- iterator find(const key_type& __k) {return __table_.find(__k);}
1672
- _LIBCPP_INLINE_VISIBILITY
1673
- const_iterator find(const key_type& __k) const {return __table_.find(__k);}
1674
- _LIBCPP_INLINE_VISIBILITY
1675
- size_type count(const key_type& __k) const {return __table_.__count_multi(__k);}
1676
- _LIBCPP_INLINE_VISIBILITY
1677
- pair<iterator, iterator> equal_range(const key_type& __k)
1678
- {return __table_.__equal_range_multi(__k);}
1679
- _LIBCPP_INLINE_VISIBILITY
1680
- pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
1681
- {return __table_.__equal_range_multi(__k);}
1682
-
1683
- _LIBCPP_INLINE_VISIBILITY
1684
- size_type bucket_count() const _NOEXCEPT {return __table_.bucket_count();}
1685
- _LIBCPP_INLINE_VISIBILITY
1686
- size_type max_bucket_count() const _NOEXCEPT
1687
- {return __table_.max_bucket_count();}
1688
-
1689
- _LIBCPP_INLINE_VISIBILITY
1690
- size_type bucket_size(size_type __n) const
1691
- {return __table_.bucket_size(__n);}
1692
- _LIBCPP_INLINE_VISIBILITY
1693
- size_type bucket(const key_type& __k) const {return __table_.bucket(__k);}
1694
-
1695
- _LIBCPP_INLINE_VISIBILITY
1696
- local_iterator begin(size_type __n) {return __table_.begin(__n);}
1697
- _LIBCPP_INLINE_VISIBILITY
1698
- local_iterator end(size_type __n) {return __table_.end(__n);}
1699
- _LIBCPP_INLINE_VISIBILITY
1700
- const_local_iterator begin(size_type __n) const {return __table_.cbegin(__n);}
1701
- _LIBCPP_INLINE_VISIBILITY
1702
- const_local_iterator end(size_type __n) const {return __table_.cend(__n);}
1703
- _LIBCPP_INLINE_VISIBILITY
1704
- const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);}
1705
- _LIBCPP_INLINE_VISIBILITY
1706
- const_local_iterator cend(size_type __n) const {return __table_.cend(__n);}
1707
-
1708
- _LIBCPP_INLINE_VISIBILITY
1709
- float load_factor() const _NOEXCEPT {return __table_.load_factor();}
1710
- _LIBCPP_INLINE_VISIBILITY
1711
- float max_load_factor() const _NOEXCEPT {return __table_.max_load_factor();}
1712
- _LIBCPP_INLINE_VISIBILITY
1713
- void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);}
1714
- _LIBCPP_INLINE_VISIBILITY
1715
- void rehash(size_type __n) {__table_.rehash(__n);}
1716
- _LIBCPP_INLINE_VISIBILITY
1717
- void reserve(size_type __n) {__table_.reserve(__n);}
1718
-
1719
- #if _LIBCPP_DEBUG_LEVEL >= 2
1720
-
1721
- bool __dereferenceable(const const_iterator* __i) const
1722
- {return __table_.__dereferenceable(&__i->__i_);}
1723
- bool __decrementable(const const_iterator* __i) const
1724
- {return __table_.__decrementable(&__i->__i_);}
1725
- bool __addable(const const_iterator* __i, ptrdiff_t __n) const
1726
- {return __table_.__addable(&__i->__i_, __n);}
1727
- bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const
1728
- {return __table_.__addable(&__i->__i_, __n);}
1729
-
1730
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
1731
-
1732
- private:
1733
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1734
- __node_holder __construct_node();
1735
- template <class _A0>
1736
- __node_holder
1737
- __construct_node(_A0&& __a0);
1738
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1739
- template <class _A0, class _A1, class ..._Args>
1740
- __node_holder __construct_node(_A0&& __a0, _A1&& __a1, _Args&& ...__args);
1741
- #endif // _LIBCPP_HAS_NO_VARIADICS
1742
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1743
- };
1744
-
1745
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1746
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1747
- size_type __n, const hasher& __hf, const key_equal& __eql)
1748
- : __table_(__hf, __eql)
1749
- {
1750
- #if _LIBCPP_DEBUG_LEVEL >= 2
1751
- __get_db()->__insert_c(this);
1752
- #endif
1753
- __table_.rehash(__n);
1754
- }
1755
-
1756
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1757
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1758
- size_type __n, const hasher& __hf, const key_equal& __eql,
1759
- const allocator_type& __a)
1760
- : __table_(__hf, __eql, __a)
1761
- {
1762
- #if _LIBCPP_DEBUG_LEVEL >= 2
1763
- __get_db()->__insert_c(this);
1764
- #endif
1765
- __table_.rehash(__n);
1766
- }
1767
-
1768
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1769
- template <class _InputIterator>
1770
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1771
- _InputIterator __first, _InputIterator __last)
1772
- {
1773
- #if _LIBCPP_DEBUG_LEVEL >= 2
1774
- __get_db()->__insert_c(this);
1775
- #endif
1776
- insert(__first, __last);
1777
- }
1778
-
1779
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1780
- template <class _InputIterator>
1781
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1782
- _InputIterator __first, _InputIterator __last, size_type __n,
1783
- const hasher& __hf, const key_equal& __eql)
1784
- : __table_(__hf, __eql)
1785
- {
1786
- #if _LIBCPP_DEBUG_LEVEL >= 2
1787
- __get_db()->__insert_c(this);
1788
- #endif
1789
- __table_.rehash(__n);
1790
- insert(__first, __last);
1791
- }
1792
-
1793
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1794
- template <class _InputIterator>
1795
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1796
- _InputIterator __first, _InputIterator __last, size_type __n,
1797
- const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
1798
- : __table_(__hf, __eql, __a)
1799
- {
1800
- #if _LIBCPP_DEBUG_LEVEL >= 2
1801
- __get_db()->__insert_c(this);
1802
- #endif
1803
- __table_.rehash(__n);
1804
- insert(__first, __last);
1805
- }
1806
-
1807
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1808
- inline _LIBCPP_INLINE_VISIBILITY
1809
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1810
- const allocator_type& __a)
1811
- : __table_(__a)
1812
- {
1813
- #if _LIBCPP_DEBUG_LEVEL >= 2
1814
- __get_db()->__insert_c(this);
1815
- #endif
1816
- }
1817
-
1818
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1819
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1820
- const unordered_multimap& __u)
1821
- : __table_(__u.__table_)
1822
- {
1823
- #if _LIBCPP_DEBUG_LEVEL >= 2
1824
- __get_db()->__insert_c(this);
1825
- #endif
1826
- __table_.rehash(__u.bucket_count());
1827
- insert(__u.begin(), __u.end());
1828
- }
1829
-
1830
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1831
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1832
- const unordered_multimap& __u, const allocator_type& __a)
1833
- : __table_(__u.__table_, __a)
1834
- {
1835
- #if _LIBCPP_DEBUG_LEVEL >= 2
1836
- __get_db()->__insert_c(this);
1837
- #endif
1838
- __table_.rehash(__u.bucket_count());
1839
- insert(__u.begin(), __u.end());
1840
- }
1841
-
1842
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1843
-
1844
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1845
- inline _LIBCPP_INLINE_VISIBILITY
1846
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1847
- unordered_multimap&& __u)
1848
- _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
1849
- : __table_(_VSTD::move(__u.__table_))
1850
- {
1851
- #if _LIBCPP_DEBUG_LEVEL >= 2
1852
- __get_db()->__insert_c(this);
1853
- __get_db()->swap(this, &__u);
1854
- #endif
1855
- }
1856
-
1857
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1858
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1859
- unordered_multimap&& __u, const allocator_type& __a)
1860
- : __table_(_VSTD::move(__u.__table_), __a)
1861
- {
1862
- #if _LIBCPP_DEBUG_LEVEL >= 2
1863
- __get_db()->__insert_c(this);
1864
- #endif
1865
- if (__a != __u.get_allocator())
1866
- {
1867
- iterator __i = __u.begin();
1868
- while (__u.size() != 0)
1869
- {
1870
- __table_.__insert_multi(
1871
- _VSTD::move(__u.__table_.remove((__i++).__i_)->__value_)
1872
- );
1873
- }
1874
- }
1875
- #if _LIBCPP_DEBUG_LEVEL >= 2
1876
- else
1877
- __get_db()->swap(this, &__u);
1878
- #endif
1879
- }
1880
-
1881
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1882
-
1883
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1884
-
1885
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1886
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1887
- initializer_list<value_type> __il)
1888
- {
1889
- #if _LIBCPP_DEBUG_LEVEL >= 2
1890
- __get_db()->__insert_c(this);
1891
- #endif
1892
- insert(__il.begin(), __il.end());
1893
- }
1894
-
1895
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1896
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1897
- initializer_list<value_type> __il, size_type __n, const hasher& __hf,
1898
- const key_equal& __eql)
1899
- : __table_(__hf, __eql)
1900
- {
1901
- #if _LIBCPP_DEBUG_LEVEL >= 2
1902
- __get_db()->__insert_c(this);
1903
- #endif
1904
- __table_.rehash(__n);
1905
- insert(__il.begin(), __il.end());
1906
- }
1907
-
1908
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1909
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
1910
- initializer_list<value_type> __il, size_type __n, const hasher& __hf,
1911
- const key_equal& __eql, const allocator_type& __a)
1912
- : __table_(__hf, __eql, __a)
1913
- {
1914
- #if _LIBCPP_DEBUG_LEVEL >= 2
1915
- __get_db()->__insert_c(this);
1916
- #endif
1917
- __table_.rehash(__n);
1918
- insert(__il.begin(), __il.end());
1919
- }
1920
-
1921
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1922
-
1923
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1924
-
1925
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1926
- inline _LIBCPP_INLINE_VISIBILITY
1927
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&
1928
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_multimap&& __u)
1929
- _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
1930
- {
1931
- __table_ = _VSTD::move(__u.__table_);
1932
- return *this;
1933
- }
1934
-
1935
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1936
-
1937
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1938
-
1939
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1940
- inline _LIBCPP_INLINE_VISIBILITY
1941
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&
1942
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
1943
- initializer_list<value_type> __il)
1944
- {
1945
- __table_.__assign_multi(__il.begin(), __il.end());
1946
- return *this;
1947
- }
1948
-
1949
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1950
-
1951
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1952
-
1953
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1954
- typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1955
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node()
1956
- {
1957
- __node_allocator& __na = __table_.__node_alloc();
1958
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1959
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_));
1960
- __h.get_deleter().__first_constructed = true;
1961
- __h.get_deleter().__second_constructed = true;
1962
- return __h;
1963
- }
1964
-
1965
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1966
- template <class _A0>
1967
- typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1968
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(_A0&& __a0)
1969
- {
1970
- __node_allocator& __na = __table_.__node_alloc();
1971
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1972
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_),
1973
- _VSTD::forward<_A0>(__a0));
1974
- __h.get_deleter().__first_constructed = true;
1975
- __h.get_deleter().__second_constructed = true;
1976
- return __h;
1977
- }
1978
-
1979
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1980
-
1981
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1982
- template <class _A0, class _A1, class ..._Args>
1983
- typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
1984
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(
1985
- _A0&& __a0, _A1&& __a1, _Args&&... __args)
1986
- {
1987
- __node_allocator& __na = __table_.__node_alloc();
1988
- __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
1989
- __node_traits::construct(__na, _VSTD::addressof(__h->__value_),
1990
- _VSTD::forward<_A0>(__a0), _VSTD::forward<_A1>(__a1),
1991
- _VSTD::forward<_Args>(__args)...);
1992
- __h.get_deleter().__first_constructed = true;
1993
- __h.get_deleter().__second_constructed = true;
1994
- return __h;
1995
- }
1996
-
1997
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1998
- template <class... _Args>
1999
- typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator
2000
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_Args&&... __args)
2001
- {
2002
- __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
2003
- iterator __r = __table_.__node_insert_multi(__h.get());
2004
- __h.release();
2005
- return __r;
2006
- }
2007
-
2008
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
2009
- template <class... _Args>
2010
- typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator
2011
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace_hint(
2012
- const_iterator __p, _Args&&... __args)
2013
- {
2014
- __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
2015
- iterator __r = __table_.__node_insert_multi(__p.__i_, __h.get());
2016
- __h.release();
2017
- return __r;
2018
- }
2019
-
2020
- #endif // _LIBCPP_HAS_NO_VARIADICS
2021
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2022
-
2023
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
2024
- template <class _InputIterator>
2025
- inline _LIBCPP_INLINE_VISIBILITY
2026
- void
2027
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
2028
- _InputIterator __last)
2029
- {
2030
- for (; __first != __last; ++__first)
2031
- __table_.__insert_multi(*__first);
2032
- }
2033
-
2034
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
2035
- inline _LIBCPP_INLINE_VISIBILITY
2036
- void
2037
- swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
2038
- unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
2039
- _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
2040
- {
2041
- __x.swap(__y);
2042
- }
2043
-
2044
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
2045
- bool
2046
- operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
2047
- const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
2048
- {
2049
- if (__x.size() != __y.size())
2050
- return false;
2051
- typedef typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator
2052
- const_iterator;
2053
- typedef pair<const_iterator, const_iterator> _EqRng;
2054
- for (const_iterator __i = __x.begin(), __ex = __x.end(); __i != __ex;)
2055
- {
2056
- _EqRng __xeq = __x.equal_range(__i->first);
2057
- _EqRng __yeq = __y.equal_range(__i->first);
2058
- if (_VSTD::distance(__xeq.first, __xeq.second) !=
2059
- _VSTD::distance(__yeq.first, __yeq.second) ||
2060
- !_VSTD::is_permutation(__xeq.first, __xeq.second, __yeq.first))
2061
- return false;
2062
- __i = __xeq.second;
2063
- }
2064
- return true;
2065
- }
2066
-
2067
- template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
2068
- inline _LIBCPP_INLINE_VISIBILITY
2069
- bool
2070
- operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
2071
- const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
2072
- {
2073
- return !(__x == __y);
2074
- }
2075
-
2076
- _LIBCPP_END_NAMESPACE_STD
2077
-
2078
- #endif // _LIBCPP_UNORDERED_MAP