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