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,2355 +0,0 @@
1
- // -*- C++ -*-
2
- //===---------------------------- list ------------------------------------===//
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_LIST
12
- #define _LIBCPP_LIST
13
-
14
- /*
15
- list synopsis
16
-
17
- namespace std
18
- {
19
-
20
- template <class T, class Alloc = allocator<T> >
21
- class list
22
- {
23
- public:
24
-
25
- // types:
26
- typedef T value_type;
27
- typedef Alloc allocator_type;
28
- typedef typename allocator_type::reference reference;
29
- typedef typename allocator_type::const_reference const_reference;
30
- typedef typename allocator_type::pointer pointer;
31
- typedef typename allocator_type::const_pointer const_pointer;
32
- typedef implementation-defined iterator;
33
- typedef implementation-defined const_iterator;
34
- typedef implementation-defined size_type;
35
- typedef implementation-defined difference_type;
36
- typedef reverse_iterator<iterator> reverse_iterator;
37
- typedef reverse_iterator<const_iterator> const_reverse_iterator;
38
-
39
- list()
40
- noexcept(is_nothrow_default_constructible<allocator_type>::value);
41
- explicit list(const allocator_type& a);
42
- explicit list(size_type n);
43
- explicit list(size_type n, const allocator_type& a); // C++14
44
- list(size_type n, const value_type& value);
45
- list(size_type n, const value_type& value, const allocator_type& a);
46
- template <class Iter>
47
- list(Iter first, Iter last);
48
- template <class Iter>
49
- list(Iter first, Iter last, const allocator_type& a);
50
- list(const list& x);
51
- list(const list&, const allocator_type& a);
52
- list(list&& x)
53
- noexcept(is_nothrow_move_constructible<allocator_type>::value);
54
- list(list&&, const allocator_type& a);
55
- list(initializer_list<value_type>);
56
- list(initializer_list<value_type>, const allocator_type& a);
57
-
58
- ~list();
59
-
60
- list& operator=(const list& x);
61
- list& operator=(list&& x)
62
- noexcept(
63
- allocator_type::propagate_on_container_move_assignment::value &&
64
- is_nothrow_move_assignable<allocator_type>::value);
65
- list& operator=(initializer_list<value_type>);
66
- template <class Iter>
67
- void assign(Iter first, Iter last);
68
- void assign(size_type n, const value_type& t);
69
- void assign(initializer_list<value_type>);
70
-
71
- allocator_type get_allocator() const noexcept;
72
-
73
- iterator begin() noexcept;
74
- const_iterator begin() const noexcept;
75
- iterator end() noexcept;
76
- const_iterator end() const noexcept;
77
- reverse_iterator rbegin() noexcept;
78
- const_reverse_iterator rbegin() const noexcept;
79
- reverse_iterator rend() noexcept;
80
- const_reverse_iterator rend() const noexcept;
81
- const_iterator cbegin() const noexcept;
82
- const_iterator cend() const noexcept;
83
- const_reverse_iterator crbegin() const noexcept;
84
- const_reverse_iterator crend() const noexcept;
85
-
86
- reference front();
87
- const_reference front() const;
88
- reference back();
89
- const_reference back() const;
90
-
91
- bool empty() const noexcept;
92
- size_type size() const noexcept;
93
- size_type max_size() const noexcept;
94
-
95
- template <class... Args>
96
- void emplace_front(Args&&... args);
97
- void pop_front();
98
- template <class... Args>
99
- void emplace_back(Args&&... args);
100
- void pop_back();
101
- void push_front(const value_type& x);
102
- void push_front(value_type&& x);
103
- void push_back(const value_type& x);
104
- void push_back(value_type&& x);
105
- template <class... Args>
106
- iterator emplace(const_iterator position, Args&&... args);
107
- iterator insert(const_iterator position, const value_type& x);
108
- iterator insert(const_iterator position, value_type&& x);
109
- iterator insert(const_iterator position, size_type n, const value_type& x);
110
- template <class Iter>
111
- iterator insert(const_iterator position, Iter first, Iter last);
112
- iterator insert(const_iterator position, initializer_list<value_type> il);
113
-
114
- iterator erase(const_iterator position);
115
- iterator erase(const_iterator position, const_iterator last);
116
-
117
- void resize(size_type sz);
118
- void resize(size_type sz, const value_type& c);
119
-
120
- void swap(list&)
121
- noexcept(!allocator_type::propagate_on_container_swap::value ||
122
- __is_nothrow_swappable<allocator_type>::value);
123
- void clear() noexcept;
124
-
125
- void splice(const_iterator position, list& x);
126
- void splice(const_iterator position, list&& x);
127
- void splice(const_iterator position, list& x, const_iterator i);
128
- void splice(const_iterator position, list&& x, const_iterator i);
129
- void splice(const_iterator position, list& x, const_iterator first,
130
- const_iterator last);
131
- void splice(const_iterator position, list&& x, const_iterator first,
132
- const_iterator last);
133
-
134
- void remove(const value_type& value);
135
- template <class Pred> void remove_if(Pred pred);
136
- void unique();
137
- template <class BinaryPredicate>
138
- void unique(BinaryPredicate binary_pred);
139
- void merge(list& x);
140
- void merge(list&& x);
141
- template <class Compare>
142
- void merge(list& x, Compare comp);
143
- template <class Compare>
144
- void merge(list&& x, Compare comp);
145
- void sort();
146
- template <class Compare>
147
- void sort(Compare comp);
148
- void reverse() noexcept;
149
- };
150
-
151
- template <class T, class Alloc>
152
- bool operator==(const list<T,Alloc>& x, const list<T,Alloc>& y);
153
- template <class T, class Alloc>
154
- bool operator< (const list<T,Alloc>& x, const list<T,Alloc>& y);
155
- template <class T, class Alloc>
156
- bool operator!=(const list<T,Alloc>& x, const list<T,Alloc>& y);
157
- template <class T, class Alloc>
158
- bool operator> (const list<T,Alloc>& x, const list<T,Alloc>& y);
159
- template <class T, class Alloc>
160
- bool operator>=(const list<T,Alloc>& x, const list<T,Alloc>& y);
161
- template <class T, class Alloc>
162
- bool operator<=(const list<T,Alloc>& x, const list<T,Alloc>& y);
163
-
164
- template <class T, class Alloc>
165
- void swap(list<T,Alloc>& x, list<T,Alloc>& y)
166
- noexcept(noexcept(x.swap(y)));
167
-
168
- } // std
169
-
170
- */
171
-
172
- #include <__config>
173
-
174
- #include <memory>
175
- #include <limits>
176
- #include <initializer_list>
177
- #include <iterator>
178
- #include <algorithm>
179
-
180
- #include <__undef_min_max>
181
-
182
- #ifdef _LIBCPP_DEBUG
183
- # include <__debug>
184
- #else
185
- # define _LIBCPP_ASSERT(x, m) ((void)0)
186
- #endif
187
-
188
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
189
- #pragma GCC system_header
190
- #endif
191
-
192
- _LIBCPP_BEGIN_NAMESPACE_STD
193
-
194
- template <class _Tp, class _VoidPtr> struct __list_node;
195
-
196
- template <class _Tp, class _VoidPtr>
197
- struct __list_node_base
198
- {
199
- typedef typename pointer_traits<_VoidPtr>::template
200
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
201
- rebind<__list_node<_Tp, _VoidPtr> > pointer;
202
- #else
203
- rebind<__list_node<_Tp, _VoidPtr> >::other pointer;
204
- #endif
205
-
206
- typedef typename pointer_traits<_VoidPtr>::template
207
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
208
- rebind<__list_node_base> __base_pointer;
209
- #else
210
- rebind<__list_node_base>::other __base_pointer;
211
- #endif
212
-
213
- pointer __prev_;
214
- pointer __next_;
215
-
216
- _LIBCPP_INLINE_VISIBILITY
217
- __list_node_base()
218
- : __prev_(static_cast<pointer>(pointer_traits<__base_pointer>::pointer_to(*this))),
219
- __next_(static_cast<pointer>(pointer_traits<__base_pointer>::pointer_to(*this)))
220
- {}
221
- };
222
-
223
- template <class _Tp, class _VoidPtr>
224
- struct __list_node
225
- : public __list_node_base<_Tp, _VoidPtr>
226
- {
227
- _Tp __value_;
228
- };
229
-
230
- template <class _Tp, class _Alloc> class _LIBCPP_TYPE_VIS_ONLY list;
231
- template <class _Tp, class _Alloc> class __list_imp;
232
- template <class _Tp, class _VoidPtr> class _LIBCPP_TYPE_VIS_ONLY __list_const_iterator;
233
-
234
- template <class _Tp, class _VoidPtr>
235
- class _LIBCPP_TYPE_VIS_ONLY __list_iterator
236
- {
237
- typedef typename pointer_traits<_VoidPtr>::template
238
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
239
- rebind<__list_node<_Tp, _VoidPtr> > __node_pointer;
240
- #else
241
- rebind<__list_node<_Tp, _VoidPtr> >::other __node_pointer;
242
- #endif
243
-
244
- __node_pointer __ptr_;
245
-
246
- #if _LIBCPP_DEBUG_LEVEL >= 2
247
- _LIBCPP_INLINE_VISIBILITY
248
- explicit __list_iterator(__node_pointer __p, const void* __c) _NOEXCEPT
249
- : __ptr_(__p)
250
- {
251
- __get_db()->__insert_ic(this, __c);
252
- }
253
- #else
254
- _LIBCPP_INLINE_VISIBILITY
255
- explicit __list_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
256
- #endif
257
-
258
-
259
-
260
- template<class, class> friend class list;
261
- template<class, class> friend class __list_imp;
262
- template<class, class> friend class __list_const_iterator;
263
- public:
264
- typedef bidirectional_iterator_tag iterator_category;
265
- typedef _Tp value_type;
266
- typedef value_type& reference;
267
- typedef typename pointer_traits<_VoidPtr>::template
268
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
269
- rebind<value_type>
270
- #else
271
- rebind<value_type>::other
272
- #endif
273
- pointer;
274
- typedef typename pointer_traits<pointer>::difference_type difference_type;
275
-
276
- _LIBCPP_INLINE_VISIBILITY
277
- __list_iterator() _NOEXCEPT : __ptr_(nullptr)
278
- {
279
- #if _LIBCPP_DEBUG_LEVEL >= 2
280
- __get_db()->__insert_i(this);
281
- #endif
282
- }
283
-
284
- #if _LIBCPP_DEBUG_LEVEL >= 2
285
-
286
- _LIBCPP_INLINE_VISIBILITY
287
- __list_iterator(const __list_iterator& __p)
288
- : __ptr_(__p.__ptr_)
289
- {
290
- __get_db()->__iterator_copy(this, &__p);
291
- }
292
-
293
- _LIBCPP_INLINE_VISIBILITY
294
- ~__list_iterator()
295
- {
296
- __get_db()->__erase_i(this);
297
- }
298
-
299
- _LIBCPP_INLINE_VISIBILITY
300
- __list_iterator& operator=(const __list_iterator& __p)
301
- {
302
- if (this != &__p)
303
- {
304
- __get_db()->__iterator_copy(this, &__p);
305
- __ptr_ = __p.__ptr_;
306
- }
307
- return *this;
308
- }
309
-
310
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
311
-
312
- _LIBCPP_INLINE_VISIBILITY
313
- reference operator*() const
314
- {
315
- #if _LIBCPP_DEBUG_LEVEL >= 2
316
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
317
- "Attempted to dereference a non-dereferenceable list::iterator");
318
- #endif
319
- return __ptr_->__value_;
320
- }
321
- _LIBCPP_INLINE_VISIBILITY
322
- pointer operator->() const
323
- {
324
- #if _LIBCPP_DEBUG_LEVEL >= 2
325
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
326
- "Attempted to dereference a non-dereferenceable list::iterator");
327
- #endif
328
- return pointer_traits<pointer>::pointer_to(__ptr_->__value_);
329
- }
330
-
331
- _LIBCPP_INLINE_VISIBILITY
332
- __list_iterator& operator++()
333
- {
334
- #if _LIBCPP_DEBUG_LEVEL >= 2
335
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
336
- "Attempted to increment non-incrementable list::iterator");
337
- #endif
338
- __ptr_ = __ptr_->__next_;
339
- return *this;
340
- }
341
- _LIBCPP_INLINE_VISIBILITY
342
- __list_iterator operator++(int) {__list_iterator __t(*this); ++(*this); return __t;}
343
-
344
- _LIBCPP_INLINE_VISIBILITY
345
- __list_iterator& operator--()
346
- {
347
- #if _LIBCPP_DEBUG_LEVEL >= 2
348
- _LIBCPP_ASSERT(__get_const_db()->__decrementable(this),
349
- "Attempted to decrement non-decrementable list::iterator");
350
- #endif
351
- __ptr_ = __ptr_->__prev_;
352
- return *this;
353
- }
354
- _LIBCPP_INLINE_VISIBILITY
355
- __list_iterator operator--(int) {__list_iterator __t(*this); --(*this); return __t;}
356
-
357
- friend _LIBCPP_INLINE_VISIBILITY
358
- bool operator==(const __list_iterator& __x, const __list_iterator& __y)
359
- {
360
- return __x.__ptr_ == __y.__ptr_;
361
- }
362
- friend _LIBCPP_INLINE_VISIBILITY
363
- bool operator!=(const __list_iterator& __x, const __list_iterator& __y)
364
- {return !(__x == __y);}
365
- };
366
-
367
- template <class _Tp, class _VoidPtr>
368
- class _LIBCPP_TYPE_VIS_ONLY __list_const_iterator
369
- {
370
- typedef typename pointer_traits<_VoidPtr>::template
371
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
372
- rebind<__list_node<_Tp, _VoidPtr> > __node_pointer;
373
- #else
374
- rebind<__list_node<_Tp, _VoidPtr> >::other __node_pointer;
375
- #endif
376
-
377
- __node_pointer __ptr_;
378
-
379
- #if _LIBCPP_DEBUG_LEVEL >= 2
380
- _LIBCPP_INLINE_VISIBILITY
381
- explicit __list_const_iterator(__node_pointer __p, const void* __c) _NOEXCEPT
382
- : __ptr_(__p)
383
- {
384
- __get_db()->__insert_ic(this, __c);
385
- }
386
- #else
387
- _LIBCPP_INLINE_VISIBILITY
388
- explicit __list_const_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
389
- #endif
390
-
391
- template<class, class> friend class list;
392
- template<class, class> friend class __list_imp;
393
- public:
394
- typedef bidirectional_iterator_tag iterator_category;
395
- typedef _Tp value_type;
396
- typedef const value_type& reference;
397
- typedef typename pointer_traits<_VoidPtr>::template
398
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
399
- rebind<const value_type>
400
- #else
401
- rebind<const value_type>::other
402
- #endif
403
- pointer;
404
- typedef typename pointer_traits<pointer>::difference_type difference_type;
405
-
406
- _LIBCPP_INLINE_VISIBILITY
407
- __list_const_iterator() _NOEXCEPT : __ptr_(nullptr)
408
- {
409
- #if _LIBCPP_DEBUG_LEVEL >= 2
410
- __get_db()->__insert_i(this);
411
- #endif
412
- }
413
- _LIBCPP_INLINE_VISIBILITY
414
- __list_const_iterator(const __list_iterator<_Tp, _VoidPtr>& __p) _NOEXCEPT
415
- : __ptr_(__p.__ptr_)
416
- {
417
- #if _LIBCPP_DEBUG_LEVEL >= 2
418
- __get_db()->__iterator_copy(this, &__p);
419
- #endif
420
- }
421
-
422
- #if _LIBCPP_DEBUG_LEVEL >= 2
423
-
424
- _LIBCPP_INLINE_VISIBILITY
425
- __list_const_iterator(const __list_const_iterator& __p)
426
- : __ptr_(__p.__ptr_)
427
- {
428
- __get_db()->__iterator_copy(this, &__p);
429
- }
430
-
431
- _LIBCPP_INLINE_VISIBILITY
432
- ~__list_const_iterator()
433
- {
434
- __get_db()->__erase_i(this);
435
- }
436
-
437
- _LIBCPP_INLINE_VISIBILITY
438
- __list_const_iterator& operator=(const __list_const_iterator& __p)
439
- {
440
- if (this != &__p)
441
- {
442
- __get_db()->__iterator_copy(this, &__p);
443
- __ptr_ = __p.__ptr_;
444
- }
445
- return *this;
446
- }
447
-
448
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
449
- _LIBCPP_INLINE_VISIBILITY
450
- reference operator*() const
451
- {
452
- #if _LIBCPP_DEBUG_LEVEL >= 2
453
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
454
- "Attempted to dereference a non-dereferenceable list::const_iterator");
455
- #endif
456
- return __ptr_->__value_;
457
- }
458
- _LIBCPP_INLINE_VISIBILITY
459
- pointer operator->() const
460
- {
461
- #if _LIBCPP_DEBUG_LEVEL >= 2
462
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
463
- "Attempted to dereference a non-dereferenceable list::iterator");
464
- #endif
465
- return pointer_traits<pointer>::pointer_to(__ptr_->__value_);
466
- }
467
-
468
- _LIBCPP_INLINE_VISIBILITY
469
- __list_const_iterator& operator++()
470
- {
471
- #if _LIBCPP_DEBUG_LEVEL >= 2
472
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
473
- "Attempted to increment non-incrementable list::const_iterator");
474
- #endif
475
- __ptr_ = __ptr_->__next_;
476
- return *this;
477
- }
478
- _LIBCPP_INLINE_VISIBILITY
479
- __list_const_iterator operator++(int) {__list_const_iterator __t(*this); ++(*this); return __t;}
480
-
481
- _LIBCPP_INLINE_VISIBILITY
482
- __list_const_iterator& operator--()
483
- {
484
- #if _LIBCPP_DEBUG_LEVEL >= 2
485
- _LIBCPP_ASSERT(__get_const_db()->__decrementable(this),
486
- "Attempted to decrement non-decrementable list::const_iterator");
487
- #endif
488
- __ptr_ = __ptr_->__prev_;
489
- return *this;
490
- }
491
- _LIBCPP_INLINE_VISIBILITY
492
- __list_const_iterator operator--(int) {__list_const_iterator __t(*this); --(*this); return __t;}
493
-
494
- friend _LIBCPP_INLINE_VISIBILITY
495
- bool operator==(const __list_const_iterator& __x, const __list_const_iterator& __y)
496
- {
497
- return __x.__ptr_ == __y.__ptr_;
498
- }
499
- friend _LIBCPP_INLINE_VISIBILITY
500
- bool operator!=(const __list_const_iterator& __x, const __list_const_iterator& __y)
501
- {return !(__x == __y);}
502
- };
503
-
504
- template <class _Tp, class _Alloc>
505
- class __list_imp
506
- {
507
- __list_imp(const __list_imp&);
508
- __list_imp& operator=(const __list_imp&);
509
- protected:
510
- typedef _Tp value_type;
511
- typedef _Alloc allocator_type;
512
- typedef allocator_traits<allocator_type> __alloc_traits;
513
- typedef typename __alloc_traits::size_type size_type;
514
- typedef typename __alloc_traits::void_pointer __void_pointer;
515
- typedef __list_iterator<value_type, __void_pointer> iterator;
516
- typedef __list_const_iterator<value_type, __void_pointer> const_iterator;
517
- typedef __list_node_base<value_type, __void_pointer> __node_base;
518
- typedef __list_node<value_type, __void_pointer> __node;
519
- typedef typename __alloc_traits::template
520
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
521
- rebind_alloc<__node>
522
- #else
523
- rebind_alloc<__node>::other
524
- #endif
525
- __node_allocator;
526
- typedef allocator_traits<__node_allocator> __node_alloc_traits;
527
- typedef typename __node_alloc_traits::pointer __node_pointer;
528
- typedef typename __node_alloc_traits::pointer __node_const_pointer;
529
- typedef typename __alloc_traits::pointer pointer;
530
- typedef typename __alloc_traits::const_pointer const_pointer;
531
- typedef typename __alloc_traits::difference_type difference_type;
532
-
533
- typedef typename __alloc_traits::template
534
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
535
- rebind_alloc<__node_base>
536
- #else
537
- rebind_alloc<__node_base>::other
538
- #endif
539
- __node_base_allocator;
540
- typedef typename allocator_traits<__node_base_allocator>::pointer __node_base_pointer;
541
-
542
- __node_base __end_;
543
- __compressed_pair<size_type, __node_allocator> __size_alloc_;
544
-
545
- _LIBCPP_INLINE_VISIBILITY
546
- size_type& __sz() _NOEXCEPT {return __size_alloc_.first();}
547
- _LIBCPP_INLINE_VISIBILITY
548
- const size_type& __sz() const _NOEXCEPT
549
- {return __size_alloc_.first();}
550
- _LIBCPP_INLINE_VISIBILITY
551
- __node_allocator& __node_alloc() _NOEXCEPT
552
- {return __size_alloc_.second();}
553
- _LIBCPP_INLINE_VISIBILITY
554
- const __node_allocator& __node_alloc() const _NOEXCEPT
555
- {return __size_alloc_.second();}
556
-
557
- static void __unlink_nodes(__node_pointer __f, __node_pointer __l) _NOEXCEPT;
558
-
559
- __list_imp()
560
- _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value);
561
- __list_imp(const allocator_type& __a);
562
- ~__list_imp();
563
- void clear() _NOEXCEPT;
564
- _LIBCPP_INLINE_VISIBILITY
565
- bool empty() const _NOEXCEPT {return __sz() == 0;}
566
-
567
- _LIBCPP_INLINE_VISIBILITY
568
- iterator begin() _NOEXCEPT
569
- {
570
- #if _LIBCPP_DEBUG_LEVEL >= 2
571
- return iterator(__end_.__next_, this);
572
- #else
573
- return iterator(__end_.__next_);
574
- #endif
575
- }
576
- _LIBCPP_INLINE_VISIBILITY
577
- const_iterator begin() const _NOEXCEPT
578
- {
579
- #if _LIBCPP_DEBUG_LEVEL >= 2
580
- return const_iterator(__end_.__next_, this);
581
- #else
582
- return const_iterator(__end_.__next_);
583
- #endif
584
- }
585
- _LIBCPP_INLINE_VISIBILITY
586
- iterator end() _NOEXCEPT
587
- {
588
- #if _LIBCPP_DEBUG_LEVEL >= 2
589
- return iterator(static_cast<__node_pointer>(
590
- pointer_traits<__node_base_pointer>::pointer_to(__end_)), this);
591
- #else
592
- return iterator(static_cast<__node_pointer>(
593
- pointer_traits<__node_base_pointer>::pointer_to(__end_)));
594
- #endif
595
- }
596
- _LIBCPP_INLINE_VISIBILITY
597
- const_iterator end() const _NOEXCEPT
598
- {
599
- #if _LIBCPP_DEBUG_LEVEL >= 2
600
- return const_iterator(static_cast<__node_const_pointer>(
601
- pointer_traits<__node_base_pointer>::pointer_to(const_cast<__node_base&>(__end_))), this);
602
- #else
603
- return const_iterator(static_cast<__node_const_pointer>(
604
- pointer_traits<__node_base_pointer>::pointer_to(const_cast<__node_base&>(__end_))));
605
- #endif
606
- }
607
-
608
- void swap(__list_imp& __c)
609
- _NOEXCEPT_(!__node_alloc_traits::propagate_on_container_swap::value ||
610
- __is_nothrow_swappable<__node_allocator>::value);
611
-
612
- _LIBCPP_INLINE_VISIBILITY
613
- void __copy_assign_alloc(const __list_imp& __c)
614
- {__copy_assign_alloc(__c, integral_constant<bool,
615
- __node_alloc_traits::propagate_on_container_copy_assignment::value>());}
616
-
617
- _LIBCPP_INLINE_VISIBILITY
618
- void __move_assign_alloc(__list_imp& __c)
619
- _NOEXCEPT_(
620
- !__node_alloc_traits::propagate_on_container_move_assignment::value ||
621
- is_nothrow_move_assignable<__node_allocator>::value)
622
- {__move_assign_alloc(__c, integral_constant<bool,
623
- __node_alloc_traits::propagate_on_container_move_assignment::value>());}
624
-
625
- private:
626
- _LIBCPP_INLINE_VISIBILITY
627
- static void __swap_alloc(__node_allocator& __x, __node_allocator& __y)
628
- _NOEXCEPT_(!__node_alloc_traits::propagate_on_container_swap::value ||
629
- __is_nothrow_swappable<__node_allocator>::value)
630
- {__swap_alloc(__x, __y, integral_constant<bool,
631
- __node_alloc_traits::propagate_on_container_swap::value>());}
632
- _LIBCPP_INLINE_VISIBILITY
633
- static void __swap_alloc(__node_allocator& __x, __node_allocator& __y, true_type)
634
- _NOEXCEPT_(__is_nothrow_swappable<__node_allocator>::value)
635
- {
636
- using _VSTD::swap;
637
- swap(__x, __y);
638
- }
639
- _LIBCPP_INLINE_VISIBILITY
640
- static void __swap_alloc(__node_allocator& __x, __node_allocator& __y, false_type)
641
- _NOEXCEPT
642
- {}
643
-
644
- _LIBCPP_INLINE_VISIBILITY
645
- void __copy_assign_alloc(const __list_imp& __c, true_type)
646
- {
647
- if (__node_alloc() != __c.__node_alloc())
648
- clear();
649
- __node_alloc() = __c.__node_alloc();
650
- }
651
-
652
- _LIBCPP_INLINE_VISIBILITY
653
- void __copy_assign_alloc(const __list_imp& __c, false_type)
654
- {}
655
-
656
- _LIBCPP_INLINE_VISIBILITY
657
- void __move_assign_alloc(__list_imp& __c, true_type)
658
- _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
659
- {
660
- __node_alloc() = _VSTD::move(__c.__node_alloc());
661
- }
662
-
663
- _LIBCPP_INLINE_VISIBILITY
664
- void __move_assign_alloc(__list_imp& __c, false_type)
665
- _NOEXCEPT
666
- {}
667
- };
668
-
669
- // Unlink nodes [__f, __l]
670
- template <class _Tp, class _Alloc>
671
- inline _LIBCPP_INLINE_VISIBILITY
672
- void
673
- __list_imp<_Tp, _Alloc>::__unlink_nodes(__node_pointer __f, __node_pointer __l)
674
- _NOEXCEPT
675
- {
676
- __f->__prev_->__next_ = __l->__next_;
677
- __l->__next_->__prev_ = __f->__prev_;
678
- }
679
-
680
- template <class _Tp, class _Alloc>
681
- inline _LIBCPP_INLINE_VISIBILITY
682
- __list_imp<_Tp, _Alloc>::__list_imp()
683
- _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
684
- : __size_alloc_(0)
685
- {
686
- }
687
-
688
- template <class _Tp, class _Alloc>
689
- inline _LIBCPP_INLINE_VISIBILITY
690
- __list_imp<_Tp, _Alloc>::__list_imp(const allocator_type& __a)
691
- : __size_alloc_(0, __node_allocator(__a))
692
- {
693
- }
694
-
695
- template <class _Tp, class _Alloc>
696
- __list_imp<_Tp, _Alloc>::~__list_imp()
697
- {
698
- clear();
699
- #if _LIBCPP_DEBUG_LEVEL >= 2
700
- __get_db()->__erase_c(this);
701
- #endif
702
- }
703
-
704
- template <class _Tp, class _Alloc>
705
- void
706
- __list_imp<_Tp, _Alloc>::clear() _NOEXCEPT
707
- {
708
- if (!empty())
709
- {
710
- __node_allocator& __na = __node_alloc();
711
- __node_pointer __f = __end_.__next_;
712
- __node_pointer __l = static_cast<__node_pointer>(
713
- pointer_traits<__node_base_pointer>::pointer_to(__end_));
714
- __unlink_nodes(__f, __l->__prev_);
715
- __sz() = 0;
716
- while (__f != __l)
717
- {
718
- __node_pointer __n = __f;
719
- __f = __f->__next_;
720
- __node_alloc_traits::destroy(__na, _VSTD::addressof(__n->__value_));
721
- __node_alloc_traits::deallocate(__na, __n, 1);
722
- }
723
- #if _LIBCPP_DEBUG_LEVEL >= 2
724
- __c_node* __c = __get_db()->__find_c_and_lock(this);
725
- for (__i_node** __p = __c->end_; __p != __c->beg_; )
726
- {
727
- --__p;
728
- const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
729
- if (__i->__ptr_ != __l)
730
- {
731
- (*__p)->__c_ = nullptr;
732
- if (--__c->end_ != __p)
733
- memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
734
- }
735
- }
736
- __get_db()->unlock();
737
- #endif
738
- }
739
- }
740
-
741
- template <class _Tp, class _Alloc>
742
- void
743
- __list_imp<_Tp, _Alloc>::swap(__list_imp& __c)
744
- _NOEXCEPT_(!__node_alloc_traits::propagate_on_container_swap::value ||
745
- __is_nothrow_swappable<__node_allocator>::value)
746
- {
747
- _LIBCPP_ASSERT(__alloc_traits::propagate_on_container_swap::value ||
748
- this->__node_alloc() == __c.__node_alloc(),
749
- "list::swap: Either propagate_on_container_swap must be true"
750
- " or the allocators must compare equal");
751
- using _VSTD::swap;
752
- __swap_alloc(__node_alloc(), __c.__node_alloc());
753
- swap(__sz(), __c.__sz());
754
- swap(__end_, __c.__end_);
755
- if (__sz() == 0)
756
- __end_.__next_ = __end_.__prev_ = static_cast<__node_pointer>(
757
- pointer_traits<__node_base_pointer>::pointer_to(__end_));
758
- else
759
- __end_.__prev_->__next_ = __end_.__next_->__prev_
760
- = static_cast<__node_pointer>(
761
- pointer_traits<__node_base_pointer>::pointer_to(__end_));
762
- if (__c.__sz() == 0)
763
- __c.__end_.__next_ = __c.__end_.__prev_
764
- = static_cast<__node_pointer>(
765
- pointer_traits<__node_base_pointer>::pointer_to(__c.__end_));
766
- else
767
- __c.__end_.__prev_->__next_ = __c.__end_.__next_->__prev_
768
- = static_cast<__node_pointer>(
769
- pointer_traits<__node_base_pointer>::pointer_to(__c.__end_));
770
- #if _LIBCPP_DEBUG_LEVEL >= 2
771
- __libcpp_db* __db = __get_db();
772
- __c_node* __cn1 = __db->__find_c_and_lock(this);
773
- __c_node* __cn2 = __db->__find_c(&__c);
774
- std::swap(__cn1->beg_, __cn2->beg_);
775
- std::swap(__cn1->end_, __cn2->end_);
776
- std::swap(__cn1->cap_, __cn2->cap_);
777
- for (__i_node** __p = __cn1->end_; __p != __cn1->beg_;)
778
- {
779
- --__p;
780
- const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
781
- if (__i->__ptr_ == static_cast<__node_pointer>(
782
- pointer_traits<__node_base_pointer>::pointer_to(__c.__end_)))
783
- {
784
- __cn2->__add(*__p);
785
- if (--__cn1->end_ != __p)
786
- memmove(__p, __p+1, (__cn1->end_ - __p)*sizeof(__i_node*));
787
- }
788
- else
789
- (*__p)->__c_ = __cn1;
790
- }
791
- for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
792
- {
793
- --__p;
794
- const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
795
- if (__i->__ptr_ == static_cast<__node_pointer>(
796
- pointer_traits<__node_base_pointer>::pointer_to(__end_)))
797
- {
798
- __cn1->__add(*__p);
799
- if (--__cn2->end_ != __p)
800
- memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
801
- }
802
- else
803
- (*__p)->__c_ = __cn2;
804
- }
805
- __db->unlock();
806
- #endif
807
- }
808
-
809
- template <class _Tp, class _Alloc = allocator<_Tp> >
810
- class _LIBCPP_TYPE_VIS_ONLY list
811
- : private __list_imp<_Tp, _Alloc>
812
- {
813
- typedef __list_imp<_Tp, _Alloc> base;
814
- typedef typename base::__node __node;
815
- typedef typename base::__node_allocator __node_allocator;
816
- typedef typename base::__node_pointer __node_pointer;
817
- typedef typename base::__node_alloc_traits __node_alloc_traits;
818
- typedef typename base::__node_base __node_base;
819
- typedef typename base::__node_base_pointer __node_base_pointer;
820
-
821
- public:
822
- typedef _Tp value_type;
823
- typedef _Alloc allocator_type;
824
- static_assert((is_same<value_type, typename allocator_type::value_type>::value),
825
- "Invalid allocator::value_type");
826
- typedef value_type& reference;
827
- typedef const value_type& const_reference;
828
- typedef typename base::pointer pointer;
829
- typedef typename base::const_pointer const_pointer;
830
- typedef typename base::size_type size_type;
831
- typedef typename base::difference_type difference_type;
832
- typedef typename base::iterator iterator;
833
- typedef 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
- list()
839
- _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
840
- {
841
- #if _LIBCPP_DEBUG_LEVEL >= 2
842
- __get_db()->__insert_c(this);
843
- #endif
844
- }
845
- _LIBCPP_INLINE_VISIBILITY
846
- explicit list(const allocator_type& __a) : base(__a)
847
- {
848
- #if _LIBCPP_DEBUG_LEVEL >= 2
849
- __get_db()->__insert_c(this);
850
- #endif
851
- }
852
- explicit list(size_type __n);
853
- #if _LIBCPP_STD_VER > 11
854
- explicit list(size_type __n, const allocator_type& __a);
855
- #endif
856
- list(size_type __n, const value_type& __x);
857
- list(size_type __n, const value_type& __x, const allocator_type& __a);
858
- template <class _InpIter>
859
- list(_InpIter __f, _InpIter __l,
860
- typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
861
- template <class _InpIter>
862
- list(_InpIter __f, _InpIter __l, const allocator_type& __a,
863
- typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
864
-
865
- list(const list& __c);
866
- list(const list& __c, const allocator_type& __a);
867
- list& operator=(const list& __c);
868
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
869
- list(initializer_list<value_type> __il);
870
- list(initializer_list<value_type> __il, const allocator_type& __a);
871
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
872
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
873
- list(list&& __c)
874
- _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value);
875
- list(list&& __c, const allocator_type& __a);
876
- list& operator=(list&& __c)
877
- _NOEXCEPT_(
878
- __node_alloc_traits::propagate_on_container_move_assignment::value &&
879
- is_nothrow_move_assignable<__node_allocator>::value);
880
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
881
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
882
- _LIBCPP_INLINE_VISIBILITY
883
- list& operator=(initializer_list<value_type> __il)
884
- {assign(__il.begin(), __il.end()); return *this;}
885
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
886
-
887
- template <class _InpIter>
888
- void assign(_InpIter __f, _InpIter __l,
889
- typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
890
- void assign(size_type __n, const value_type& __x);
891
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
892
- _LIBCPP_INLINE_VISIBILITY
893
- void assign(initializer_list<value_type> __il)
894
- {assign(__il.begin(), __il.end());}
895
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
896
-
897
- allocator_type get_allocator() const _NOEXCEPT;
898
-
899
- _LIBCPP_INLINE_VISIBILITY
900
- size_type size() const _NOEXCEPT {return base::__sz();}
901
- _LIBCPP_INLINE_VISIBILITY
902
- bool empty() const _NOEXCEPT {return base::empty();}
903
- _LIBCPP_INLINE_VISIBILITY
904
- size_type max_size() const _NOEXCEPT
905
- {return numeric_limits<difference_type>::max();}
906
-
907
- _LIBCPP_INLINE_VISIBILITY
908
- iterator begin() _NOEXCEPT {return base::begin();}
909
- _LIBCPP_INLINE_VISIBILITY
910
- const_iterator begin() const _NOEXCEPT {return base::begin();}
911
- _LIBCPP_INLINE_VISIBILITY
912
- iterator end() _NOEXCEPT {return base::end();}
913
- _LIBCPP_INLINE_VISIBILITY
914
- const_iterator end() const _NOEXCEPT {return base::end();}
915
- _LIBCPP_INLINE_VISIBILITY
916
- const_iterator cbegin() const _NOEXCEPT {return base::begin();}
917
- _LIBCPP_INLINE_VISIBILITY
918
- const_iterator cend() const _NOEXCEPT {return base::end();}
919
-
920
- _LIBCPP_INLINE_VISIBILITY
921
- reverse_iterator rbegin() _NOEXCEPT
922
- {return reverse_iterator(end());}
923
- _LIBCPP_INLINE_VISIBILITY
924
- const_reverse_iterator rbegin() const _NOEXCEPT
925
- {return const_reverse_iterator(end());}
926
- _LIBCPP_INLINE_VISIBILITY
927
- reverse_iterator rend() _NOEXCEPT
928
- {return reverse_iterator(begin());}
929
- _LIBCPP_INLINE_VISIBILITY
930
- const_reverse_iterator rend() const _NOEXCEPT
931
- {return const_reverse_iterator(begin());}
932
- _LIBCPP_INLINE_VISIBILITY
933
- const_reverse_iterator crbegin() const _NOEXCEPT
934
- {return const_reverse_iterator(end());}
935
- _LIBCPP_INLINE_VISIBILITY
936
- const_reverse_iterator crend() const _NOEXCEPT
937
- {return const_reverse_iterator(begin());}
938
-
939
- _LIBCPP_INLINE_VISIBILITY
940
- reference front()
941
- {
942
- _LIBCPP_ASSERT(!empty(), "list::front called on empty list");
943
- return base::__end_.__next_->__value_;
944
- }
945
- _LIBCPP_INLINE_VISIBILITY
946
- const_reference front() const
947
- {
948
- _LIBCPP_ASSERT(!empty(), "list::front called on empty list");
949
- return base::__end_.__next_->__value_;
950
- }
951
- _LIBCPP_INLINE_VISIBILITY
952
- reference back()
953
- {
954
- _LIBCPP_ASSERT(!empty(), "list::back called on empty list");
955
- return base::__end_.__prev_->__value_;
956
- }
957
- _LIBCPP_INLINE_VISIBILITY
958
- const_reference back() const
959
- {
960
- _LIBCPP_ASSERT(!empty(), "list::back called on empty list");
961
- return base::__end_.__prev_->__value_;
962
- }
963
-
964
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
965
- void push_front(value_type&& __x);
966
- void push_back(value_type&& __x);
967
- #ifndef _LIBCPP_HAS_NO_VARIADICS
968
- template <class... _Args>
969
- void emplace_front(_Args&&... __args);
970
- template <class... _Args>
971
- void emplace_back(_Args&&... __args);
972
- template <class... _Args>
973
- iterator emplace(const_iterator __p, _Args&&... __args);
974
- #endif // _LIBCPP_HAS_NO_VARIADICS
975
- iterator insert(const_iterator __p, value_type&& __x);
976
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
977
-
978
- void push_front(const value_type& __x);
979
- void push_back(const value_type& __x);
980
-
981
- iterator insert(const_iterator __p, const value_type& __x);
982
- iterator insert(const_iterator __p, size_type __n, const value_type& __x);
983
- template <class _InpIter>
984
- iterator insert(const_iterator __p, _InpIter __f, _InpIter __l,
985
- typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
986
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
987
- _LIBCPP_INLINE_VISIBILITY
988
- iterator insert(const_iterator __p, initializer_list<value_type> __il)
989
- {return insert(__p, __il.begin(), __il.end());}
990
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
991
-
992
- _LIBCPP_INLINE_VISIBILITY
993
- void swap(list& __c)
994
- _NOEXCEPT_(!__node_alloc_traits::propagate_on_container_swap::value ||
995
- __is_nothrow_swappable<__node_allocator>::value)
996
- {base::swap(__c);}
997
- _LIBCPP_INLINE_VISIBILITY
998
- void clear() _NOEXCEPT {base::clear();}
999
-
1000
- void pop_front();
1001
- void pop_back();
1002
-
1003
- iterator erase(const_iterator __p);
1004
- iterator erase(const_iterator __f, const_iterator __l);
1005
-
1006
- void resize(size_type __n);
1007
- void resize(size_type __n, const value_type& __x);
1008
-
1009
- void splice(const_iterator __p, list& __c);
1010
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1011
- _LIBCPP_INLINE_VISIBILITY
1012
- void splice(const_iterator __p, list&& __c) {splice(__p, __c);}
1013
- #endif
1014
- void splice(const_iterator __p, list& __c, const_iterator __i);
1015
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1016
- _LIBCPP_INLINE_VISIBILITY
1017
- void splice(const_iterator __p, list&& __c, const_iterator __i)
1018
- {splice(__p, __c, __i);}
1019
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1020
- void splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l);
1021
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1022
- _LIBCPP_INLINE_VISIBILITY
1023
- void splice(const_iterator __p, list&& __c, const_iterator __f, const_iterator __l)
1024
- {splice(__p, __c, __f, __l);}
1025
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1026
-
1027
- void remove(const value_type& __x);
1028
- template <class _Pred> void remove_if(_Pred __pred);
1029
- void unique();
1030
- template <class _BinaryPred>
1031
- void unique(_BinaryPred __binary_pred);
1032
- void merge(list& __c);
1033
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1034
- _LIBCPP_INLINE_VISIBILITY
1035
- void merge(list&& __c) {merge(__c);}
1036
- #endif
1037
- template <class _Comp>
1038
- void merge(list& __c, _Comp __comp);
1039
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1040
- template <class _Comp>
1041
- _LIBCPP_INLINE_VISIBILITY
1042
- void merge(list&& __c, _Comp __comp) {merge(__c, __comp);}
1043
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1044
- void sort();
1045
- template <class _Comp>
1046
- void sort(_Comp __comp);
1047
-
1048
- void reverse() _NOEXCEPT;
1049
-
1050
- bool __invariants() const;
1051
-
1052
- #if _LIBCPP_DEBUG_LEVEL >= 2
1053
-
1054
- bool __dereferenceable(const const_iterator* __i) const;
1055
- bool __decrementable(const const_iterator* __i) const;
1056
- bool __addable(const const_iterator* __i, ptrdiff_t __n) const;
1057
- bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const;
1058
-
1059
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
1060
-
1061
- private:
1062
- static void __link_nodes(__node_pointer __p, __node_pointer __f, __node_pointer __l);
1063
- iterator __iterator(size_type __n);
1064
- template <class _Comp>
1065
- static iterator __sort(iterator __f1, iterator __e2, size_type __n, _Comp& __comp);
1066
-
1067
- void __move_assign(list& __c, true_type)
1068
- _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value);
1069
- void __move_assign(list& __c, false_type);
1070
- };
1071
-
1072
- // Link in nodes [__f, __l] just prior to __p
1073
- template <class _Tp, class _Alloc>
1074
- inline _LIBCPP_INLINE_VISIBILITY
1075
- void
1076
- list<_Tp, _Alloc>::__link_nodes(__node_pointer __p, __node_pointer __f, __node_pointer __l)
1077
- {
1078
- __p->__prev_->__next_ = __f;
1079
- __f->__prev_ = __p->__prev_;
1080
- __p->__prev_ = __l;
1081
- __l->__next_ = __p;
1082
- }
1083
-
1084
- template <class _Tp, class _Alloc>
1085
- inline _LIBCPP_INLINE_VISIBILITY
1086
- typename list<_Tp, _Alloc>::iterator
1087
- list<_Tp, _Alloc>::__iterator(size_type __n)
1088
- {
1089
- return __n <= base::__sz() / 2 ? _VSTD::next(begin(), __n)
1090
- : _VSTD::prev(end(), base::__sz() - __n);
1091
- }
1092
-
1093
- template <class _Tp, class _Alloc>
1094
- list<_Tp, _Alloc>::list(size_type __n)
1095
- {
1096
- #if _LIBCPP_DEBUG_LEVEL >= 2
1097
- __get_db()->__insert_c(this);
1098
- #endif
1099
- for (; __n > 0; --__n)
1100
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1101
- emplace_back();
1102
- #else
1103
- push_back(value_type());
1104
- #endif
1105
- }
1106
-
1107
- #if _LIBCPP_STD_VER > 11
1108
- template <class _Tp, class _Alloc>
1109
- list<_Tp, _Alloc>::list(size_type __n, const allocator_type& __a) : base(__a)
1110
- {
1111
- #if _LIBCPP_DEBUG_LEVEL >= 2
1112
- __get_db()->__insert_c(this);
1113
- #endif
1114
- for (; __n > 0; --__n)
1115
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1116
- emplace_back();
1117
- #else
1118
- push_back(value_type());
1119
- #endif
1120
- }
1121
- #endif
1122
-
1123
- template <class _Tp, class _Alloc>
1124
- list<_Tp, _Alloc>::list(size_type __n, const value_type& __x)
1125
- {
1126
- #if _LIBCPP_DEBUG_LEVEL >= 2
1127
- __get_db()->__insert_c(this);
1128
- #endif
1129
- for (; __n > 0; --__n)
1130
- push_back(__x);
1131
- }
1132
-
1133
- template <class _Tp, class _Alloc>
1134
- list<_Tp, _Alloc>::list(size_type __n, const value_type& __x, const allocator_type& __a)
1135
- : base(__a)
1136
- {
1137
- #if _LIBCPP_DEBUG_LEVEL >= 2
1138
- __get_db()->__insert_c(this);
1139
- #endif
1140
- for (; __n > 0; --__n)
1141
- push_back(__x);
1142
- }
1143
-
1144
- template <class _Tp, class _Alloc>
1145
- template <class _InpIter>
1146
- list<_Tp, _Alloc>::list(_InpIter __f, _InpIter __l,
1147
- typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
1148
- {
1149
- #if _LIBCPP_DEBUG_LEVEL >= 2
1150
- __get_db()->__insert_c(this);
1151
- #endif
1152
- for (; __f != __l; ++__f)
1153
- push_back(*__f);
1154
- }
1155
-
1156
- template <class _Tp, class _Alloc>
1157
- template <class _InpIter>
1158
- list<_Tp, _Alloc>::list(_InpIter __f, _InpIter __l, const allocator_type& __a,
1159
- typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
1160
- : base(__a)
1161
- {
1162
- #if _LIBCPP_DEBUG_LEVEL >= 2
1163
- __get_db()->__insert_c(this);
1164
- #endif
1165
- for (; __f != __l; ++__f)
1166
- push_back(*__f);
1167
- }
1168
-
1169
- template <class _Tp, class _Alloc>
1170
- list<_Tp, _Alloc>::list(const list& __c)
1171
- : base(allocator_type(
1172
- __node_alloc_traits::select_on_container_copy_construction(
1173
- __c.__node_alloc())))
1174
- {
1175
- #if _LIBCPP_DEBUG_LEVEL >= 2
1176
- __get_db()->__insert_c(this);
1177
- #endif
1178
- for (const_iterator __i = __c.begin(), __e = __c.end(); __i != __e; ++__i)
1179
- push_back(*__i);
1180
- }
1181
-
1182
- template <class _Tp, class _Alloc>
1183
- list<_Tp, _Alloc>::list(const list& __c, const allocator_type& __a)
1184
- : base(__a)
1185
- {
1186
- #if _LIBCPP_DEBUG_LEVEL >= 2
1187
- __get_db()->__insert_c(this);
1188
- #endif
1189
- for (const_iterator __i = __c.begin(), __e = __c.end(); __i != __e; ++__i)
1190
- push_back(*__i);
1191
- }
1192
-
1193
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1194
-
1195
- template <class _Tp, class _Alloc>
1196
- list<_Tp, _Alloc>::list(initializer_list<value_type> __il, const allocator_type& __a)
1197
- : base(__a)
1198
- {
1199
- #if _LIBCPP_DEBUG_LEVEL >= 2
1200
- __get_db()->__insert_c(this);
1201
- #endif
1202
- for (typename initializer_list<value_type>::const_iterator __i = __il.begin(),
1203
- __e = __il.end(); __i != __e; ++__i)
1204
- push_back(*__i);
1205
- }
1206
-
1207
- template <class _Tp, class _Alloc>
1208
- list<_Tp, _Alloc>::list(initializer_list<value_type> __il)
1209
- {
1210
- #if _LIBCPP_DEBUG_LEVEL >= 2
1211
- __get_db()->__insert_c(this);
1212
- #endif
1213
- for (typename initializer_list<value_type>::const_iterator __i = __il.begin(),
1214
- __e = __il.end(); __i != __e; ++__i)
1215
- push_back(*__i);
1216
- }
1217
-
1218
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1219
-
1220
- template <class _Tp, class _Alloc>
1221
- inline _LIBCPP_INLINE_VISIBILITY
1222
- list<_Tp, _Alloc>&
1223
- list<_Tp, _Alloc>::operator=(const list& __c)
1224
- {
1225
- if (this != &__c)
1226
- {
1227
- base::__copy_assign_alloc(__c);
1228
- assign(__c.begin(), __c.end());
1229
- }
1230
- return *this;
1231
- }
1232
-
1233
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1234
-
1235
- template <class _Tp, class _Alloc>
1236
- inline _LIBCPP_INLINE_VISIBILITY
1237
- list<_Tp, _Alloc>::list(list&& __c)
1238
- _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value)
1239
- : base(allocator_type(_VSTD::move(__c.__node_alloc())))
1240
- {
1241
- #if _LIBCPP_DEBUG_LEVEL >= 2
1242
- __get_db()->__insert_c(this);
1243
- #endif
1244
- splice(end(), __c);
1245
- }
1246
-
1247
- template <class _Tp, class _Alloc>
1248
- inline _LIBCPP_INLINE_VISIBILITY
1249
- list<_Tp, _Alloc>::list(list&& __c, const allocator_type& __a)
1250
- : base(__a)
1251
- {
1252
- #if _LIBCPP_DEBUG_LEVEL >= 2
1253
- __get_db()->__insert_c(this);
1254
- #endif
1255
- if (__a == __c.get_allocator())
1256
- splice(end(), __c);
1257
- else
1258
- {
1259
- typedef move_iterator<iterator> _Ip;
1260
- assign(_Ip(__c.begin()), _Ip(__c.end()));
1261
- }
1262
- }
1263
-
1264
- template <class _Tp, class _Alloc>
1265
- inline _LIBCPP_INLINE_VISIBILITY
1266
- list<_Tp, _Alloc>&
1267
- list<_Tp, _Alloc>::operator=(list&& __c)
1268
- _NOEXCEPT_(
1269
- __node_alloc_traits::propagate_on_container_move_assignment::value &&
1270
- is_nothrow_move_assignable<__node_allocator>::value)
1271
- {
1272
- __move_assign(__c, integral_constant<bool,
1273
- __node_alloc_traits::propagate_on_container_move_assignment::value>());
1274
- return *this;
1275
- }
1276
-
1277
- template <class _Tp, class _Alloc>
1278
- void
1279
- list<_Tp, _Alloc>::__move_assign(list& __c, false_type)
1280
- {
1281
- if (base::__node_alloc() != __c.__node_alloc())
1282
- {
1283
- typedef move_iterator<iterator> _Ip;
1284
- assign(_Ip(__c.begin()), _Ip(__c.end()));
1285
- }
1286
- else
1287
- __move_assign(__c, true_type());
1288
- }
1289
-
1290
- template <class _Tp, class _Alloc>
1291
- void
1292
- list<_Tp, _Alloc>::__move_assign(list& __c, true_type)
1293
- _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
1294
- {
1295
- clear();
1296
- base::__move_assign_alloc(__c);
1297
- splice(end(), __c);
1298
- }
1299
-
1300
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1301
-
1302
- template <class _Tp, class _Alloc>
1303
- template <class _InpIter>
1304
- void
1305
- list<_Tp, _Alloc>::assign(_InpIter __f, _InpIter __l,
1306
- typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
1307
- {
1308
- iterator __i = begin();
1309
- iterator __e = end();
1310
- for (; __f != __l && __i != __e; ++__f, ++__i)
1311
- *__i = *__f;
1312
- if (__i == __e)
1313
- insert(__e, __f, __l);
1314
- else
1315
- erase(__i, __e);
1316
- }
1317
-
1318
- template <class _Tp, class _Alloc>
1319
- void
1320
- list<_Tp, _Alloc>::assign(size_type __n, const value_type& __x)
1321
- {
1322
- iterator __i = begin();
1323
- iterator __e = end();
1324
- for (; __n > 0 && __i != __e; --__n, ++__i)
1325
- *__i = __x;
1326
- if (__i == __e)
1327
- insert(__e, __n, __x);
1328
- else
1329
- erase(__i, __e);
1330
- }
1331
-
1332
- template <class _Tp, class _Alloc>
1333
- inline _LIBCPP_INLINE_VISIBILITY
1334
- _Alloc
1335
- list<_Tp, _Alloc>::get_allocator() const _NOEXCEPT
1336
- {
1337
- return allocator_type(base::__node_alloc());
1338
- }
1339
-
1340
- template <class _Tp, class _Alloc>
1341
- typename list<_Tp, _Alloc>::iterator
1342
- list<_Tp, _Alloc>::insert(const_iterator __p, const value_type& __x)
1343
- {
1344
- #if _LIBCPP_DEBUG_LEVEL >= 2
1345
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1346
- "list::insert(iterator, x) called with an iterator not"
1347
- " referring to this list");
1348
- #endif
1349
- __node_allocator& __na = base::__node_alloc();
1350
- typedef __allocator_destructor<__node_allocator> _Dp;
1351
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1352
- __hold->__prev_ = 0;
1353
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1354
- __link_nodes(__p.__ptr_, __hold.get(), __hold.get());
1355
- ++base::__sz();
1356
- #if _LIBCPP_DEBUG_LEVEL >= 2
1357
- return iterator(__hold.release(), this);
1358
- #else
1359
- return iterator(__hold.release());
1360
- #endif
1361
- }
1362
-
1363
- template <class _Tp, class _Alloc>
1364
- typename list<_Tp, _Alloc>::iterator
1365
- list<_Tp, _Alloc>::insert(const_iterator __p, size_type __n, const value_type& __x)
1366
- {
1367
- #if _LIBCPP_DEBUG_LEVEL >= 2
1368
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1369
- "list::insert(iterator, n, x) called with an iterator not"
1370
- " referring to this list");
1371
- iterator __r(__p.__ptr_, this);
1372
- #else
1373
- iterator __r(__p.__ptr_);
1374
- #endif
1375
- if (__n > 0)
1376
- {
1377
- size_type __ds = 0;
1378
- __node_allocator& __na = base::__node_alloc();
1379
- typedef __allocator_destructor<__node_allocator> _Dp;
1380
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1381
- __hold->__prev_ = 0;
1382
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1383
- ++__ds;
1384
- #if _LIBCPP_DEBUG_LEVEL >= 2
1385
- __r = iterator(__hold.get(), this);
1386
- #else
1387
- __r = iterator(__hold.get());
1388
- #endif
1389
- __hold.release();
1390
- iterator __e = __r;
1391
- #ifndef _LIBCPP_NO_EXCEPTIONS
1392
- try
1393
- {
1394
- #endif // _LIBCPP_NO_EXCEPTIONS
1395
- for (--__n; __n != 0; --__n, ++__e, ++__ds)
1396
- {
1397
- __hold.reset(__node_alloc_traits::allocate(__na, 1));
1398
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1399
- __e.__ptr_->__next_ = __hold.get();
1400
- __hold->__prev_ = __e.__ptr_;
1401
- __hold.release();
1402
- }
1403
- #ifndef _LIBCPP_NO_EXCEPTIONS
1404
- }
1405
- catch (...)
1406
- {
1407
- while (true)
1408
- {
1409
- __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
1410
- __node_pointer __prev = __e.__ptr_->__prev_;
1411
- __node_alloc_traits::deallocate(__na, __e.__ptr_, 1);
1412
- if (__prev == 0)
1413
- break;
1414
- #if _LIBCPP_DEBUG_LEVEL >= 2
1415
- __e = iterator(__prev, this);
1416
- #else
1417
- __e = iterator(__prev);
1418
- #endif
1419
- }
1420
- throw;
1421
- }
1422
- #endif // _LIBCPP_NO_EXCEPTIONS
1423
- __link_nodes(__p.__ptr_, __r.__ptr_, __e.__ptr_);
1424
- base::__sz() += __ds;
1425
- }
1426
- return __r;
1427
- }
1428
-
1429
- template <class _Tp, class _Alloc>
1430
- template <class _InpIter>
1431
- typename list<_Tp, _Alloc>::iterator
1432
- list<_Tp, _Alloc>::insert(const_iterator __p, _InpIter __f, _InpIter __l,
1433
- typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
1434
- {
1435
- #if _LIBCPP_DEBUG_LEVEL >= 2
1436
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1437
- "list::insert(iterator, range) called with an iterator not"
1438
- " referring to this list");
1439
- iterator __r(__p.__ptr_, this);
1440
- #else
1441
- iterator __r(__p.__ptr_);
1442
- #endif
1443
- if (__f != __l)
1444
- {
1445
- size_type __ds = 0;
1446
- __node_allocator& __na = base::__node_alloc();
1447
- typedef __allocator_destructor<__node_allocator> _Dp;
1448
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1449
- __hold->__prev_ = 0;
1450
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), *__f);
1451
- ++__ds;
1452
- #if _LIBCPP_DEBUG_LEVEL >= 2
1453
- __r = iterator(__hold.get(), this);
1454
- #else
1455
- __r = iterator(__hold.get());
1456
- #endif
1457
- __hold.release();
1458
- iterator __e = __r;
1459
- #ifndef _LIBCPP_NO_EXCEPTIONS
1460
- try
1461
- {
1462
- #endif // _LIBCPP_NO_EXCEPTIONS
1463
- for (++__f; __f != __l; ++__f, ++__e, ++__ds)
1464
- {
1465
- __hold.reset(__node_alloc_traits::allocate(__na, 1));
1466
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), *__f);
1467
- __e.__ptr_->__next_ = __hold.get();
1468
- __hold->__prev_ = __e.__ptr_;
1469
- __hold.release();
1470
- }
1471
- #ifndef _LIBCPP_NO_EXCEPTIONS
1472
- }
1473
- catch (...)
1474
- {
1475
- while (true)
1476
- {
1477
- __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
1478
- __node_pointer __prev = __e.__ptr_->__prev_;
1479
- __node_alloc_traits::deallocate(__na, __e.__ptr_, 1);
1480
- if (__prev == 0)
1481
- break;
1482
- #if _LIBCPP_DEBUG_LEVEL >= 2
1483
- __e = iterator(__prev, this);
1484
- #else
1485
- __e = iterator(__prev);
1486
- #endif
1487
- }
1488
- throw;
1489
- }
1490
- #endif // _LIBCPP_NO_EXCEPTIONS
1491
- __link_nodes(__p.__ptr_, __r.__ptr_, __e.__ptr_);
1492
- base::__sz() += __ds;
1493
- }
1494
- return __r;
1495
- }
1496
-
1497
- template <class _Tp, class _Alloc>
1498
- void
1499
- list<_Tp, _Alloc>::push_front(const value_type& __x)
1500
- {
1501
- __node_allocator& __na = base::__node_alloc();
1502
- typedef __allocator_destructor<__node_allocator> _Dp;
1503
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1504
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1505
- __link_nodes(base::__end_.__next_, __hold.get(), __hold.get());
1506
- ++base::__sz();
1507
- __hold.release();
1508
- }
1509
-
1510
- template <class _Tp, class _Alloc>
1511
- void
1512
- list<_Tp, _Alloc>::push_back(const value_type& __x)
1513
- {
1514
- __node_allocator& __na = base::__node_alloc();
1515
- typedef __allocator_destructor<__node_allocator> _Dp;
1516
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1517
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1518
- __link_nodes(static_cast<__node_pointer>(pointer_traits<__node_base_pointer>::
1519
- pointer_to(base::__end_)), __hold.get(), __hold.get());
1520
- ++base::__sz();
1521
- __hold.release();
1522
- }
1523
-
1524
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1525
-
1526
- template <class _Tp, class _Alloc>
1527
- void
1528
- list<_Tp, _Alloc>::push_front(value_type&& __x)
1529
- {
1530
- __node_allocator& __na = base::__node_alloc();
1531
- typedef __allocator_destructor<__node_allocator> _Dp;
1532
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1533
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::move(__x));
1534
- __link_nodes(base::__end_.__next_, __hold.get(), __hold.get());
1535
- ++base::__sz();
1536
- __hold.release();
1537
- }
1538
-
1539
- template <class _Tp, class _Alloc>
1540
- void
1541
- list<_Tp, _Alloc>::push_back(value_type&& __x)
1542
- {
1543
- __node_allocator& __na = base::__node_alloc();
1544
- typedef __allocator_destructor<__node_allocator> _Dp;
1545
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1546
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::move(__x));
1547
- __link_nodes(static_cast<__node_pointer>(pointer_traits<__node_base_pointer>::
1548
- pointer_to(base::__end_)), __hold.get(), __hold.get());
1549
- ++base::__sz();
1550
- __hold.release();
1551
- }
1552
-
1553
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1554
-
1555
- template <class _Tp, class _Alloc>
1556
- template <class... _Args>
1557
- void
1558
- list<_Tp, _Alloc>::emplace_front(_Args&&... __args)
1559
- {
1560
- __node_allocator& __na = base::__node_alloc();
1561
- typedef __allocator_destructor<__node_allocator> _Dp;
1562
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1563
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::forward<_Args>(__args)...);
1564
- __link_nodes(base::__end_.__next_, __hold.get(), __hold.get());
1565
- ++base::__sz();
1566
- __hold.release();
1567
- }
1568
-
1569
- template <class _Tp, class _Alloc>
1570
- template <class... _Args>
1571
- void
1572
- list<_Tp, _Alloc>::emplace_back(_Args&&... __args)
1573
- {
1574
- __node_allocator& __na = base::__node_alloc();
1575
- typedef __allocator_destructor<__node_allocator> _Dp;
1576
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1577
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::forward<_Args>(__args)...);
1578
- __link_nodes(static_cast<__node_pointer>(pointer_traits<__node_base_pointer>::
1579
- pointer_to(base::__end_)), __hold.get(), __hold.get());
1580
- ++base::__sz();
1581
- __hold.release();
1582
- }
1583
-
1584
- template <class _Tp, class _Alloc>
1585
- template <class... _Args>
1586
- typename list<_Tp, _Alloc>::iterator
1587
- list<_Tp, _Alloc>::emplace(const_iterator __p, _Args&&... __args)
1588
- {
1589
- #if _LIBCPP_DEBUG_LEVEL >= 2
1590
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1591
- "list::emplace(iterator, args...) called with an iterator not"
1592
- " referring to this list");
1593
- #endif
1594
- __node_allocator& __na = base::__node_alloc();
1595
- typedef __allocator_destructor<__node_allocator> _Dp;
1596
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1597
- __hold->__prev_ = 0;
1598
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::forward<_Args>(__args)...);
1599
- __link_nodes(__p.__ptr_, __hold.get(), __hold.get());
1600
- ++base::__sz();
1601
- #if _LIBCPP_DEBUG_LEVEL >= 2
1602
- return iterator(__hold.release(), this);
1603
- #else
1604
- return iterator(__hold.release());
1605
- #endif
1606
- }
1607
-
1608
- #endif // _LIBCPP_HAS_NO_VARIADICS
1609
-
1610
- template <class _Tp, class _Alloc>
1611
- typename list<_Tp, _Alloc>::iterator
1612
- list<_Tp, _Alloc>::insert(const_iterator __p, value_type&& __x)
1613
- {
1614
- #if _LIBCPP_DEBUG_LEVEL >= 2
1615
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1616
- "list::insert(iterator, x) called with an iterator not"
1617
- " referring to this list");
1618
- #endif
1619
- __node_allocator& __na = base::__node_alloc();
1620
- typedef __allocator_destructor<__node_allocator> _Dp;
1621
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1622
- __hold->__prev_ = 0;
1623
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::move(__x));
1624
- __link_nodes(__p.__ptr_, __hold.get(), __hold.get());
1625
- ++base::__sz();
1626
- #if _LIBCPP_DEBUG_LEVEL >= 2
1627
- return iterator(__hold.release(), this);
1628
- #else
1629
- return iterator(__hold.release());
1630
- #endif
1631
- }
1632
-
1633
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1634
-
1635
- template <class _Tp, class _Alloc>
1636
- void
1637
- list<_Tp, _Alloc>::pop_front()
1638
- {
1639
- _LIBCPP_ASSERT(!empty(), "list::pop_front() called with empty list");
1640
- __node_allocator& __na = base::__node_alloc();
1641
- __node_pointer __n = base::__end_.__next_;
1642
- base::__unlink_nodes(__n, __n);
1643
- --base::__sz();
1644
- #if _LIBCPP_DEBUG_LEVEL >= 2
1645
- __c_node* __c = __get_db()->__find_c_and_lock(this);
1646
- for (__i_node** __p = __c->end_; __p != __c->beg_; )
1647
- {
1648
- --__p;
1649
- iterator* __i = static_cast<iterator*>((*__p)->__i_);
1650
- if (__i->__ptr_ == __n)
1651
- {
1652
- (*__p)->__c_ = nullptr;
1653
- if (--__c->end_ != __p)
1654
- memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
1655
- }
1656
- }
1657
- __get_db()->unlock();
1658
- #endif
1659
- __node_alloc_traits::destroy(__na, _VSTD::addressof(__n->__value_));
1660
- __node_alloc_traits::deallocate(__na, __n, 1);
1661
- }
1662
-
1663
- template <class _Tp, class _Alloc>
1664
- void
1665
- list<_Tp, _Alloc>::pop_back()
1666
- {
1667
- _LIBCPP_ASSERT(!empty(), "list::pop_back() called with empty list");
1668
- __node_allocator& __na = base::__node_alloc();
1669
- __node_pointer __n = base::__end_.__prev_;
1670
- base::__unlink_nodes(__n, __n);
1671
- --base::__sz();
1672
- #if _LIBCPP_DEBUG_LEVEL >= 2
1673
- __c_node* __c = __get_db()->__find_c_and_lock(this);
1674
- for (__i_node** __p = __c->end_; __p != __c->beg_; )
1675
- {
1676
- --__p;
1677
- iterator* __i = static_cast<iterator*>((*__p)->__i_);
1678
- if (__i->__ptr_ == __n)
1679
- {
1680
- (*__p)->__c_ = nullptr;
1681
- if (--__c->end_ != __p)
1682
- memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
1683
- }
1684
- }
1685
- __get_db()->unlock();
1686
- #endif
1687
- __node_alloc_traits::destroy(__na, _VSTD::addressof(__n->__value_));
1688
- __node_alloc_traits::deallocate(__na, __n, 1);
1689
- }
1690
-
1691
- template <class _Tp, class _Alloc>
1692
- typename list<_Tp, _Alloc>::iterator
1693
- list<_Tp, _Alloc>::erase(const_iterator __p)
1694
- {
1695
- #if _LIBCPP_DEBUG_LEVEL >= 2
1696
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1697
- "list::erase(iterator) called with an iterator not"
1698
- " referring to this list");
1699
- #endif
1700
- _LIBCPP_ASSERT(__p != end(),
1701
- "list::erase(iterator) called with a non-dereferenceable iterator");
1702
- __node_allocator& __na = base::__node_alloc();
1703
- __node_pointer __n = __p.__ptr_;
1704
- __node_pointer __r = __n->__next_;
1705
- base::__unlink_nodes(__n, __n);
1706
- --base::__sz();
1707
- #if _LIBCPP_DEBUG_LEVEL >= 2
1708
- __c_node* __c = __get_db()->__find_c_and_lock(this);
1709
- for (__i_node** __p = __c->end_; __p != __c->beg_; )
1710
- {
1711
- --__p;
1712
- iterator* __i = static_cast<iterator*>((*__p)->__i_);
1713
- if (__i->__ptr_ == __n)
1714
- {
1715
- (*__p)->__c_ = nullptr;
1716
- if (--__c->end_ != __p)
1717
- memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
1718
- }
1719
- }
1720
- __get_db()->unlock();
1721
- #endif
1722
- __node_alloc_traits::destroy(__na, _VSTD::addressof(__n->__value_));
1723
- __node_alloc_traits::deallocate(__na, __n, 1);
1724
- #if _LIBCPP_DEBUG_LEVEL >= 2
1725
- return iterator(__r, this);
1726
- #else
1727
- return iterator(__r);
1728
- #endif
1729
- }
1730
-
1731
- template <class _Tp, class _Alloc>
1732
- typename list<_Tp, _Alloc>::iterator
1733
- list<_Tp, _Alloc>::erase(const_iterator __f, const_iterator __l)
1734
- {
1735
- #if _LIBCPP_DEBUG_LEVEL >= 2
1736
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__f) == this,
1737
- "list::erase(iterator, iterator) called with an iterator not"
1738
- " referring to this list");
1739
- #endif
1740
- if (__f != __l)
1741
- {
1742
- __node_allocator& __na = base::__node_alloc();
1743
- base::__unlink_nodes(__f.__ptr_, __l.__ptr_->__prev_);
1744
- while (__f != __l)
1745
- {
1746
- __node_pointer __n = __f.__ptr_;
1747
- ++__f;
1748
- --base::__sz();
1749
- #if _LIBCPP_DEBUG_LEVEL >= 2
1750
- __c_node* __c = __get_db()->__find_c_and_lock(this);
1751
- for (__i_node** __p = __c->end_; __p != __c->beg_; )
1752
- {
1753
- --__p;
1754
- iterator* __i = static_cast<iterator*>((*__p)->__i_);
1755
- if (__i->__ptr_ == __n)
1756
- {
1757
- (*__p)->__c_ = nullptr;
1758
- if (--__c->end_ != __p)
1759
- memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
1760
- }
1761
- }
1762
- __get_db()->unlock();
1763
- #endif
1764
- __node_alloc_traits::destroy(__na, _VSTD::addressof(__n->__value_));
1765
- __node_alloc_traits::deallocate(__na, __n, 1);
1766
- }
1767
- }
1768
- #if _LIBCPP_DEBUG_LEVEL >= 2
1769
- return iterator(__l.__ptr_, this);
1770
- #else
1771
- return iterator(__l.__ptr_);
1772
- #endif
1773
- }
1774
-
1775
- template <class _Tp, class _Alloc>
1776
- void
1777
- list<_Tp, _Alloc>::resize(size_type __n)
1778
- {
1779
- if (__n < base::__sz())
1780
- erase(__iterator(__n), end());
1781
- else if (__n > base::__sz())
1782
- {
1783
- __n -= base::__sz();
1784
- size_type __ds = 0;
1785
- __node_allocator& __na = base::__node_alloc();
1786
- typedef __allocator_destructor<__node_allocator> _Dp;
1787
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1788
- __hold->__prev_ = 0;
1789
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_));
1790
- ++__ds;
1791
- #if _LIBCPP_DEBUG_LEVEL >= 2
1792
- iterator __r = iterator(__hold.release(), this);
1793
- #else
1794
- iterator __r = iterator(__hold.release());
1795
- #endif
1796
- iterator __e = __r;
1797
- #ifndef _LIBCPP_NO_EXCEPTIONS
1798
- try
1799
- {
1800
- #endif // _LIBCPP_NO_EXCEPTIONS
1801
- for (--__n; __n != 0; --__n, ++__e, ++__ds)
1802
- {
1803
- __hold.reset(__node_alloc_traits::allocate(__na, 1));
1804
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_));
1805
- __e.__ptr_->__next_ = __hold.get();
1806
- __hold->__prev_ = __e.__ptr_;
1807
- __hold.release();
1808
- }
1809
- #ifndef _LIBCPP_NO_EXCEPTIONS
1810
- }
1811
- catch (...)
1812
- {
1813
- while (true)
1814
- {
1815
- __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
1816
- __node_pointer __prev = __e.__ptr_->__prev_;
1817
- __node_alloc_traits::deallocate(__na, __e.__ptr_, 1);
1818
- if (__prev == 0)
1819
- break;
1820
- #if _LIBCPP_DEBUG_LEVEL >= 2
1821
- __e = iterator(__prev, this);
1822
- #else
1823
- __e = iterator(__prev);
1824
- #endif
1825
- }
1826
- throw;
1827
- }
1828
- #endif // _LIBCPP_NO_EXCEPTIONS
1829
- __link_nodes(static_cast<__node_pointer>(pointer_traits<__node_base_pointer>::
1830
- pointer_to(base::__end_)), __r.__ptr_, __e.__ptr_);
1831
- base::__sz() += __ds;
1832
- }
1833
- }
1834
-
1835
- template <class _Tp, class _Alloc>
1836
- void
1837
- list<_Tp, _Alloc>::resize(size_type __n, const value_type& __x)
1838
- {
1839
- if (__n < base::__sz())
1840
- erase(__iterator(__n), end());
1841
- else if (__n > base::__sz())
1842
- {
1843
- __n -= base::__sz();
1844
- size_type __ds = 0;
1845
- __node_allocator& __na = base::__node_alloc();
1846
- typedef __allocator_destructor<__node_allocator> _Dp;
1847
- unique_ptr<__node, _Dp> __hold(__node_alloc_traits::allocate(__na, 1), _Dp(__na, 1));
1848
- __hold->__prev_ = 0;
1849
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1850
- ++__ds;
1851
- #if _LIBCPP_DEBUG_LEVEL >= 2
1852
- iterator __r = iterator(__hold.release(), this);
1853
- #else
1854
- iterator __r = iterator(__hold.release());
1855
- #endif
1856
- iterator __e = __r;
1857
- #ifndef _LIBCPP_NO_EXCEPTIONS
1858
- try
1859
- {
1860
- #endif // _LIBCPP_NO_EXCEPTIONS
1861
- for (--__n; __n != 0; --__n, ++__e, ++__ds)
1862
- {
1863
- __hold.reset(__node_alloc_traits::allocate(__na, 1));
1864
- __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
1865
- __e.__ptr_->__next_ = __hold.get();
1866
- __hold->__prev_ = __e.__ptr_;
1867
- __hold.release();
1868
- }
1869
- #ifndef _LIBCPP_NO_EXCEPTIONS
1870
- }
1871
- catch (...)
1872
- {
1873
- while (true)
1874
- {
1875
- __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
1876
- __node_pointer __prev = __e.__ptr_->__prev_;
1877
- __node_alloc_traits::deallocate(__na, __e.__ptr_, 1);
1878
- if (__prev == 0)
1879
- break;
1880
- #if _LIBCPP_DEBUG_LEVEL >= 2
1881
- __e = iterator(__prev, this);
1882
- #else
1883
- __e = iterator(__prev);
1884
- #endif
1885
- }
1886
- throw;
1887
- }
1888
- #endif // _LIBCPP_NO_EXCEPTIONS
1889
- __link_nodes(static_cast<__node_pointer>(pointer_traits<__node_base_pointer>::
1890
- pointer_to(base::__end_)), __r.__ptr_, __e.__ptr_);
1891
- base::__sz() += __ds;
1892
- }
1893
- }
1894
-
1895
- template <class _Tp, class _Alloc>
1896
- void
1897
- list<_Tp, _Alloc>::splice(const_iterator __p, list& __c)
1898
- {
1899
- _LIBCPP_ASSERT(this != &__c,
1900
- "list::splice(iterator, list) called with this == &list");
1901
- #if _LIBCPP_DEBUG_LEVEL >= 2
1902
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1903
- "list::splice(iterator, list) called with an iterator not"
1904
- " referring to this list");
1905
- #endif
1906
- if (!__c.empty())
1907
- {
1908
- __node_pointer __f = __c.__end_.__next_;
1909
- __node_pointer __l = __c.__end_.__prev_;
1910
- base::__unlink_nodes(__f, __l);
1911
- __link_nodes(__p.__ptr_, __f, __l);
1912
- base::__sz() += __c.__sz();
1913
- __c.__sz() = 0;
1914
- #if _LIBCPP_DEBUG_LEVEL >= 2
1915
- __libcpp_db* __db = __get_db();
1916
- __c_node* __cn1 = __db->__find_c_and_lock(this);
1917
- __c_node* __cn2 = __db->__find_c(&__c);
1918
- for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
1919
- {
1920
- --__p;
1921
- iterator* __i = static_cast<iterator*>((*__p)->__i_);
1922
- if (__i->__ptr_ != static_cast<__node_pointer>(
1923
- pointer_traits<__node_base_pointer>::pointer_to(__c.__end_)))
1924
- {
1925
- __cn1->__add(*__p);
1926
- (*__p)->__c_ = __cn1;
1927
- if (--__cn2->end_ != __p)
1928
- memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
1929
- }
1930
- }
1931
- __db->unlock();
1932
- #endif
1933
- }
1934
- }
1935
-
1936
- template <class _Tp, class _Alloc>
1937
- void
1938
- list<_Tp, _Alloc>::splice(const_iterator __p, list& __c, const_iterator __i)
1939
- {
1940
- #if _LIBCPP_DEBUG_LEVEL >= 2
1941
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1942
- "list::splice(iterator, list, iterator) called with first iterator not"
1943
- " referring to this list");
1944
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__i) == &__c,
1945
- "list::splice(iterator, list, iterator) called with second iterator not"
1946
- " referring to list argument");
1947
- _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(&__i),
1948
- "list::splice(iterator, list, iterator) called with second iterator not"
1949
- " derefereceable");
1950
- #endif
1951
- if (__p.__ptr_ != __i.__ptr_ && __p.__ptr_ != __i.__ptr_->__next_)
1952
- {
1953
- __node_pointer __f = __i.__ptr_;
1954
- base::__unlink_nodes(__f, __f);
1955
- __link_nodes(__p.__ptr_, __f, __f);
1956
- --__c.__sz();
1957
- ++base::__sz();
1958
- #if _LIBCPP_DEBUG_LEVEL >= 2
1959
- __libcpp_db* __db = __get_db();
1960
- __c_node* __cn1 = __db->__find_c_and_lock(this);
1961
- __c_node* __cn2 = __db->__find_c(&__c);
1962
- for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
1963
- {
1964
- --__p;
1965
- iterator* __j = static_cast<iterator*>((*__p)->__i_);
1966
- if (__j->__ptr_ == __f)
1967
- {
1968
- __cn1->__add(*__p);
1969
- (*__p)->__c_ = __cn1;
1970
- if (--__cn2->end_ != __p)
1971
- memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
1972
- }
1973
- }
1974
- __db->unlock();
1975
- #endif
1976
- }
1977
- }
1978
-
1979
- template <class _Tp, class _Alloc>
1980
- void
1981
- list<_Tp, _Alloc>::splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l)
1982
- {
1983
- #if _LIBCPP_DEBUG_LEVEL >= 2
1984
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
1985
- "list::splice(iterator, list, iterator, iterator) called with first iterator not"
1986
- " referring to this list");
1987
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__f) == &__c,
1988
- "list::splice(iterator, list, iterator, iterator) called with second iterator not"
1989
- " referring to list argument");
1990
- if (this == &__c)
1991
- {
1992
- for (const_iterator __i = __f; __i != __l; ++__i)
1993
- _LIBCPP_ASSERT(__i != __p,
1994
- "list::splice(iterator, list, iterator, iterator)"
1995
- " called with the first iterator within the range"
1996
- " of the second and third iterators");
1997
- }
1998
- #endif
1999
- if (__f != __l)
2000
- {
2001
- if (this != &__c)
2002
- {
2003
- size_type __s = _VSTD::distance(__f, __l);
2004
- __c.__sz() -= __s;
2005
- base::__sz() += __s;
2006
- }
2007
- __node_pointer __first = __f.__ptr_;
2008
- --__l;
2009
- __node_pointer __last = __l.__ptr_;
2010
- base::__unlink_nodes(__first, __last);
2011
- __link_nodes(__p.__ptr_, __first, __last);
2012
- #if _LIBCPP_DEBUG_LEVEL >= 2
2013
- __libcpp_db* __db = __get_db();
2014
- __c_node* __cn1 = __db->__find_c_and_lock(this);
2015
- __c_node* __cn2 = __db->__find_c(&__c);
2016
- for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
2017
- {
2018
- --__p;
2019
- iterator* __j = static_cast<iterator*>((*__p)->__i_);
2020
- for (__node_pointer __k = __f.__ptr_;
2021
- __k != __l.__ptr_; __k = __k->__next_)
2022
- {
2023
- if (__j->__ptr_ == __k)
2024
- {
2025
- __cn1->__add(*__p);
2026
- (*__p)->__c_ = __cn1;
2027
- if (--__cn2->end_ != __p)
2028
- memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
2029
- }
2030
- }
2031
- }
2032
- __db->unlock();
2033
- #endif
2034
- }
2035
- }
2036
-
2037
- template <class _Tp, class _Alloc>
2038
- void
2039
- list<_Tp, _Alloc>::remove(const value_type& __x)
2040
- {
2041
- for (iterator __i = begin(), __e = end(); __i != __e;)
2042
- {
2043
- if (*__i == __x)
2044
- {
2045
- iterator __j = _VSTD::next(__i);
2046
- for (; __j != __e && *__j == __x; ++__j)
2047
- ;
2048
- __i = erase(__i, __j);
2049
- }
2050
- else
2051
- ++__i;
2052
- }
2053
- }
2054
-
2055
- template <class _Tp, class _Alloc>
2056
- template <class _Pred>
2057
- void
2058
- list<_Tp, _Alloc>::remove_if(_Pred __pred)
2059
- {
2060
- for (iterator __i = begin(), __e = end(); __i != __e;)
2061
- {
2062
- if (__pred(*__i))
2063
- {
2064
- iterator __j = _VSTD::next(__i);
2065
- for (; __j != __e && __pred(*__j); ++__j)
2066
- ;
2067
- __i = erase(__i, __j);
2068
- }
2069
- else
2070
- ++__i;
2071
- }
2072
- }
2073
-
2074
- template <class _Tp, class _Alloc>
2075
- inline _LIBCPP_INLINE_VISIBILITY
2076
- void
2077
- list<_Tp, _Alloc>::unique()
2078
- {
2079
- unique(__equal_to<value_type>());
2080
- }
2081
-
2082
- template <class _Tp, class _Alloc>
2083
- template <class _BinaryPred>
2084
- void
2085
- list<_Tp, _Alloc>::unique(_BinaryPred __binary_pred)
2086
- {
2087
- for (iterator __i = begin(), __e = end(); __i != __e;)
2088
- {
2089
- iterator __j = _VSTD::next(__i);
2090
- for (; __j != __e && __binary_pred(*__i, *__j); ++__j)
2091
- ;
2092
- if (++__i != __j)
2093
- __i = erase(__i, __j);
2094
- }
2095
- }
2096
-
2097
- template <class _Tp, class _Alloc>
2098
- inline _LIBCPP_INLINE_VISIBILITY
2099
- void
2100
- list<_Tp, _Alloc>::merge(list& __c)
2101
- {
2102
- merge(__c, __less<value_type>());
2103
- }
2104
-
2105
- template <class _Tp, class _Alloc>
2106
- template <class _Comp>
2107
- void
2108
- list<_Tp, _Alloc>::merge(list& __c, _Comp __comp)
2109
- {
2110
- if (this != &__c)
2111
- {
2112
- iterator __f1 = begin();
2113
- iterator __e1 = end();
2114
- iterator __f2 = __c.begin();
2115
- iterator __e2 = __c.end();
2116
- while (__f1 != __e1 && __f2 != __e2)
2117
- {
2118
- if (__comp(*__f2, *__f1))
2119
- {
2120
- size_type __ds = 1;
2121
- iterator __m2 = _VSTD::next(__f2);
2122
- for (; __m2 != __e2 && __comp(*__m2, *__f1); ++__m2, ++__ds)
2123
- ;
2124
- base::__sz() += __ds;
2125
- __c.__sz() -= __ds;
2126
- __node_pointer __f = __f2.__ptr_;
2127
- __node_pointer __l = __m2.__ptr_->__prev_;
2128
- __f2 = __m2;
2129
- base::__unlink_nodes(__f, __l);
2130
- __m2 = _VSTD::next(__f1);
2131
- __link_nodes(__f1.__ptr_, __f, __l);
2132
- __f1 = __m2;
2133
- }
2134
- else
2135
- ++__f1;
2136
- }
2137
- splice(__e1, __c);
2138
- #if _LIBCPP_DEBUG_LEVEL >= 2
2139
- __libcpp_db* __db = __get_db();
2140
- __c_node* __cn1 = __db->__find_c_and_lock(this);
2141
- __c_node* __cn2 = __db->__find_c(&__c);
2142
- for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
2143
- {
2144
- --__p;
2145
- iterator* __i = static_cast<iterator*>((*__p)->__i_);
2146
- if (__i->__ptr_ != static_cast<__node_pointer>(
2147
- pointer_traits<__node_base_pointer>::pointer_to(__c.__end_)))
2148
- {
2149
- __cn1->__add(*__p);
2150
- (*__p)->__c_ = __cn1;
2151
- if (--__cn2->end_ != __p)
2152
- memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
2153
- }
2154
- }
2155
- __db->unlock();
2156
- #endif
2157
- }
2158
- }
2159
-
2160
- template <class _Tp, class _Alloc>
2161
- inline _LIBCPP_INLINE_VISIBILITY
2162
- void
2163
- list<_Tp, _Alloc>::sort()
2164
- {
2165
- sort(__less<value_type>());
2166
- }
2167
-
2168
- template <class _Tp, class _Alloc>
2169
- template <class _Comp>
2170
- inline _LIBCPP_INLINE_VISIBILITY
2171
- void
2172
- list<_Tp, _Alloc>::sort(_Comp __comp)
2173
- {
2174
- __sort(begin(), end(), base::__sz(), __comp);
2175
- }
2176
-
2177
- template <class _Tp, class _Alloc>
2178
- template <class _Comp>
2179
- typename list<_Tp, _Alloc>::iterator
2180
- list<_Tp, _Alloc>::__sort(iterator __f1, iterator __e2, size_type __n, _Comp& __comp)
2181
- {
2182
- switch (__n)
2183
- {
2184
- case 0:
2185
- case 1:
2186
- return __f1;
2187
- case 2:
2188
- if (__comp(*--__e2, *__f1))
2189
- {
2190
- __node_pointer __f = __e2.__ptr_;
2191
- base::__unlink_nodes(__f, __f);
2192
- __link_nodes(__f1.__ptr_, __f, __f);
2193
- return __e2;
2194
- }
2195
- return __f1;
2196
- }
2197
- size_type __n2 = __n / 2;
2198
- iterator __e1 = _VSTD::next(__f1, __n2);
2199
- iterator __r = __f1 = __sort(__f1, __e1, __n2, __comp);
2200
- iterator __f2 = __e1 = __sort(__e1, __e2, __n - __n2, __comp);
2201
- if (__comp(*__f2, *__f1))
2202
- {
2203
- iterator __m2 = _VSTD::next(__f2);
2204
- for (; __m2 != __e2 && __comp(*__m2, *__f1); ++__m2)
2205
- ;
2206
- __node_pointer __f = __f2.__ptr_;
2207
- __node_pointer __l = __m2.__ptr_->__prev_;
2208
- __r = __f2;
2209
- __e1 = __f2 = __m2;
2210
- base::__unlink_nodes(__f, __l);
2211
- __m2 = _VSTD::next(__f1);
2212
- __link_nodes(__f1.__ptr_, __f, __l);
2213
- __f1 = __m2;
2214
- }
2215
- else
2216
- ++__f1;
2217
- while (__f1 != __e1 && __f2 != __e2)
2218
- {
2219
- if (__comp(*__f2, *__f1))
2220
- {
2221
- iterator __m2 = _VSTD::next(__f2);
2222
- for (; __m2 != __e2 && __comp(*__m2, *__f1); ++__m2)
2223
- ;
2224
- __node_pointer __f = __f2.__ptr_;
2225
- __node_pointer __l = __m2.__ptr_->__prev_;
2226
- if (__e1 == __f2)
2227
- __e1 = __m2;
2228
- __f2 = __m2;
2229
- base::__unlink_nodes(__f, __l);
2230
- __m2 = _VSTD::next(__f1);
2231
- __link_nodes(__f1.__ptr_, __f, __l);
2232
- __f1 = __m2;
2233
- }
2234
- else
2235
- ++__f1;
2236
- }
2237
- return __r;
2238
- }
2239
-
2240
- template <class _Tp, class _Alloc>
2241
- void
2242
- list<_Tp, _Alloc>::reverse() _NOEXCEPT
2243
- {
2244
- if (base::__sz() > 1)
2245
- {
2246
- iterator __e = end();
2247
- for (iterator __i = begin(); __i.__ptr_ != __e.__ptr_;)
2248
- {
2249
- _VSTD::swap(__i.__ptr_->__prev_, __i.__ptr_->__next_);
2250
- __i.__ptr_ = __i.__ptr_->__prev_;
2251
- }
2252
- _VSTD::swap(__e.__ptr_->__prev_, __e.__ptr_->__next_);
2253
- }
2254
- }
2255
-
2256
- template <class _Tp, class _Alloc>
2257
- bool
2258
- list<_Tp, _Alloc>::__invariants() const
2259
- {
2260
- return size() == _VSTD::distance(begin(), end());
2261
- }
2262
-
2263
- #if _LIBCPP_DEBUG_LEVEL >= 2
2264
-
2265
- template <class _Tp, class _Alloc>
2266
- bool
2267
- list<_Tp, _Alloc>::__dereferenceable(const const_iterator* __i) const
2268
- {
2269
- return __i->__ptr_ != static_cast<__node_pointer>(
2270
- pointer_traits<__node_base_pointer>::pointer_to(const_cast<__node_base&>(this->__end_)));
2271
- }
2272
-
2273
- template <class _Tp, class _Alloc>
2274
- bool
2275
- list<_Tp, _Alloc>::__decrementable(const const_iterator* __i) const
2276
- {
2277
- return !empty() && __i->__ptr_ != base::__end_.__next_;
2278
- }
2279
-
2280
- template <class _Tp, class _Alloc>
2281
- bool
2282
- list<_Tp, _Alloc>::__addable(const const_iterator* __i, ptrdiff_t __n) const
2283
- {
2284
- return false;
2285
- }
2286
-
2287
- template <class _Tp, class _Alloc>
2288
- bool
2289
- list<_Tp, _Alloc>::__subscriptable(const const_iterator* __i, ptrdiff_t __n) const
2290
- {
2291
- return false;
2292
- }
2293
-
2294
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
2295
-
2296
- template <class _Tp, class _Alloc>
2297
- inline _LIBCPP_INLINE_VISIBILITY
2298
- bool
2299
- operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
2300
- {
2301
- return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
2302
- }
2303
-
2304
- template <class _Tp, class _Alloc>
2305
- inline _LIBCPP_INLINE_VISIBILITY
2306
- bool
2307
- operator< (const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
2308
- {
2309
- return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
2310
- }
2311
-
2312
- template <class _Tp, class _Alloc>
2313
- inline _LIBCPP_INLINE_VISIBILITY
2314
- bool
2315
- operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
2316
- {
2317
- return !(__x == __y);
2318
- }
2319
-
2320
- template <class _Tp, class _Alloc>
2321
- inline _LIBCPP_INLINE_VISIBILITY
2322
- bool
2323
- operator> (const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
2324
- {
2325
- return __y < __x;
2326
- }
2327
-
2328
- template <class _Tp, class _Alloc>
2329
- inline _LIBCPP_INLINE_VISIBILITY
2330
- bool
2331
- operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
2332
- {
2333
- return !(__x < __y);
2334
- }
2335
-
2336
- template <class _Tp, class _Alloc>
2337
- inline _LIBCPP_INLINE_VISIBILITY
2338
- bool
2339
- operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
2340
- {
2341
- return !(__y < __x);
2342
- }
2343
-
2344
- template <class _Tp, class _Alloc>
2345
- inline _LIBCPP_INLINE_VISIBILITY
2346
- void
2347
- swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
2348
- _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
2349
- {
2350
- __x.swap(__y);
2351
- }
2352
-
2353
- _LIBCPP_END_NAMESPACE_STD
2354
-
2355
- #endif // _LIBCPP_LIST