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,3246 +0,0 @@
1
- // -*- C++ -*-
2
- //===------------------------------ vector --------------------------------===//
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_VECTOR
12
- #define _LIBCPP_VECTOR
13
-
14
- /*
15
- vector synopsis
16
-
17
- namespace std
18
- {
19
-
20
- template <class T, class Allocator = allocator<T> >
21
- class vector
22
- {
23
- public:
24
- typedef T value_type;
25
- typedef Allocator allocator_type;
26
- typedef typename allocator_type::reference reference;
27
- typedef typename allocator_type::const_reference const_reference;
28
- typedef implementation-defined iterator;
29
- typedef implementation-defined const_iterator;
30
- typedef typename allocator_type::size_type size_type;
31
- typedef typename allocator_type::difference_type difference_type;
32
- typedef typename allocator_type::pointer pointer;
33
- typedef typename allocator_type::const_pointer const_pointer;
34
- typedef std::reverse_iterator<iterator> reverse_iterator;
35
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
36
-
37
- vector()
38
- noexcept(is_nothrow_default_constructible<allocator_type>::value);
39
- explicit vector(const allocator_type&);
40
- explicit vector(size_type n);
41
- explicit vector(size_type n, const allocator_type&); // C++14
42
- vector(size_type n, const value_type& value, const allocator_type& = allocator_type());
43
- template <class InputIterator>
44
- vector(InputIterator first, InputIterator last, const allocator_type& = allocator_type());
45
- vector(const vector& x);
46
- vector(vector&& x)
47
- noexcept(is_nothrow_move_constructible<allocator_type>::value);
48
- vector(initializer_list<value_type> il);
49
- vector(initializer_list<value_type> il, const allocator_type& a);
50
- ~vector();
51
- vector& operator=(const vector& x);
52
- vector& operator=(vector&& x)
53
- noexcept(
54
- allocator_type::propagate_on_container_move_assignment::value &&
55
- is_nothrow_move_assignable<allocator_type>::value);
56
- vector& operator=(initializer_list<value_type> il);
57
- template <class InputIterator>
58
- void assign(InputIterator first, InputIterator last);
59
- void assign(size_type n, const value_type& u);
60
- void assign(initializer_list<value_type> il);
61
-
62
- allocator_type get_allocator() const noexcept;
63
-
64
- iterator begin() noexcept;
65
- const_iterator begin() const noexcept;
66
- iterator end() noexcept;
67
- const_iterator end() const noexcept;
68
-
69
- reverse_iterator rbegin() noexcept;
70
- const_reverse_iterator rbegin() const noexcept;
71
- reverse_iterator rend() noexcept;
72
- const_reverse_iterator rend() const noexcept;
73
-
74
- const_iterator cbegin() const noexcept;
75
- const_iterator cend() const noexcept;
76
- const_reverse_iterator crbegin() const noexcept;
77
- const_reverse_iterator crend() const noexcept;
78
-
79
- size_type size() const noexcept;
80
- size_type max_size() const noexcept;
81
- size_type capacity() const noexcept;
82
- bool empty() const noexcept;
83
- void reserve(size_type n);
84
- void shrink_to_fit() noexcept;
85
-
86
- reference operator[](size_type n);
87
- const_reference operator[](size_type n) const;
88
- reference at(size_type n);
89
- const_reference at(size_type n) const;
90
-
91
- reference front();
92
- const_reference front() const;
93
- reference back();
94
- const_reference back() const;
95
-
96
- value_type* data() noexcept;
97
- const value_type* data() const noexcept;
98
-
99
- void push_back(const value_type& x);
100
- void push_back(value_type&& x);
101
- template <class... Args>
102
- void emplace_back(Args&&... args);
103
- void pop_back();
104
-
105
- template <class... Args> iterator emplace(const_iterator position, Args&&... args);
106
- iterator insert(const_iterator position, const value_type& x);
107
- iterator insert(const_iterator position, value_type&& x);
108
- iterator insert(const_iterator position, size_type n, const value_type& x);
109
- template <class InputIterator>
110
- iterator insert(const_iterator position, InputIterator first, InputIterator last);
111
- iterator insert(const_iterator position, initializer_list<value_type> il);
112
-
113
- iterator erase(const_iterator position);
114
- iterator erase(const_iterator first, const_iterator last);
115
-
116
- void clear() noexcept;
117
-
118
- void resize(size_type sz);
119
- void resize(size_type sz, const value_type& c);
120
-
121
- void swap(vector&)
122
- noexcept(!allocator_type::propagate_on_container_swap::value ||
123
- __is_nothrow_swappable<allocator_type>::value);
124
-
125
- bool __invariants() const;
126
- };
127
-
128
- template <class Allocator = allocator<T> >
129
- class vector<bool, Allocator>
130
- {
131
- public:
132
- typedef bool value_type;
133
- typedef Allocator allocator_type;
134
- typedef implementation-defined iterator;
135
- typedef implementation-defined const_iterator;
136
- typedef typename allocator_type::size_type size_type;
137
- typedef typename allocator_type::difference_type difference_type;
138
- typedef iterator pointer;
139
- typedef const_iterator const_pointer;
140
- typedef std::reverse_iterator<iterator> reverse_iterator;
141
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
142
-
143
- class reference
144
- {
145
- public:
146
- reference(const reference&) noexcept;
147
- operator bool() const noexcept;
148
- reference& operator=(const bool x) noexcept;
149
- reference& operator=(const reference& x) noexcept;
150
- iterator operator&() const noexcept;
151
- void flip() noexcept;
152
- };
153
-
154
- class const_reference
155
- {
156
- public:
157
- const_reference(const reference&) noexcept;
158
- operator bool() const noexcept;
159
- const_iterator operator&() const noexcept;
160
- };
161
-
162
- vector()
163
- noexcept(is_nothrow_default_constructible<allocator_type>::value);
164
- explicit vector(const allocator_type&);
165
- explicit vector(size_type n, const allocator_type& a = allocator_type()); // C++14
166
- vector(size_type n, const value_type& value, const allocator_type& = allocator_type());
167
- template <class InputIterator>
168
- vector(InputIterator first, InputIterator last, const allocator_type& = allocator_type());
169
- vector(const vector& x);
170
- vector(vector&& x)
171
- noexcept(is_nothrow_move_constructible<allocator_type>::value);
172
- vector(initializer_list<value_type> il);
173
- vector(initializer_list<value_type> il, const allocator_type& a);
174
- ~vector();
175
- vector& operator=(const vector& x);
176
- vector& operator=(vector&& x)
177
- noexcept(
178
- allocator_type::propagate_on_container_move_assignment::value &&
179
- is_nothrow_move_assignable<allocator_type>::value);
180
- vector& operator=(initializer_list<value_type> il);
181
- template <class InputIterator>
182
- void assign(InputIterator first, InputIterator last);
183
- void assign(size_type n, const value_type& u);
184
- void assign(initializer_list<value_type> il);
185
-
186
- allocator_type get_allocator() const noexcept;
187
-
188
- iterator begin() noexcept;
189
- const_iterator begin() const noexcept;
190
- iterator end() noexcept;
191
- const_iterator end() const noexcept;
192
-
193
- reverse_iterator rbegin() noexcept;
194
- const_reverse_iterator rbegin() const noexcept;
195
- reverse_iterator rend() noexcept;
196
- const_reverse_iterator rend() const noexcept;
197
-
198
- const_iterator cbegin() const noexcept;
199
- const_iterator cend() const noexcept;
200
- const_reverse_iterator crbegin() const noexcept;
201
- const_reverse_iterator crend() const noexcept;
202
-
203
- size_type size() const noexcept;
204
- size_type max_size() const noexcept;
205
- size_type capacity() const noexcept;
206
- bool empty() const noexcept;
207
- void reserve(size_type n);
208
- void shrink_to_fit() noexcept;
209
-
210
- reference operator[](size_type n);
211
- const_reference operator[](size_type n) const;
212
- reference at(size_type n);
213
- const_reference at(size_type n) const;
214
-
215
- reference front();
216
- const_reference front() const;
217
- reference back();
218
- const_reference back() const;
219
-
220
- void push_back(const value_type& x);
221
- template <class... Args> void emplace_back(Args&&... args); // C++14
222
- void pop_back();
223
-
224
- template <class... Args> iterator emplace(const_iterator position, Args&&... args); // C++14
225
- iterator insert(const_iterator position, const value_type& x);
226
- iterator insert(const_iterator position, size_type n, const value_type& x);
227
- template <class InputIterator>
228
- iterator insert(const_iterator position, InputIterator first, InputIterator last);
229
- iterator insert(const_iterator position, initializer_list<value_type> il);
230
-
231
- iterator erase(const_iterator position);
232
- iterator erase(const_iterator first, const_iterator last);
233
-
234
- void clear() noexcept;
235
-
236
- void resize(size_type sz);
237
- void resize(size_type sz, value_type x);
238
-
239
- void swap(vector&)
240
- noexcept(!allocator_type::propagate_on_container_swap::value ||
241
- __is_nothrow_swappable<allocator_type>::value);
242
- void flip() noexcept;
243
-
244
- bool __invariants() const;
245
- };
246
-
247
- template <class Allocator> struct hash<std::vector<bool, Allocator>>;
248
-
249
- template <class T, class Allocator> bool operator==(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
250
- template <class T, class Allocator> bool operator< (const vector<T,Allocator>& x, const vector<T,Allocator>& y);
251
- template <class T, class Allocator> bool operator!=(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
252
- template <class T, class Allocator> bool operator> (const vector<T,Allocator>& x, const vector<T,Allocator>& y);
253
- template <class T, class Allocator> bool operator>=(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
254
- template <class T, class Allocator> bool operator<=(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
255
-
256
- template <class T, class Allocator>
257
- void swap(vector<T,Allocator>& x, vector<T,Allocator>& y)
258
- noexcept(noexcept(x.swap(y)));
259
-
260
- } // std
261
-
262
- */
263
-
264
- #include <__config>
265
- #include <__bit_reference>
266
- #include <type_traits>
267
- #include <climits>
268
- #include <limits>
269
- #include <initializer_list>
270
- #include <memory>
271
- #include <stdexcept>
272
- #include <algorithm>
273
- #include <cstring>
274
- #include <__split_buffer>
275
- #include <__functional_base>
276
-
277
- #include <__undef_min_max>
278
-
279
- #ifdef _LIBCPP_DEBUG
280
- # include <__debug>
281
- #else
282
- # define _LIBCPP_ASSERT(x, m) ((void)0)
283
- #endif
284
-
285
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
286
- #pragma GCC system_header
287
- #endif
288
-
289
- _LIBCPP_BEGIN_NAMESPACE_STD
290
-
291
- template <bool>
292
- class __vector_base_common
293
- {
294
- protected:
295
- _LIBCPP_ALWAYS_INLINE __vector_base_common() {}
296
- void __throw_length_error() const;
297
- void __throw_out_of_range() const;
298
- };
299
-
300
- template <bool __b>
301
- void
302
- __vector_base_common<__b>::__throw_length_error() const
303
- {
304
- #ifndef _LIBCPP_NO_EXCEPTIONS
305
- throw length_error("vector");
306
- #else
307
- assert(!"vector length_error");
308
- #endif
309
- }
310
-
311
- template <bool __b>
312
- void
313
- __vector_base_common<__b>::__throw_out_of_range() const
314
- {
315
- #ifndef _LIBCPP_NO_EXCEPTIONS
316
- throw out_of_range("vector");
317
- #else
318
- assert(!"vector out_of_range");
319
- #endif
320
- }
321
-
322
- #ifdef _LIBCPP_MSVC
323
- #pragma warning( push )
324
- #pragma warning( disable: 4231 )
325
- #endif // _LIBCPP_MSVC
326
- _LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS __vector_base_common<true>)
327
- #ifdef _LIBCPP_MSVC
328
- #pragma warning( pop )
329
- #endif // _LIBCPP_MSVC
330
-
331
- template <class _Tp, class _Allocator>
332
- class __vector_base
333
- : protected __vector_base_common<true>
334
- {
335
- protected:
336
- typedef _Tp value_type;
337
- typedef _Allocator allocator_type;
338
- typedef allocator_traits<allocator_type> __alloc_traits;
339
- typedef value_type& reference;
340
- typedef const value_type& const_reference;
341
- typedef typename __alloc_traits::size_type size_type;
342
- typedef typename __alloc_traits::difference_type difference_type;
343
- typedef typename __alloc_traits::pointer pointer;
344
- typedef typename __alloc_traits::const_pointer const_pointer;
345
- typedef pointer iterator;
346
- typedef const_pointer const_iterator;
347
-
348
- pointer __begin_;
349
- pointer __end_;
350
- __compressed_pair<pointer, allocator_type> __end_cap_;
351
-
352
- _LIBCPP_INLINE_VISIBILITY
353
- allocator_type& __alloc() _NOEXCEPT
354
- {return __end_cap_.second();}
355
- _LIBCPP_INLINE_VISIBILITY
356
- const allocator_type& __alloc() const _NOEXCEPT
357
- {return __end_cap_.second();}
358
- _LIBCPP_INLINE_VISIBILITY
359
- pointer& __end_cap() _NOEXCEPT
360
- {return __end_cap_.first();}
361
- _LIBCPP_INLINE_VISIBILITY
362
- const pointer& __end_cap() const _NOEXCEPT
363
- {return __end_cap_.first();}
364
-
365
- _LIBCPP_INLINE_VISIBILITY
366
- __vector_base()
367
- _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
368
- _LIBCPP_INLINE_VISIBILITY __vector_base(const allocator_type& __a);
369
- ~__vector_base();
370
-
371
- _LIBCPP_INLINE_VISIBILITY
372
- void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
373
- _LIBCPP_INLINE_VISIBILITY
374
- size_type capacity() const _NOEXCEPT
375
- {return static_cast<size_type>(__end_cap() - __begin_);}
376
-
377
- _LIBCPP_INLINE_VISIBILITY
378
- void __destruct_at_end(pointer __new_last) _NOEXCEPT;
379
-
380
- _LIBCPP_INLINE_VISIBILITY
381
- void __copy_assign_alloc(const __vector_base& __c)
382
- {__copy_assign_alloc(__c, integral_constant<bool,
383
- __alloc_traits::propagate_on_container_copy_assignment::value>());}
384
-
385
- _LIBCPP_INLINE_VISIBILITY
386
- void __move_assign_alloc(__vector_base& __c)
387
- _NOEXCEPT_(
388
- !__alloc_traits::propagate_on_container_move_assignment::value ||
389
- is_nothrow_move_assignable<allocator_type>::value)
390
- {__move_assign_alloc(__c, integral_constant<bool,
391
- __alloc_traits::propagate_on_container_move_assignment::value>());}
392
-
393
- _LIBCPP_INLINE_VISIBILITY
394
- static void __swap_alloc(allocator_type& __x, allocator_type& __y)
395
- _NOEXCEPT_(
396
- !__alloc_traits::propagate_on_container_swap::value ||
397
- __is_nothrow_swappable<allocator_type>::value)
398
- {__swap_alloc(__x, __y, integral_constant<bool,
399
- __alloc_traits::propagate_on_container_swap::value>());}
400
- private:
401
- _LIBCPP_INLINE_VISIBILITY
402
- void __copy_assign_alloc(const __vector_base& __c, true_type)
403
- {
404
- if (__alloc() != __c.__alloc())
405
- {
406
- clear();
407
- __alloc_traits::deallocate(__alloc(), __begin_, capacity());
408
- __begin_ = __end_ = __end_cap() = nullptr;
409
- }
410
- __alloc() = __c.__alloc();
411
- }
412
-
413
- _LIBCPP_INLINE_VISIBILITY
414
- void __copy_assign_alloc(const __vector_base&, false_type)
415
- {}
416
-
417
- _LIBCPP_INLINE_VISIBILITY
418
- void __move_assign_alloc(__vector_base& __c, true_type)
419
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
420
- {
421
- __alloc() = _VSTD::move(__c.__alloc());
422
- }
423
-
424
- _LIBCPP_INLINE_VISIBILITY
425
- void __move_assign_alloc(__vector_base&, false_type)
426
- _NOEXCEPT
427
- {}
428
-
429
- _LIBCPP_INLINE_VISIBILITY
430
- static void __swap_alloc(allocator_type& __x, allocator_type& __y, true_type)
431
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
432
- {
433
- using _VSTD::swap;
434
- swap(__x, __y);
435
- }
436
- _LIBCPP_INLINE_VISIBILITY
437
- static void __swap_alloc(allocator_type&, allocator_type&, false_type)
438
- _NOEXCEPT
439
- {}
440
- };
441
-
442
- template <class _Tp, class _Allocator>
443
- inline _LIBCPP_INLINE_VISIBILITY
444
- void
445
- __vector_base<_Tp, _Allocator>::__destruct_at_end(pointer __new_last) _NOEXCEPT
446
- {
447
- while (__new_last != __end_)
448
- __alloc_traits::destroy(__alloc(), _VSTD::__to_raw_pointer(--__end_));
449
- }
450
-
451
- template <class _Tp, class _Allocator>
452
- inline _LIBCPP_INLINE_VISIBILITY
453
- __vector_base<_Tp, _Allocator>::__vector_base()
454
- _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
455
- : __begin_(nullptr),
456
- __end_(nullptr),
457
- __end_cap_(nullptr)
458
- {
459
- }
460
-
461
- template <class _Tp, class _Allocator>
462
- inline _LIBCPP_INLINE_VISIBILITY
463
- __vector_base<_Tp, _Allocator>::__vector_base(const allocator_type& __a)
464
- : __begin_(nullptr),
465
- __end_(nullptr),
466
- __end_cap_(nullptr, __a)
467
- {
468
- }
469
-
470
- template <class _Tp, class _Allocator>
471
- __vector_base<_Tp, _Allocator>::~__vector_base()
472
- {
473
- if (__begin_ != nullptr)
474
- {
475
- clear();
476
- __alloc_traits::deallocate(__alloc(), __begin_, capacity());
477
- }
478
- }
479
-
480
- template <class _Tp, class _Allocator = allocator<_Tp> >
481
- class _LIBCPP_TYPE_VIS_ONLY vector
482
- : private __vector_base<_Tp, _Allocator>
483
- {
484
- private:
485
- typedef __vector_base<_Tp, _Allocator> __base;
486
- public:
487
- typedef vector __self;
488
- typedef _Tp value_type;
489
- typedef _Allocator allocator_type;
490
- typedef typename __base::__alloc_traits __alloc_traits;
491
- typedef typename __base::reference reference;
492
- typedef typename __base::const_reference const_reference;
493
- typedef typename __base::size_type size_type;
494
- typedef typename __base::difference_type difference_type;
495
- typedef typename __base::pointer pointer;
496
- typedef typename __base::const_pointer const_pointer;
497
- typedef __wrap_iter<pointer> iterator;
498
- typedef __wrap_iter<const_pointer> const_iterator;
499
- typedef _VSTD::reverse_iterator<iterator> reverse_iterator;
500
- typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator;
501
-
502
- static_assert((is_same<typename allocator_type::value_type, value_type>::value),
503
- "Allocator::value_type must be same type as value_type");
504
-
505
- _LIBCPP_INLINE_VISIBILITY
506
- vector()
507
- _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
508
- {
509
- #if _LIBCPP_DEBUG_LEVEL >= 2
510
- __get_db()->__insert_c(this);
511
- #endif
512
- }
513
- _LIBCPP_INLINE_VISIBILITY explicit vector(const allocator_type& __a)
514
- : __base(__a)
515
- {
516
- #if _LIBCPP_DEBUG_LEVEL >= 2
517
- __get_db()->__insert_c(this);
518
- #endif
519
- }
520
- explicit vector(size_type __n);
521
- #if _LIBCPP_STD_VER > 11
522
- explicit vector(size_type __n, const allocator_type& __a);
523
- #endif
524
- vector(size_type __n, const_reference __x);
525
- vector(size_type __n, const_reference __x, const allocator_type& __a);
526
- template <class _InputIterator>
527
- vector(_InputIterator __first,
528
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
529
- !__is_forward_iterator<_InputIterator>::value &&
530
- is_constructible<
531
- value_type,
532
- typename iterator_traits<_InputIterator>::reference>::value,
533
- _InputIterator>::type __last);
534
- template <class _InputIterator>
535
- vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
536
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
537
- !__is_forward_iterator<_InputIterator>::value &&
538
- is_constructible<
539
- value_type,
540
- typename iterator_traits<_InputIterator>::reference>::value>::type* = 0);
541
- template <class _ForwardIterator>
542
- vector(_ForwardIterator __first,
543
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
544
- is_constructible<
545
- value_type,
546
- typename iterator_traits<_ForwardIterator>::reference>::value,
547
- _ForwardIterator>::type __last);
548
- template <class _ForwardIterator>
549
- vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
550
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
551
- is_constructible<
552
- value_type,
553
- typename iterator_traits<_ForwardIterator>::reference>::value>::type* = 0);
554
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
555
- _LIBCPP_INLINE_VISIBILITY
556
- vector(initializer_list<value_type> __il);
557
- _LIBCPP_INLINE_VISIBILITY
558
- vector(initializer_list<value_type> __il, const allocator_type& __a);
559
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
560
- #if _LIBCPP_DEBUG_LEVEL >= 2
561
- _LIBCPP_INLINE_VISIBILITY
562
- ~vector()
563
- {
564
- __get_db()->__erase_c(this);
565
- }
566
- #endif
567
-
568
- vector(const vector& __x);
569
- vector(const vector& __x, const allocator_type& __a);
570
- _LIBCPP_INLINE_VISIBILITY
571
- vector& operator=(const vector& __x);
572
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
573
- _LIBCPP_INLINE_VISIBILITY
574
- vector(vector&& __x)
575
- _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
576
- _LIBCPP_INLINE_VISIBILITY
577
- vector(vector&& __x, const allocator_type& __a);
578
- _LIBCPP_INLINE_VISIBILITY
579
- vector& operator=(vector&& __x)
580
- _NOEXCEPT_(
581
- __alloc_traits::propagate_on_container_move_assignment::value &&
582
- is_nothrow_move_assignable<allocator_type>::value);
583
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
584
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
585
- _LIBCPP_INLINE_VISIBILITY
586
- vector& operator=(initializer_list<value_type> __il)
587
- {assign(__il.begin(), __il.end()); return *this;}
588
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
589
-
590
- template <class _InputIterator>
591
- typename enable_if
592
- <
593
- __is_input_iterator <_InputIterator>::value &&
594
- !__is_forward_iterator<_InputIterator>::value &&
595
- is_constructible<
596
- value_type,
597
- typename iterator_traits<_InputIterator>::reference>::value,
598
- void
599
- >::type
600
- assign(_InputIterator __first, _InputIterator __last);
601
- template <class _ForwardIterator>
602
- typename enable_if
603
- <
604
- __is_forward_iterator<_ForwardIterator>::value &&
605
- is_constructible<
606
- value_type,
607
- typename iterator_traits<_ForwardIterator>::reference>::value,
608
- void
609
- >::type
610
- assign(_ForwardIterator __first, _ForwardIterator __last);
611
-
612
- void assign(size_type __n, const_reference __u);
613
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
614
- _LIBCPP_INLINE_VISIBILITY
615
- void assign(initializer_list<value_type> __il)
616
- {assign(__il.begin(), __il.end());}
617
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
618
-
619
- _LIBCPP_INLINE_VISIBILITY
620
- allocator_type get_allocator() const _NOEXCEPT
621
- {return this->__alloc();}
622
-
623
- _LIBCPP_INLINE_VISIBILITY iterator begin() _NOEXCEPT;
624
- _LIBCPP_INLINE_VISIBILITY const_iterator begin() const _NOEXCEPT;
625
- _LIBCPP_INLINE_VISIBILITY iterator end() _NOEXCEPT;
626
- _LIBCPP_INLINE_VISIBILITY const_iterator end() const _NOEXCEPT;
627
-
628
- _LIBCPP_INLINE_VISIBILITY
629
- reverse_iterator rbegin() _NOEXCEPT
630
- {return reverse_iterator(end());}
631
- _LIBCPP_INLINE_VISIBILITY
632
- const_reverse_iterator rbegin() const _NOEXCEPT
633
- {return const_reverse_iterator(end());}
634
- _LIBCPP_INLINE_VISIBILITY
635
- reverse_iterator rend() _NOEXCEPT
636
- {return reverse_iterator(begin());}
637
- _LIBCPP_INLINE_VISIBILITY
638
- const_reverse_iterator rend() const _NOEXCEPT
639
- {return const_reverse_iterator(begin());}
640
-
641
- _LIBCPP_INLINE_VISIBILITY
642
- const_iterator cbegin() const _NOEXCEPT
643
- {return begin();}
644
- _LIBCPP_INLINE_VISIBILITY
645
- const_iterator cend() const _NOEXCEPT
646
- {return end();}
647
- _LIBCPP_INLINE_VISIBILITY
648
- const_reverse_iterator crbegin() const _NOEXCEPT
649
- {return rbegin();}
650
- _LIBCPP_INLINE_VISIBILITY
651
- const_reverse_iterator crend() const _NOEXCEPT
652
- {return rend();}
653
-
654
- _LIBCPP_INLINE_VISIBILITY
655
- size_type size() const _NOEXCEPT
656
- {return static_cast<size_type>(this->__end_ - this->__begin_);}
657
- _LIBCPP_INLINE_VISIBILITY
658
- size_type capacity() const _NOEXCEPT
659
- {return __base::capacity();}
660
- _LIBCPP_INLINE_VISIBILITY
661
- bool empty() const _NOEXCEPT
662
- {return this->__begin_ == this->__end_;}
663
- size_type max_size() const _NOEXCEPT;
664
- void reserve(size_type __n);
665
- void shrink_to_fit() _NOEXCEPT;
666
-
667
- _LIBCPP_INLINE_VISIBILITY reference operator[](size_type __n);
668
- _LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __n) const;
669
- reference at(size_type __n);
670
- const_reference at(size_type __n) const;
671
-
672
- _LIBCPP_INLINE_VISIBILITY reference front()
673
- {
674
- _LIBCPP_ASSERT(!empty(), "front() called for empty vector");
675
- return *this->__begin_;
676
- }
677
- _LIBCPP_INLINE_VISIBILITY const_reference front() const
678
- {
679
- _LIBCPP_ASSERT(!empty(), "front() called for empty vector");
680
- return *this->__begin_;
681
- }
682
- _LIBCPP_INLINE_VISIBILITY reference back()
683
- {
684
- _LIBCPP_ASSERT(!empty(), "back() called for empty vector");
685
- return *(this->__end_ - 1);
686
- }
687
- _LIBCPP_INLINE_VISIBILITY const_reference back() const
688
- {
689
- _LIBCPP_ASSERT(!empty(), "back() called for empty vector");
690
- return *(this->__end_ - 1);
691
- }
692
-
693
- _LIBCPP_INLINE_VISIBILITY
694
- value_type* data() _NOEXCEPT
695
- {return _VSTD::__to_raw_pointer(this->__begin_);}
696
- _LIBCPP_INLINE_VISIBILITY
697
- const value_type* data() const _NOEXCEPT
698
- {return _VSTD::__to_raw_pointer(this->__begin_);}
699
-
700
- _LIBCPP_INLINE_VISIBILITY void push_back(const_reference __x);
701
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
702
- _LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x);
703
- #ifndef _LIBCPP_HAS_NO_VARIADICS
704
- template <class... _Args>
705
- void emplace_back(_Args&&... __args);
706
- #endif // _LIBCPP_HAS_NO_VARIADICS
707
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
708
- void pop_back();
709
-
710
- iterator insert(const_iterator __position, const_reference __x);
711
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
712
- iterator insert(const_iterator __position, value_type&& __x);
713
- #ifndef _LIBCPP_HAS_NO_VARIADICS
714
- template <class... _Args>
715
- iterator emplace(const_iterator __position, _Args&&... __args);
716
- #endif // _LIBCPP_HAS_NO_VARIADICS
717
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
718
- iterator insert(const_iterator __position, size_type __n, const_reference __x);
719
- template <class _InputIterator>
720
- typename enable_if
721
- <
722
- __is_input_iterator <_InputIterator>::value &&
723
- !__is_forward_iterator<_InputIterator>::value &&
724
- is_constructible<
725
- value_type,
726
- typename iterator_traits<_InputIterator>::reference>::value,
727
- iterator
728
- >::type
729
- insert(const_iterator __position, _InputIterator __first, _InputIterator __last);
730
- template <class _ForwardIterator>
731
- typename enable_if
732
- <
733
- __is_forward_iterator<_ForwardIterator>::value &&
734
- is_constructible<
735
- value_type,
736
- typename iterator_traits<_ForwardIterator>::reference>::value,
737
- iterator
738
- >::type
739
- insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last);
740
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
741
- _LIBCPP_INLINE_VISIBILITY
742
- iterator insert(const_iterator __position, initializer_list<value_type> __il)
743
- {return insert(__position, __il.begin(), __il.end());}
744
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
745
-
746
- _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __position);
747
- iterator erase(const_iterator __first, const_iterator __last);
748
-
749
- _LIBCPP_INLINE_VISIBILITY
750
- void clear() _NOEXCEPT
751
- {
752
- __base::clear();
753
- __invalidate_all_iterators();
754
- }
755
-
756
- void resize(size_type __sz);
757
- void resize(size_type __sz, const_reference __x);
758
-
759
- void swap(vector&)
760
- _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
761
- __is_nothrow_swappable<allocator_type>::value);
762
-
763
- bool __invariants() const;
764
-
765
- #if _LIBCPP_DEBUG_LEVEL >= 2
766
-
767
- bool __dereferenceable(const const_iterator* __i) const;
768
- bool __decrementable(const const_iterator* __i) const;
769
- bool __addable(const const_iterator* __i, ptrdiff_t __n) const;
770
- bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const;
771
-
772
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
773
-
774
- private:
775
- _LIBCPP_INLINE_VISIBILITY void __invalidate_all_iterators();
776
- void allocate(size_type __n);
777
- void deallocate() _NOEXCEPT;
778
- _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const;
779
- void __construct_at_end(size_type __n);
780
- void __construct_at_end(size_type __n, const_reference __x);
781
- template <class _ForwardIterator>
782
- typename enable_if
783
- <
784
- __is_forward_iterator<_ForwardIterator>::value,
785
- void
786
- >::type
787
- __construct_at_end(_ForwardIterator __first, _ForwardIterator __last);
788
- void __move_construct_at_end(pointer __first, pointer __last);
789
- void __append(size_type __n);
790
- void __append(size_type __n, const_reference __x);
791
- _LIBCPP_INLINE_VISIBILITY
792
- iterator __make_iter(pointer __p) _NOEXCEPT;
793
- _LIBCPP_INLINE_VISIBILITY
794
- const_iterator __make_iter(const_pointer __p) const _NOEXCEPT;
795
- void __swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v);
796
- pointer __swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v, pointer __p);
797
- void __move_range(pointer __from_s, pointer __from_e, pointer __to);
798
- void __move_assign(vector& __c, true_type)
799
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
800
- void __move_assign(vector& __c, false_type);
801
- _LIBCPP_INLINE_VISIBILITY
802
- void __destruct_at_end(pointer __new_last) _NOEXCEPT
803
- {
804
- #if _LIBCPP_DEBUG_LEVEL >= 2
805
- __c_node* __c = __get_db()->__find_c_and_lock(this);
806
- for (__i_node** __p = __c->end_; __p != __c->beg_; )
807
- {
808
- --__p;
809
- const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
810
- if (__i->base() > __new_last)
811
- {
812
- (*__p)->__c_ = nullptr;
813
- if (--__c->end_ != __p)
814
- memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
815
- }
816
- }
817
- __get_db()->unlock();
818
- #endif
819
- __base::__destruct_at_end(__new_last);
820
- }
821
- template <class _Up>
822
- void
823
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
824
- __push_back_slow_path(_Up&& __x);
825
- #else
826
- __push_back_slow_path(_Up& __x);
827
- #endif
828
- #if !defined(_LIBCPP_HAS_NO_VARIADICS) && !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES)
829
- template <class... _Args>
830
- void
831
- __emplace_back_slow_path(_Args&&... __args);
832
- #endif
833
- };
834
-
835
- template <class _Tp, class _Allocator>
836
- void
837
- vector<_Tp, _Allocator>::__swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v)
838
- {
839
- __alloc_traits::__construct_backward(this->__alloc(), this->__begin_, this->__end_, __v.__begin_);
840
- _VSTD::swap(this->__begin_, __v.__begin_);
841
- _VSTD::swap(this->__end_, __v.__end_);
842
- _VSTD::swap(this->__end_cap(), __v.__end_cap());
843
- __v.__first_ = __v.__begin_;
844
- __invalidate_all_iterators();
845
- }
846
-
847
- template <class _Tp, class _Allocator>
848
- typename vector<_Tp, _Allocator>::pointer
849
- vector<_Tp, _Allocator>::__swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v, pointer __p)
850
- {
851
- pointer __r = __v.__begin_;
852
- __alloc_traits::__construct_backward(this->__alloc(), this->__begin_, __p, __v.__begin_);
853
- __alloc_traits::__construct_forward(this->__alloc(), __p, this->__end_, __v.__end_);
854
- _VSTD::swap(this->__begin_, __v.__begin_);
855
- _VSTD::swap(this->__end_, __v.__end_);
856
- _VSTD::swap(this->__end_cap(), __v.__end_cap());
857
- __v.__first_ = __v.__begin_;
858
- __invalidate_all_iterators();
859
- return __r;
860
- }
861
-
862
- // Allocate space for __n objects
863
- // throws length_error if __n > max_size()
864
- // throws (probably bad_alloc) if memory run out
865
- // Precondition: __begin_ == __end_ == __end_cap() == 0
866
- // Precondition: __n > 0
867
- // Postcondition: capacity() == __n
868
- // Postcondition: size() == 0
869
- template <class _Tp, class _Allocator>
870
- void
871
- vector<_Tp, _Allocator>::allocate(size_type __n)
872
- {
873
- if (__n > max_size())
874
- this->__throw_length_error();
875
- this->__begin_ = this->__end_ = __alloc_traits::allocate(this->__alloc(), __n);
876
- this->__end_cap() = this->__begin_ + __n;
877
- }
878
-
879
- template <class _Tp, class _Allocator>
880
- void
881
- vector<_Tp, _Allocator>::deallocate() _NOEXCEPT
882
- {
883
- if (this->__begin_ != nullptr)
884
- {
885
- clear();
886
- __alloc_traits::deallocate(this->__alloc(), this->__begin_, capacity());
887
- this->__begin_ = this->__end_ = this->__end_cap() = nullptr;
888
- }
889
- }
890
-
891
- template <class _Tp, class _Allocator>
892
- typename vector<_Tp, _Allocator>::size_type
893
- vector<_Tp, _Allocator>::max_size() const _NOEXCEPT
894
- {
895
- return _VSTD::min<size_type>(__alloc_traits::max_size(this->__alloc()), numeric_limits<size_type>::max() / 2); // end() >= begin(), always
896
- }
897
-
898
- // Precondition: __new_size > capacity()
899
- template <class _Tp, class _Allocator>
900
- inline _LIBCPP_INLINE_VISIBILITY
901
- typename vector<_Tp, _Allocator>::size_type
902
- vector<_Tp, _Allocator>::__recommend(size_type __new_size) const
903
- {
904
- const size_type __ms = max_size();
905
- if (__new_size > __ms)
906
- this->__throw_length_error();
907
- const size_type __cap = capacity();
908
- if (__cap >= __ms / 2)
909
- return __ms;
910
- return _VSTD::max<size_type>(2*__cap, __new_size);
911
- }
912
-
913
- // Default constructs __n objects starting at __end_
914
- // throws if construction throws
915
- // Precondition: __n > 0
916
- // Precondition: size() + __n <= capacity()
917
- // Postcondition: size() == size() + __n
918
- template <class _Tp, class _Allocator>
919
- void
920
- vector<_Tp, _Allocator>::__construct_at_end(size_type __n)
921
- {
922
- allocator_type& __a = this->__alloc();
923
- do
924
- {
925
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_));
926
- ++this->__end_;
927
- --__n;
928
- } while (__n > 0);
929
- }
930
-
931
- // Copy constructs __n objects starting at __end_ from __x
932
- // throws if construction throws
933
- // Precondition: __n > 0
934
- // Precondition: size() + __n <= capacity()
935
- // Postcondition: size() == old size() + __n
936
- // Postcondition: [i] == __x for all i in [size() - __n, __n)
937
- template <class _Tp, class _Allocator>
938
- inline _LIBCPP_INLINE_VISIBILITY
939
- void
940
- vector<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
941
- {
942
- allocator_type& __a = this->__alloc();
943
- do
944
- {
945
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_), __x);
946
- ++this->__end_;
947
- --__n;
948
- } while (__n > 0);
949
- }
950
-
951
- template <class _Tp, class _Allocator>
952
- template <class _ForwardIterator>
953
- typename enable_if
954
- <
955
- __is_forward_iterator<_ForwardIterator>::value,
956
- void
957
- >::type
958
- vector<_Tp, _Allocator>::__construct_at_end(_ForwardIterator __first, _ForwardIterator __last)
959
- {
960
- allocator_type& __a = this->__alloc();
961
- for (; __first != __last; ++__first)
962
- {
963
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_), *__first);
964
- ++this->__end_;
965
- }
966
- }
967
-
968
- template <class _Tp, class _Allocator>
969
- void
970
- vector<_Tp, _Allocator>::__move_construct_at_end(pointer __first, pointer __last)
971
- {
972
- allocator_type& __a = this->__alloc();
973
- for (; __first != __last; ++__first)
974
- {
975
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_),
976
- _VSTD::move(*__first));
977
- ++this->__end_;
978
- }
979
- }
980
-
981
- // Default constructs __n objects starting at __end_
982
- // throws if construction throws
983
- // Postcondition: size() == size() + __n
984
- // Exception safety: strong.
985
- template <class _Tp, class _Allocator>
986
- void
987
- vector<_Tp, _Allocator>::__append(size_type __n)
988
- {
989
- if (static_cast<size_type>(this->__end_cap() - this->__end_) >= __n)
990
- this->__construct_at_end(__n);
991
- else
992
- {
993
- allocator_type& __a = this->__alloc();
994
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), size(), __a);
995
- __v.__construct_at_end(__n);
996
- __swap_out_circular_buffer(__v);
997
- }
998
- }
999
-
1000
- // Default constructs __n objects starting at __end_
1001
- // throws if construction throws
1002
- // Postcondition: size() == size() + __n
1003
- // Exception safety: strong.
1004
- template <class _Tp, class _Allocator>
1005
- void
1006
- vector<_Tp, _Allocator>::__append(size_type __n, const_reference __x)
1007
- {
1008
- if (static_cast<size_type>(this->__end_cap() - this->__end_) >= __n)
1009
- this->__construct_at_end(__n, __x);
1010
- else
1011
- {
1012
- allocator_type& __a = this->__alloc();
1013
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), size(), __a);
1014
- __v.__construct_at_end(__n, __x);
1015
- __swap_out_circular_buffer(__v);
1016
- }
1017
- }
1018
-
1019
- template <class _Tp, class _Allocator>
1020
- vector<_Tp, _Allocator>::vector(size_type __n)
1021
- {
1022
- #if _LIBCPP_DEBUG_LEVEL >= 2
1023
- __get_db()->__insert_c(this);
1024
- #endif
1025
- if (__n > 0)
1026
- {
1027
- allocate(__n);
1028
- __construct_at_end(__n);
1029
- }
1030
- }
1031
-
1032
- #if _LIBCPP_STD_VER > 11
1033
- template <class _Tp, class _Allocator>
1034
- vector<_Tp, _Allocator>::vector(size_type __n, const allocator_type& __a)
1035
- : __base(__a)
1036
- {
1037
- #if _LIBCPP_DEBUG_LEVEL >= 2
1038
- __get_db()->__insert_c(this);
1039
- #endif
1040
- if (__n > 0)
1041
- {
1042
- allocate(__n);
1043
- __construct_at_end(__n);
1044
- }
1045
- }
1046
- #endif
1047
-
1048
- template <class _Tp, class _Allocator>
1049
- vector<_Tp, _Allocator>::vector(size_type __n, const_reference __x)
1050
- {
1051
- #if _LIBCPP_DEBUG_LEVEL >= 2
1052
- __get_db()->__insert_c(this);
1053
- #endif
1054
- if (__n > 0)
1055
- {
1056
- allocate(__n);
1057
- __construct_at_end(__n, __x);
1058
- }
1059
- }
1060
-
1061
- template <class _Tp, class _Allocator>
1062
- vector<_Tp, _Allocator>::vector(size_type __n, const_reference __x, const allocator_type& __a)
1063
- : __base(__a)
1064
- {
1065
- #if _LIBCPP_DEBUG_LEVEL >= 2
1066
- __get_db()->__insert_c(this);
1067
- #endif
1068
- if (__n > 0)
1069
- {
1070
- allocate(__n);
1071
- __construct_at_end(__n, __x);
1072
- }
1073
- }
1074
-
1075
- template <class _Tp, class _Allocator>
1076
- template <class _InputIterator>
1077
- vector<_Tp, _Allocator>::vector(_InputIterator __first,
1078
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
1079
- !__is_forward_iterator<_InputIterator>::value &&
1080
- is_constructible<
1081
- value_type,
1082
- typename iterator_traits<_InputIterator>::reference>::value,
1083
- _InputIterator>::type __last)
1084
- {
1085
- #if _LIBCPP_DEBUG_LEVEL >= 2
1086
- __get_db()->__insert_c(this);
1087
- #endif
1088
- for (; __first != __last; ++__first)
1089
- push_back(*__first);
1090
- }
1091
-
1092
- template <class _Tp, class _Allocator>
1093
- template <class _InputIterator>
1094
- vector<_Tp, _Allocator>::vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
1095
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
1096
- !__is_forward_iterator<_InputIterator>::value &&
1097
- is_constructible<
1098
- value_type,
1099
- typename iterator_traits<_InputIterator>::reference>::value>::type*)
1100
- : __base(__a)
1101
- {
1102
- #if _LIBCPP_DEBUG_LEVEL >= 2
1103
- __get_db()->__insert_c(this);
1104
- #endif
1105
- for (; __first != __last; ++__first)
1106
- push_back(*__first);
1107
- }
1108
-
1109
- template <class _Tp, class _Allocator>
1110
- template <class _ForwardIterator>
1111
- vector<_Tp, _Allocator>::vector(_ForwardIterator __first,
1112
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
1113
- is_constructible<
1114
- value_type,
1115
- typename iterator_traits<_ForwardIterator>::reference>::value,
1116
- _ForwardIterator>::type __last)
1117
- {
1118
- #if _LIBCPP_DEBUG_LEVEL >= 2
1119
- __get_db()->__insert_c(this);
1120
- #endif
1121
- size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
1122
- if (__n > 0)
1123
- {
1124
- allocate(__n);
1125
- __construct_at_end(__first, __last);
1126
- }
1127
- }
1128
-
1129
- template <class _Tp, class _Allocator>
1130
- template <class _ForwardIterator>
1131
- vector<_Tp, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
1132
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
1133
- is_constructible<
1134
- value_type,
1135
- typename iterator_traits<_ForwardIterator>::reference>::value>::type*)
1136
- : __base(__a)
1137
- {
1138
- #if _LIBCPP_DEBUG_LEVEL >= 2
1139
- __get_db()->__insert_c(this);
1140
- #endif
1141
- size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
1142
- if (__n > 0)
1143
- {
1144
- allocate(__n);
1145
- __construct_at_end(__first, __last);
1146
- }
1147
- }
1148
-
1149
- template <class _Tp, class _Allocator>
1150
- vector<_Tp, _Allocator>::vector(const vector& __x)
1151
- : __base(__alloc_traits::select_on_container_copy_construction(__x.__alloc()))
1152
- {
1153
- #if _LIBCPP_DEBUG_LEVEL >= 2
1154
- __get_db()->__insert_c(this);
1155
- #endif
1156
- size_type __n = __x.size();
1157
- if (__n > 0)
1158
- {
1159
- allocate(__n);
1160
- __construct_at_end(__x.__begin_, __x.__end_);
1161
- }
1162
- }
1163
-
1164
- template <class _Tp, class _Allocator>
1165
- vector<_Tp, _Allocator>::vector(const vector& __x, const allocator_type& __a)
1166
- : __base(__a)
1167
- {
1168
- #if _LIBCPP_DEBUG_LEVEL >= 2
1169
- __get_db()->__insert_c(this);
1170
- #endif
1171
- size_type __n = __x.size();
1172
- if (__n > 0)
1173
- {
1174
- allocate(__n);
1175
- __construct_at_end(__x.__begin_, __x.__end_);
1176
- }
1177
- }
1178
-
1179
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1180
-
1181
- template <class _Tp, class _Allocator>
1182
- inline _LIBCPP_INLINE_VISIBILITY
1183
- vector<_Tp, _Allocator>::vector(vector&& __x)
1184
- _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
1185
- : __base(_VSTD::move(__x.__alloc()))
1186
- {
1187
- #if _LIBCPP_DEBUG_LEVEL >= 2
1188
- __get_db()->__insert_c(this);
1189
- __get_db()->swap(this, &__x);
1190
- #endif
1191
- this->__begin_ = __x.__begin_;
1192
- this->__end_ = __x.__end_;
1193
- this->__end_cap() = __x.__end_cap();
1194
- __x.__begin_ = __x.__end_ = __x.__end_cap() = nullptr;
1195
- }
1196
-
1197
- template <class _Tp, class _Allocator>
1198
- inline _LIBCPP_INLINE_VISIBILITY
1199
- vector<_Tp, _Allocator>::vector(vector&& __x, const allocator_type& __a)
1200
- : __base(__a)
1201
- {
1202
- #if _LIBCPP_DEBUG_LEVEL >= 2
1203
- __get_db()->__insert_c(this);
1204
- #endif
1205
- if (__a == __x.__alloc())
1206
- {
1207
- this->__begin_ = __x.__begin_;
1208
- this->__end_ = __x.__end_;
1209
- this->__end_cap() = __x.__end_cap();
1210
- __x.__begin_ = __x.__end_ = __x.__end_cap() = nullptr;
1211
- #if _LIBCPP_DEBUG_LEVEL >= 2
1212
- __get_db()->swap(this, &__x);
1213
- #endif
1214
- }
1215
- else
1216
- {
1217
- typedef move_iterator<iterator> _Ip;
1218
- assign(_Ip(__x.begin()), _Ip(__x.end()));
1219
- }
1220
- }
1221
-
1222
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1223
-
1224
- template <class _Tp, class _Allocator>
1225
- inline _LIBCPP_INLINE_VISIBILITY
1226
- vector<_Tp, _Allocator>::vector(initializer_list<value_type> __il)
1227
- {
1228
- #if _LIBCPP_DEBUG_LEVEL >= 2
1229
- __get_db()->__insert_c(this);
1230
- #endif
1231
- if (__il.size() > 0)
1232
- {
1233
- allocate(__il.size());
1234
- __construct_at_end(__il.begin(), __il.end());
1235
- }
1236
- }
1237
-
1238
- template <class _Tp, class _Allocator>
1239
- inline _LIBCPP_INLINE_VISIBILITY
1240
- vector<_Tp, _Allocator>::vector(initializer_list<value_type> __il, const allocator_type& __a)
1241
- : __base(__a)
1242
- {
1243
- #if _LIBCPP_DEBUG_LEVEL >= 2
1244
- __get_db()->__insert_c(this);
1245
- #endif
1246
- if (__il.size() > 0)
1247
- {
1248
- allocate(__il.size());
1249
- __construct_at_end(__il.begin(), __il.end());
1250
- }
1251
- }
1252
-
1253
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
1254
-
1255
- template <class _Tp, class _Allocator>
1256
- inline _LIBCPP_INLINE_VISIBILITY
1257
- vector<_Tp, _Allocator>&
1258
- vector<_Tp, _Allocator>::operator=(vector&& __x)
1259
- _NOEXCEPT_(
1260
- __alloc_traits::propagate_on_container_move_assignment::value &&
1261
- is_nothrow_move_assignable<allocator_type>::value)
1262
- {
1263
- __move_assign(__x, integral_constant<bool,
1264
- __alloc_traits::propagate_on_container_move_assignment::value>());
1265
- return *this;
1266
- }
1267
-
1268
- template <class _Tp, class _Allocator>
1269
- void
1270
- vector<_Tp, _Allocator>::__move_assign(vector& __c, false_type)
1271
- {
1272
- if (__base::__alloc() != __c.__alloc())
1273
- {
1274
- typedef move_iterator<iterator> _Ip;
1275
- assign(_Ip(__c.begin()), _Ip(__c.end()));
1276
- }
1277
- else
1278
- __move_assign(__c, true_type());
1279
- }
1280
-
1281
- template <class _Tp, class _Allocator>
1282
- void
1283
- vector<_Tp, _Allocator>::__move_assign(vector& __c, true_type)
1284
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
1285
- {
1286
- deallocate();
1287
- this->__begin_ = __c.__begin_;
1288
- this->__end_ = __c.__end_;
1289
- this->__end_cap() = __c.__end_cap();
1290
- __base::__move_assign_alloc(__c);
1291
- __c.__begin_ = __c.__end_ = __c.__end_cap() = nullptr;
1292
- #if _LIBCPP_DEBUG_LEVEL >= 2
1293
- __get_db()->swap(this, &__c);
1294
- #endif
1295
- }
1296
-
1297
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1298
-
1299
- template <class _Tp, class _Allocator>
1300
- inline _LIBCPP_INLINE_VISIBILITY
1301
- vector<_Tp, _Allocator>&
1302
- vector<_Tp, _Allocator>::operator=(const vector& __x)
1303
- {
1304
- if (this != &__x)
1305
- {
1306
- __base::__copy_assign_alloc(__x);
1307
- assign(__x.__begin_, __x.__end_);
1308
- }
1309
- return *this;
1310
- }
1311
-
1312
- template <class _Tp, class _Allocator>
1313
- template <class _InputIterator>
1314
- typename enable_if
1315
- <
1316
- __is_input_iterator <_InputIterator>::value &&
1317
- !__is_forward_iterator<_InputIterator>::value &&
1318
- is_constructible<
1319
- _Tp,
1320
- typename iterator_traits<_InputIterator>::reference>::value,
1321
- void
1322
- >::type
1323
- vector<_Tp, _Allocator>::assign(_InputIterator __first, _InputIterator __last)
1324
- {
1325
- clear();
1326
- for (; __first != __last; ++__first)
1327
- push_back(*__first);
1328
- }
1329
-
1330
- template <class _Tp, class _Allocator>
1331
- template <class _ForwardIterator>
1332
- typename enable_if
1333
- <
1334
- __is_forward_iterator<_ForwardIterator>::value &&
1335
- is_constructible<
1336
- _Tp,
1337
- typename iterator_traits<_ForwardIterator>::reference>::value,
1338
- void
1339
- >::type
1340
- vector<_Tp, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last)
1341
- {
1342
- typename iterator_traits<_ForwardIterator>::difference_type __new_size = _VSTD::distance(__first, __last);
1343
- if (static_cast<size_type>(__new_size) <= capacity())
1344
- {
1345
- _ForwardIterator __mid = __last;
1346
- bool __growing = false;
1347
- if (static_cast<size_type>(__new_size) > size())
1348
- {
1349
- __growing = true;
1350
- __mid = __first;
1351
- _VSTD::advance(__mid, size());
1352
- }
1353
- pointer __m = _VSTD::copy(__first, __mid, this->__begin_);
1354
- if (__growing)
1355
- __construct_at_end(__mid, __last);
1356
- else
1357
- this->__destruct_at_end(__m);
1358
- }
1359
- else
1360
- {
1361
- deallocate();
1362
- allocate(__recommend(static_cast<size_type>(__new_size)));
1363
- __construct_at_end(__first, __last);
1364
- }
1365
- }
1366
-
1367
- template <class _Tp, class _Allocator>
1368
- void
1369
- vector<_Tp, _Allocator>::assign(size_type __n, const_reference __u)
1370
- {
1371
- if (__n <= capacity())
1372
- {
1373
- size_type __s = size();
1374
- _VSTD::fill_n(this->__begin_, _VSTD::min(__n, __s), __u);
1375
- if (__n > __s)
1376
- __construct_at_end(__n - __s, __u);
1377
- else
1378
- this->__destruct_at_end(this->__begin_ + __n);
1379
- }
1380
- else
1381
- {
1382
- deallocate();
1383
- allocate(__recommend(static_cast<size_type>(__n)));
1384
- __construct_at_end(__n, __u);
1385
- }
1386
- }
1387
-
1388
- template <class _Tp, class _Allocator>
1389
- inline _LIBCPP_INLINE_VISIBILITY
1390
- typename vector<_Tp, _Allocator>::iterator
1391
- vector<_Tp, _Allocator>::__make_iter(pointer __p) _NOEXCEPT
1392
- {
1393
- #if _LIBCPP_DEBUG_LEVEL >= 2
1394
- return iterator(this, __p);
1395
- #else
1396
- return iterator(__p);
1397
- #endif
1398
- }
1399
-
1400
- template <class _Tp, class _Allocator>
1401
- inline _LIBCPP_INLINE_VISIBILITY
1402
- typename vector<_Tp, _Allocator>::const_iterator
1403
- vector<_Tp, _Allocator>::__make_iter(const_pointer __p) const _NOEXCEPT
1404
- {
1405
- #if _LIBCPP_DEBUG_LEVEL >= 2
1406
- return const_iterator(this, __p);
1407
- #else
1408
- return const_iterator(__p);
1409
- #endif
1410
- }
1411
-
1412
- template <class _Tp, class _Allocator>
1413
- inline _LIBCPP_INLINE_VISIBILITY
1414
- typename vector<_Tp, _Allocator>::iterator
1415
- vector<_Tp, _Allocator>::begin() _NOEXCEPT
1416
- {
1417
- return __make_iter(this->__begin_);
1418
- }
1419
-
1420
- template <class _Tp, class _Allocator>
1421
- inline _LIBCPP_INLINE_VISIBILITY
1422
- typename vector<_Tp, _Allocator>::const_iterator
1423
- vector<_Tp, _Allocator>::begin() const _NOEXCEPT
1424
- {
1425
- return __make_iter(this->__begin_);
1426
- }
1427
-
1428
- template <class _Tp, class _Allocator>
1429
- inline _LIBCPP_INLINE_VISIBILITY
1430
- typename vector<_Tp, _Allocator>::iterator
1431
- vector<_Tp, _Allocator>::end() _NOEXCEPT
1432
- {
1433
- return __make_iter(this->__end_);
1434
- }
1435
-
1436
- template <class _Tp, class _Allocator>
1437
- inline _LIBCPP_INLINE_VISIBILITY
1438
- typename vector<_Tp, _Allocator>::const_iterator
1439
- vector<_Tp, _Allocator>::end() const _NOEXCEPT
1440
- {
1441
- return __make_iter(this->__end_);
1442
- }
1443
-
1444
- template <class _Tp, class _Allocator>
1445
- inline _LIBCPP_INLINE_VISIBILITY
1446
- typename vector<_Tp, _Allocator>::reference
1447
- vector<_Tp, _Allocator>::operator[](size_type __n)
1448
- {
1449
- _LIBCPP_ASSERT(__n < size(), "vector[] index out of bounds");
1450
- return this->__begin_[__n];
1451
- }
1452
-
1453
- template <class _Tp, class _Allocator>
1454
- inline _LIBCPP_INLINE_VISIBILITY
1455
- typename vector<_Tp, _Allocator>::const_reference
1456
- vector<_Tp, _Allocator>::operator[](size_type __n) const
1457
- {
1458
- _LIBCPP_ASSERT(__n < size(), "vector[] index out of bounds");
1459
- return this->__begin_[__n];
1460
- }
1461
-
1462
- template <class _Tp, class _Allocator>
1463
- typename vector<_Tp, _Allocator>::reference
1464
- vector<_Tp, _Allocator>::at(size_type __n)
1465
- {
1466
- if (__n >= size())
1467
- this->__throw_out_of_range();
1468
- return this->__begin_[__n];
1469
- }
1470
-
1471
- template <class _Tp, class _Allocator>
1472
- typename vector<_Tp, _Allocator>::const_reference
1473
- vector<_Tp, _Allocator>::at(size_type __n) const
1474
- {
1475
- if (__n >= size())
1476
- this->__throw_out_of_range();
1477
- return this->__begin_[__n];
1478
- }
1479
-
1480
- template <class _Tp, class _Allocator>
1481
- void
1482
- vector<_Tp, _Allocator>::reserve(size_type __n)
1483
- {
1484
- if (__n > capacity())
1485
- {
1486
- allocator_type& __a = this->__alloc();
1487
- __split_buffer<value_type, allocator_type&> __v(__n, size(), __a);
1488
- __swap_out_circular_buffer(__v);
1489
- }
1490
- }
1491
-
1492
- template <class _Tp, class _Allocator>
1493
- void
1494
- vector<_Tp, _Allocator>::shrink_to_fit() _NOEXCEPT
1495
- {
1496
- if (capacity() > size())
1497
- {
1498
- #ifndef _LIBCPP_NO_EXCEPTIONS
1499
- try
1500
- {
1501
- #endif // _LIBCPP_NO_EXCEPTIONS
1502
- allocator_type& __a = this->__alloc();
1503
- __split_buffer<value_type, allocator_type&> __v(size(), size(), __a);
1504
- __swap_out_circular_buffer(__v);
1505
- #ifndef _LIBCPP_NO_EXCEPTIONS
1506
- }
1507
- catch (...)
1508
- {
1509
- }
1510
- #endif // _LIBCPP_NO_EXCEPTIONS
1511
- }
1512
- }
1513
-
1514
- template <class _Tp, class _Allocator>
1515
- template <class _Up>
1516
- void
1517
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1518
- vector<_Tp, _Allocator>::__push_back_slow_path(_Up&& __x)
1519
- #else
1520
- vector<_Tp, _Allocator>::__push_back_slow_path(_Up& __x)
1521
- #endif
1522
- {
1523
- allocator_type& __a = this->__alloc();
1524
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), size(), __a);
1525
- // __v.push_back(_VSTD::forward<_Up>(__x));
1526
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(__v.__end_), _VSTD::forward<_Up>(__x));
1527
- __v.__end_++;
1528
- __swap_out_circular_buffer(__v);
1529
- }
1530
-
1531
- template <class _Tp, class _Allocator>
1532
- inline _LIBCPP_INLINE_VISIBILITY
1533
- void
1534
- vector<_Tp, _Allocator>::push_back(const_reference __x)
1535
- {
1536
- if (this->__end_ != this->__end_cap())
1537
- {
1538
- __alloc_traits::construct(this->__alloc(),
1539
- _VSTD::__to_raw_pointer(this->__end_), __x);
1540
- ++this->__end_;
1541
- }
1542
- else
1543
- __push_back_slow_path(__x);
1544
- }
1545
-
1546
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1547
-
1548
- template <class _Tp, class _Allocator>
1549
- inline _LIBCPP_INLINE_VISIBILITY
1550
- void
1551
- vector<_Tp, _Allocator>::push_back(value_type&& __x)
1552
- {
1553
- if (this->__end_ < this->__end_cap())
1554
- {
1555
- __alloc_traits::construct(this->__alloc(),
1556
- _VSTD::__to_raw_pointer(this->__end_),
1557
- _VSTD::move(__x));
1558
- ++this->__end_;
1559
- }
1560
- else
1561
- __push_back_slow_path(_VSTD::move(__x));
1562
- }
1563
-
1564
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1565
-
1566
- template <class _Tp, class _Allocator>
1567
- template <class... _Args>
1568
- void
1569
- vector<_Tp, _Allocator>::__emplace_back_slow_path(_Args&&... __args)
1570
- {
1571
- allocator_type& __a = this->__alloc();
1572
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), size(), __a);
1573
- // __v.emplace_back(_VSTD::forward<_Args>(__args)...);
1574
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(__v.__end_), _VSTD::forward<_Args>(__args)...);
1575
- __v.__end_++;
1576
- __swap_out_circular_buffer(__v);
1577
- }
1578
-
1579
- template <class _Tp, class _Allocator>
1580
- template <class... _Args>
1581
- inline _LIBCPP_INLINE_VISIBILITY
1582
- void
1583
- vector<_Tp, _Allocator>::emplace_back(_Args&&... __args)
1584
- {
1585
- if (this->__end_ < this->__end_cap())
1586
- {
1587
- __alloc_traits::construct(this->__alloc(),
1588
- _VSTD::__to_raw_pointer(this->__end_),
1589
- _VSTD::forward<_Args>(__args)...);
1590
- ++this->__end_;
1591
- }
1592
- else
1593
- __emplace_back_slow_path(_VSTD::forward<_Args>(__args)...);
1594
- }
1595
-
1596
- #endif // _LIBCPP_HAS_NO_VARIADICS
1597
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1598
-
1599
- template <class _Tp, class _Allocator>
1600
- inline _LIBCPP_INLINE_VISIBILITY
1601
- void
1602
- vector<_Tp, _Allocator>::pop_back()
1603
- {
1604
- _LIBCPP_ASSERT(!empty(), "vector::pop_back called for empty vector");
1605
- this->__destruct_at_end(this->__end_ - 1);
1606
- }
1607
-
1608
- template <class _Tp, class _Allocator>
1609
- inline _LIBCPP_INLINE_VISIBILITY
1610
- typename vector<_Tp, _Allocator>::iterator
1611
- vector<_Tp, _Allocator>::erase(const_iterator __position)
1612
- {
1613
- #if _LIBCPP_DEBUG_LEVEL >= 2
1614
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1615
- "vector::erase(iterator) called with an iterator not"
1616
- " referring to this vector");
1617
- #endif
1618
- _LIBCPP_ASSERT(__position != end(),
1619
- "vector::erase(iterator) called with a non-dereferenceable iterator");
1620
- difference_type __ps = __position - cbegin();
1621
- pointer __p = this->__begin_ + __ps;
1622
- iterator __r = __make_iter(__p);
1623
- this->__destruct_at_end(_VSTD::move(__p + 1, this->__end_, __p));
1624
- return __r;
1625
- }
1626
-
1627
- template <class _Tp, class _Allocator>
1628
- typename vector<_Tp, _Allocator>::iterator
1629
- vector<_Tp, _Allocator>::erase(const_iterator __first, const_iterator __last)
1630
- {
1631
- #if _LIBCPP_DEBUG_LEVEL >= 2
1632
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__first) == this,
1633
- "vector::erase(iterator, iterator) called with an iterator not"
1634
- " referring to this vector");
1635
- #endif
1636
- _LIBCPP_ASSERT(__first <= __last, "vector::erase(first, last) called with invalid range");
1637
- pointer __p = this->__begin_ + (__first - begin());
1638
- iterator __r = __make_iter(__p);
1639
- if (__first != __last)
1640
- this->__destruct_at_end(_VSTD::move(__p + (__last - __first), this->__end_, __p));
1641
- return __r;
1642
- }
1643
-
1644
- template <class _Tp, class _Allocator>
1645
- void
1646
- vector<_Tp, _Allocator>::__move_range(pointer __from_s, pointer __from_e, pointer __to)
1647
- {
1648
- pointer __old_last = this->__end_;
1649
- difference_type __n = __old_last - __to;
1650
- for (pointer __i = __from_s + __n; __i < __from_e; ++__i, ++this->__end_)
1651
- __alloc_traits::construct(this->__alloc(),
1652
- _VSTD::__to_raw_pointer(this->__end_),
1653
- _VSTD::move(*__i));
1654
- _VSTD::move_backward(__from_s, __from_s + __n, __old_last);
1655
- }
1656
-
1657
- template <class _Tp, class _Allocator>
1658
- typename vector<_Tp, _Allocator>::iterator
1659
- vector<_Tp, _Allocator>::insert(const_iterator __position, const_reference __x)
1660
- {
1661
- #if _LIBCPP_DEBUG_LEVEL >= 2
1662
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1663
- "vector::insert(iterator, x) called with an iterator not"
1664
- " referring to this vector");
1665
- #endif
1666
- pointer __p = this->__begin_ + (__position - begin());
1667
- if (this->__end_ < this->__end_cap())
1668
- {
1669
- if (__p == this->__end_)
1670
- {
1671
- __alloc_traits::construct(this->__alloc(),
1672
- _VSTD::__to_raw_pointer(this->__end_), __x);
1673
- ++this->__end_;
1674
- }
1675
- else
1676
- {
1677
- __move_range(__p, this->__end_, __p + 1);
1678
- const_pointer __xr = pointer_traits<const_pointer>::pointer_to(__x);
1679
- if (__p <= __xr && __xr < this->__end_)
1680
- ++__xr;
1681
- *__p = *__xr;
1682
- }
1683
- }
1684
- else
1685
- {
1686
- allocator_type& __a = this->__alloc();
1687
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), __p - this->__begin_, __a);
1688
- __v.push_back(__x);
1689
- __p = __swap_out_circular_buffer(__v, __p);
1690
- }
1691
- return __make_iter(__p);
1692
- }
1693
-
1694
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1695
-
1696
- template <class _Tp, class _Allocator>
1697
- typename vector<_Tp, _Allocator>::iterator
1698
- vector<_Tp, _Allocator>::insert(const_iterator __position, value_type&& __x)
1699
- {
1700
- #if _LIBCPP_DEBUG_LEVEL >= 2
1701
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1702
- "vector::insert(iterator, x) called with an iterator not"
1703
- " referring to this vector");
1704
- #endif
1705
- pointer __p = this->__begin_ + (__position - begin());
1706
- if (this->__end_ < this->__end_cap())
1707
- {
1708
- if (__p == this->__end_)
1709
- {
1710
- __alloc_traits::construct(this->__alloc(),
1711
- _VSTD::__to_raw_pointer(this->__end_),
1712
- _VSTD::move(__x));
1713
- ++this->__end_;
1714
- }
1715
- else
1716
- {
1717
- __move_range(__p, this->__end_, __p + 1);
1718
- *__p = _VSTD::move(__x);
1719
- }
1720
- }
1721
- else
1722
- {
1723
- allocator_type& __a = this->__alloc();
1724
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), __p - this->__begin_, __a);
1725
- __v.push_back(_VSTD::move(__x));
1726
- __p = __swap_out_circular_buffer(__v, __p);
1727
- }
1728
- return __make_iter(__p);
1729
- }
1730
-
1731
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1732
-
1733
- template <class _Tp, class _Allocator>
1734
- template <class... _Args>
1735
- typename vector<_Tp, _Allocator>::iterator
1736
- vector<_Tp, _Allocator>::emplace(const_iterator __position, _Args&&... __args)
1737
- {
1738
- #if _LIBCPP_DEBUG_LEVEL >= 2
1739
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1740
- "vector::emplace(iterator, x) called with an iterator not"
1741
- " referring to this vector");
1742
- #endif
1743
- pointer __p = this->__begin_ + (__position - begin());
1744
- if (this->__end_ < this->__end_cap())
1745
- {
1746
- if (__p == this->__end_)
1747
- {
1748
- __alloc_traits::construct(this->__alloc(),
1749
- _VSTD::__to_raw_pointer(this->__end_),
1750
- _VSTD::forward<_Args>(__args)...);
1751
- ++this->__end_;
1752
- }
1753
- else
1754
- {
1755
- value_type __tmp(_VSTD::forward<_Args>(__args)...);
1756
- __move_range(__p, this->__end_, __p + 1);
1757
- *__p = _VSTD::move(__tmp);
1758
- }
1759
- }
1760
- else
1761
- {
1762
- allocator_type& __a = this->__alloc();
1763
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), __p - this->__begin_, __a);
1764
- __v.emplace_back(_VSTD::forward<_Args>(__args)...);
1765
- __p = __swap_out_circular_buffer(__v, __p);
1766
- }
1767
- return __make_iter(__p);
1768
- }
1769
-
1770
- #endif // _LIBCPP_HAS_NO_VARIADICS
1771
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1772
-
1773
- template <class _Tp, class _Allocator>
1774
- typename vector<_Tp, _Allocator>::iterator
1775
- vector<_Tp, _Allocator>::insert(const_iterator __position, size_type __n, const_reference __x)
1776
- {
1777
- #if _LIBCPP_DEBUG_LEVEL >= 2
1778
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1779
- "vector::insert(iterator, n, x) called with an iterator not"
1780
- " referring to this vector");
1781
- #endif
1782
- pointer __p = this->__begin_ + (__position - begin());
1783
- if (__n > 0)
1784
- {
1785
- if (__n <= static_cast<size_type>(this->__end_cap() - this->__end_))
1786
- {
1787
- size_type __old_n = __n;
1788
- pointer __old_last = this->__end_;
1789
- if (__n > static_cast<size_type>(this->__end_ - __p))
1790
- {
1791
- size_type __cx = __n - (this->__end_ - __p);
1792
- __construct_at_end(__cx, __x);
1793
- __n -= __cx;
1794
- }
1795
- if (__n > 0)
1796
- {
1797
- __move_range(__p, __old_last, __p + __old_n);
1798
- const_pointer __xr = pointer_traits<const_pointer>::pointer_to(__x);
1799
- if (__p <= __xr && __xr < this->__end_)
1800
- __xr += __old_n;
1801
- _VSTD::fill_n(__p, __n, *__xr);
1802
- }
1803
- }
1804
- else
1805
- {
1806
- allocator_type& __a = this->__alloc();
1807
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), __p - this->__begin_, __a);
1808
- __v.__construct_at_end(__n, __x);
1809
- __p = __swap_out_circular_buffer(__v, __p);
1810
- }
1811
- }
1812
- return __make_iter(__p);
1813
- }
1814
-
1815
- template <class _Tp, class _Allocator>
1816
- template <class _InputIterator>
1817
- typename enable_if
1818
- <
1819
- __is_input_iterator <_InputIterator>::value &&
1820
- !__is_forward_iterator<_InputIterator>::value &&
1821
- is_constructible<
1822
- _Tp,
1823
- typename iterator_traits<_InputIterator>::reference>::value,
1824
- typename vector<_Tp, _Allocator>::iterator
1825
- >::type
1826
- vector<_Tp, _Allocator>::insert(const_iterator __position, _InputIterator __first, _InputIterator __last)
1827
- {
1828
- #if _LIBCPP_DEBUG_LEVEL >= 2
1829
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1830
- "vector::insert(iterator, range) called with an iterator not"
1831
- " referring to this vector");
1832
- #endif
1833
- difference_type __off = __position - begin();
1834
- pointer __p = this->__begin_ + __off;
1835
- allocator_type& __a = this->__alloc();
1836
- pointer __old_last = this->__end_;
1837
- for (; this->__end_ != this->__end_cap() && __first != __last; ++__first)
1838
- {
1839
- __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_),
1840
- *__first);
1841
- ++this->__end_;
1842
- }
1843
- __split_buffer<value_type, allocator_type&> __v(__a);
1844
- if (__first != __last)
1845
- {
1846
- #ifndef _LIBCPP_NO_EXCEPTIONS
1847
- try
1848
- {
1849
- #endif // _LIBCPP_NO_EXCEPTIONS
1850
- __v.__construct_at_end(__first, __last);
1851
- difference_type __old_size = __old_last - this->__begin_;
1852
- difference_type __old_p = __p - this->__begin_;
1853
- reserve(__recommend(size() + __v.size()));
1854
- __p = this->__begin_ + __old_p;
1855
- __old_last = this->__begin_ + __old_size;
1856
- #ifndef _LIBCPP_NO_EXCEPTIONS
1857
- }
1858
- catch (...)
1859
- {
1860
- erase(__make_iter(__old_last), end());
1861
- throw;
1862
- }
1863
- #endif // _LIBCPP_NO_EXCEPTIONS
1864
- }
1865
- __p = _VSTD::rotate(__p, __old_last, this->__end_);
1866
- insert(__make_iter(__p), make_move_iterator(__v.begin()),
1867
- make_move_iterator(__v.end()));
1868
- return begin() + __off;
1869
- }
1870
-
1871
- template <class _Tp, class _Allocator>
1872
- template <class _ForwardIterator>
1873
- typename enable_if
1874
- <
1875
- __is_forward_iterator<_ForwardIterator>::value &&
1876
- is_constructible<
1877
- _Tp,
1878
- typename iterator_traits<_ForwardIterator>::reference>::value,
1879
- typename vector<_Tp, _Allocator>::iterator
1880
- >::type
1881
- vector<_Tp, _Allocator>::insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last)
1882
- {
1883
- #if _LIBCPP_DEBUG_LEVEL >= 2
1884
- _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
1885
- "vector::insert(iterator, range) called with an iterator not"
1886
- " referring to this vector");
1887
- #endif
1888
- pointer __p = this->__begin_ + (__position - begin());
1889
- difference_type __n = _VSTD::distance(__first, __last);
1890
- if (__n > 0)
1891
- {
1892
- if (__n <= this->__end_cap() - this->__end_)
1893
- {
1894
- size_type __old_n = __n;
1895
- pointer __old_last = this->__end_;
1896
- _ForwardIterator __m = __last;
1897
- difference_type __dx = this->__end_ - __p;
1898
- if (__n > __dx)
1899
- {
1900
- __m = __first;
1901
- _VSTD::advance(__m, this->__end_ - __p);
1902
- __construct_at_end(__m, __last);
1903
- __n = __dx;
1904
- }
1905
- if (__n > 0)
1906
- {
1907
- __move_range(__p, __old_last, __p + __old_n);
1908
- _VSTD::copy(__first, __m, __p);
1909
- }
1910
- }
1911
- else
1912
- {
1913
- allocator_type& __a = this->__alloc();
1914
- __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), __p - this->__begin_, __a);
1915
- __v.__construct_at_end(__first, __last);
1916
- __p = __swap_out_circular_buffer(__v, __p);
1917
- }
1918
- }
1919
- return __make_iter(__p);
1920
- }
1921
-
1922
- template <class _Tp, class _Allocator>
1923
- void
1924
- vector<_Tp, _Allocator>::resize(size_type __sz)
1925
- {
1926
- size_type __cs = size();
1927
- if (__cs < __sz)
1928
- this->__append(__sz - __cs);
1929
- else if (__cs > __sz)
1930
- this->__destruct_at_end(this->__begin_ + __sz);
1931
- }
1932
-
1933
- template <class _Tp, class _Allocator>
1934
- void
1935
- vector<_Tp, _Allocator>::resize(size_type __sz, const_reference __x)
1936
- {
1937
- size_type __cs = size();
1938
- if (__cs < __sz)
1939
- this->__append(__sz - __cs, __x);
1940
- else if (__cs > __sz)
1941
- this->__destruct_at_end(this->__begin_ + __sz);
1942
- }
1943
-
1944
- template <class _Tp, class _Allocator>
1945
- void
1946
- vector<_Tp, _Allocator>::swap(vector& __x)
1947
- _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
1948
- __is_nothrow_swappable<allocator_type>::value)
1949
- {
1950
- _LIBCPP_ASSERT(__alloc_traits::propagate_on_container_swap::value ||
1951
- this->__alloc() == __x.__alloc(),
1952
- "vector::swap: Either propagate_on_container_swap must be true"
1953
- " or the allocators must compare equal");
1954
- _VSTD::swap(this->__begin_, __x.__begin_);
1955
- _VSTD::swap(this->__end_, __x.__end_);
1956
- _VSTD::swap(this->__end_cap(), __x.__end_cap());
1957
- __base::__swap_alloc(this->__alloc(), __x.__alloc());
1958
- #if _LIBCPP_DEBUG_LEVEL >= 2
1959
- __get_db()->swap(this, &__x);
1960
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
1961
- }
1962
-
1963
- template <class _Tp, class _Allocator>
1964
- bool
1965
- vector<_Tp, _Allocator>::__invariants() const
1966
- {
1967
- if (this->__begin_ == nullptr)
1968
- {
1969
- if (this->__end_ != nullptr || this->__end_cap() != nullptr)
1970
- return false;
1971
- }
1972
- else
1973
- {
1974
- if (this->__begin_ > this->__end_)
1975
- return false;
1976
- if (this->__begin_ == this->__end_cap())
1977
- return false;
1978
- if (this->__end_ > this->__end_cap())
1979
- return false;
1980
- }
1981
- return true;
1982
- }
1983
-
1984
- #if _LIBCPP_DEBUG_LEVEL >= 2
1985
-
1986
- template <class _Tp, class _Allocator>
1987
- bool
1988
- vector<_Tp, _Allocator>::__dereferenceable(const const_iterator* __i) const
1989
- {
1990
- return this->__begin_ <= __i->base() && __i->base() < this->__end_;
1991
- }
1992
-
1993
- template <class _Tp, class _Allocator>
1994
- bool
1995
- vector<_Tp, _Allocator>::__decrementable(const const_iterator* __i) const
1996
- {
1997
- return this->__begin_ < __i->base() && __i->base() <= this->__end_;
1998
- }
1999
-
2000
- template <class _Tp, class _Allocator>
2001
- bool
2002
- vector<_Tp, _Allocator>::__addable(const const_iterator* __i, ptrdiff_t __n) const
2003
- {
2004
- const_pointer __p = __i->base() + __n;
2005
- return this->__begin_ <= __p && __p <= this->__end_;
2006
- }
2007
-
2008
- template <class _Tp, class _Allocator>
2009
- bool
2010
- vector<_Tp, _Allocator>::__subscriptable(const const_iterator* __i, ptrdiff_t __n) const
2011
- {
2012
- const_pointer __p = __i->base() + __n;
2013
- return this->__begin_ <= __p && __p < this->__end_;
2014
- }
2015
-
2016
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
2017
-
2018
- template <class _Tp, class _Allocator>
2019
- inline _LIBCPP_INLINE_VISIBILITY
2020
- void
2021
- vector<_Tp, _Allocator>::__invalidate_all_iterators()
2022
- {
2023
- #if _LIBCPP_DEBUG_LEVEL >= 2
2024
- __get_db()->__invalidate_all(this);
2025
- #endif // _LIBCPP_DEBUG_LEVEL >= 2
2026
- }
2027
-
2028
- // vector<bool>
2029
-
2030
- template <class _Allocator> class vector<bool, _Allocator>;
2031
-
2032
- template <class _Allocator> struct hash<vector<bool, _Allocator> >;
2033
-
2034
- template <class _Allocator>
2035
- struct __has_storage_type<vector<bool, _Allocator> >
2036
- {
2037
- static const bool value = true;
2038
- };
2039
-
2040
- template <class _Allocator>
2041
- class _LIBCPP_TYPE_VIS_ONLY vector<bool, _Allocator>
2042
- : private __vector_base_common<true>
2043
- {
2044
- public:
2045
- typedef vector __self;
2046
- typedef bool value_type;
2047
- typedef _Allocator allocator_type;
2048
- typedef allocator_traits<allocator_type> __alloc_traits;
2049
- typedef typename __alloc_traits::size_type size_type;
2050
- typedef typename __alloc_traits::difference_type difference_type;
2051
- typedef size_type __storage_type;
2052
- typedef __bit_iterator<vector, false> pointer;
2053
- typedef __bit_iterator<vector, true> const_pointer;
2054
- typedef pointer iterator;
2055
- typedef const_pointer const_iterator;
2056
- typedef _VSTD::reverse_iterator<iterator> reverse_iterator;
2057
- typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator;
2058
-
2059
- private:
2060
- typedef typename __alloc_traits::template
2061
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
2062
- rebind_alloc<__storage_type>
2063
- #else
2064
- rebind_alloc<__storage_type>::other
2065
- #endif
2066
- __storage_allocator;
2067
- typedef allocator_traits<__storage_allocator> __storage_traits;
2068
- typedef typename __storage_traits::pointer __storage_pointer;
2069
- typedef typename __storage_traits::const_pointer __const_storage_pointer;
2070
-
2071
- __storage_pointer __begin_;
2072
- size_type __size_;
2073
- __compressed_pair<size_type, __storage_allocator> __cap_alloc_;
2074
- public:
2075
- typedef __bit_reference<vector> reference;
2076
- typedef __bit_const_reference<vector> const_reference;
2077
- private:
2078
- _LIBCPP_INLINE_VISIBILITY
2079
- size_type& __cap() _NOEXCEPT
2080
- {return __cap_alloc_.first();}
2081
- _LIBCPP_INLINE_VISIBILITY
2082
- const size_type& __cap() const _NOEXCEPT
2083
- {return __cap_alloc_.first();}
2084
- _LIBCPP_INLINE_VISIBILITY
2085
- __storage_allocator& __alloc() _NOEXCEPT
2086
- {return __cap_alloc_.second();}
2087
- _LIBCPP_INLINE_VISIBILITY
2088
- const __storage_allocator& __alloc() const _NOEXCEPT
2089
- {return __cap_alloc_.second();}
2090
-
2091
- static const unsigned __bits_per_word = static_cast<unsigned>(sizeof(__storage_type) * CHAR_BIT);
2092
-
2093
- _LIBCPP_INLINE_VISIBILITY
2094
- static size_type __internal_cap_to_external(size_type __n) _NOEXCEPT
2095
- {return __n * __bits_per_word;}
2096
- _LIBCPP_INLINE_VISIBILITY
2097
- static size_type __external_cap_to_internal(size_type __n) _NOEXCEPT
2098
- {return (__n - 1) / __bits_per_word + 1;}
2099
-
2100
- public:
2101
- _LIBCPP_INLINE_VISIBILITY
2102
- vector()
2103
- _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
2104
- _LIBCPP_INLINE_VISIBILITY explicit vector(const allocator_type& __a);
2105
- ~vector();
2106
- explicit vector(size_type __n);
2107
- #if _LIBCPP_STD_VER > 11
2108
- explicit vector(size_type __n, const allocator_type& __a);
2109
- #endif
2110
- vector(size_type __n, const value_type& __v);
2111
- vector(size_type __n, const value_type& __v, const allocator_type& __a);
2112
- template <class _InputIterator>
2113
- vector(_InputIterator __first, _InputIterator __last,
2114
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
2115
- !__is_forward_iterator<_InputIterator>::value>::type* = 0);
2116
- template <class _InputIterator>
2117
- vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
2118
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
2119
- !__is_forward_iterator<_InputIterator>::value>::type* = 0);
2120
- template <class _ForwardIterator>
2121
- vector(_ForwardIterator __first, _ForwardIterator __last,
2122
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type* = 0);
2123
- template <class _ForwardIterator>
2124
- vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
2125
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type* = 0);
2126
-
2127
- vector(const vector& __v);
2128
- vector(const vector& __v, const allocator_type& __a);
2129
- vector& operator=(const vector& __v);
2130
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2131
- vector(initializer_list<value_type> __il);
2132
- vector(initializer_list<value_type> __il, const allocator_type& __a);
2133
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2134
-
2135
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2136
- _LIBCPP_INLINE_VISIBILITY
2137
- vector(vector&& __v)
2138
- _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
2139
- vector(vector&& __v, const allocator_type& __a);
2140
- _LIBCPP_INLINE_VISIBILITY
2141
- vector& operator=(vector&& __v)
2142
- _NOEXCEPT_(
2143
- __alloc_traits::propagate_on_container_move_assignment::value &&
2144
- is_nothrow_move_assignable<allocator_type>::value);
2145
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2146
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2147
- _LIBCPP_INLINE_VISIBILITY
2148
- vector& operator=(initializer_list<value_type> __il)
2149
- {assign(__il.begin(), __il.end()); return *this;}
2150
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2151
-
2152
- template <class _InputIterator>
2153
- typename enable_if
2154
- <
2155
- __is_input_iterator<_InputIterator>::value &&
2156
- !__is_forward_iterator<_InputIterator>::value,
2157
- void
2158
- >::type
2159
- assign(_InputIterator __first, _InputIterator __last);
2160
- template <class _ForwardIterator>
2161
- typename enable_if
2162
- <
2163
- __is_forward_iterator<_ForwardIterator>::value,
2164
- void
2165
- >::type
2166
- assign(_ForwardIterator __first, _ForwardIterator __last);
2167
-
2168
- void assign(size_type __n, const value_type& __x);
2169
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2170
- _LIBCPP_INLINE_VISIBILITY
2171
- void assign(initializer_list<value_type> __il)
2172
- {assign(__il.begin(), __il.end());}
2173
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2174
-
2175
- _LIBCPP_INLINE_VISIBILITY allocator_type get_allocator() const _NOEXCEPT
2176
- {return allocator_type(this->__alloc());}
2177
-
2178
- size_type max_size() const _NOEXCEPT;
2179
- _LIBCPP_INLINE_VISIBILITY
2180
- size_type capacity() const _NOEXCEPT
2181
- {return __internal_cap_to_external(__cap());}
2182
- _LIBCPP_INLINE_VISIBILITY
2183
- size_type size() const _NOEXCEPT
2184
- {return __size_;}
2185
- _LIBCPP_INLINE_VISIBILITY
2186
- bool empty() const _NOEXCEPT
2187
- {return __size_ == 0;}
2188
- void reserve(size_type __n);
2189
- void shrink_to_fit() _NOEXCEPT;
2190
-
2191
- _LIBCPP_INLINE_VISIBILITY
2192
- iterator begin() _NOEXCEPT
2193
- {return __make_iter(0);}
2194
- _LIBCPP_INLINE_VISIBILITY
2195
- const_iterator begin() const _NOEXCEPT
2196
- {return __make_iter(0);}
2197
- _LIBCPP_INLINE_VISIBILITY
2198
- iterator end() _NOEXCEPT
2199
- {return __make_iter(__size_);}
2200
- _LIBCPP_INLINE_VISIBILITY
2201
- const_iterator end() const _NOEXCEPT
2202
- {return __make_iter(__size_);}
2203
-
2204
- _LIBCPP_INLINE_VISIBILITY
2205
- reverse_iterator rbegin() _NOEXCEPT
2206
- {return reverse_iterator(end());}
2207
- _LIBCPP_INLINE_VISIBILITY
2208
- const_reverse_iterator rbegin() const _NOEXCEPT
2209
- {return const_reverse_iterator(end());}
2210
- _LIBCPP_INLINE_VISIBILITY
2211
- reverse_iterator rend() _NOEXCEPT
2212
- {return reverse_iterator(begin());}
2213
- _LIBCPP_INLINE_VISIBILITY
2214
- const_reverse_iterator rend() const _NOEXCEPT
2215
- {return const_reverse_iterator(begin());}
2216
-
2217
- _LIBCPP_INLINE_VISIBILITY
2218
- const_iterator cbegin() const _NOEXCEPT
2219
- {return __make_iter(0);}
2220
- _LIBCPP_INLINE_VISIBILITY
2221
- const_iterator cend() const _NOEXCEPT
2222
- {return __make_iter(__size_);}
2223
- _LIBCPP_INLINE_VISIBILITY
2224
- const_reverse_iterator crbegin() const _NOEXCEPT
2225
- {return rbegin();}
2226
- _LIBCPP_INLINE_VISIBILITY
2227
- const_reverse_iterator crend() const _NOEXCEPT
2228
- {return rend();}
2229
-
2230
- _LIBCPP_INLINE_VISIBILITY reference operator[](size_type __n) {return __make_ref(__n);}
2231
- _LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __n) const {return __make_ref(__n);}
2232
- reference at(size_type __n);
2233
- const_reference at(size_type __n) const;
2234
-
2235
- _LIBCPP_INLINE_VISIBILITY reference front() {return __make_ref(0);}
2236
- _LIBCPP_INLINE_VISIBILITY const_reference front() const {return __make_ref(0);}
2237
- _LIBCPP_INLINE_VISIBILITY reference back() {return __make_ref(__size_ - 1);}
2238
- _LIBCPP_INLINE_VISIBILITY const_reference back() const {return __make_ref(__size_ - 1);}
2239
-
2240
- void push_back(const value_type& __x);
2241
- #if _LIBCPP_STD_VER > 11
2242
- template <class... _Args>
2243
- _LIBCPP_INLINE_VISIBILITY void emplace_back(_Args&&... __args)
2244
- { push_back ( value_type ( _VSTD::forward<_Args>(__args)... )); }
2245
- #endif
2246
-
2247
- _LIBCPP_INLINE_VISIBILITY void pop_back() {--__size_;}
2248
-
2249
- #if _LIBCPP_STD_VER > 11
2250
- template <class... _Args>
2251
- _LIBCPP_INLINE_VISIBILITY iterator emplace(const_iterator position, _Args&&... __args)
2252
- { return insert ( position, value_type ( _VSTD::forward<_Args>(__args)... )); }
2253
- #endif
2254
-
2255
- iterator insert(const_iterator __position, const value_type& __x);
2256
- iterator insert(const_iterator __position, size_type __n, const value_type& __x);
2257
- iterator insert(const_iterator __position, size_type __n, const_reference __x);
2258
- template <class _InputIterator>
2259
- typename enable_if
2260
- <
2261
- __is_input_iterator <_InputIterator>::value &&
2262
- !__is_forward_iterator<_InputIterator>::value,
2263
- iterator
2264
- >::type
2265
- insert(const_iterator __position, _InputIterator __first, _InputIterator __last);
2266
- template <class _ForwardIterator>
2267
- typename enable_if
2268
- <
2269
- __is_forward_iterator<_ForwardIterator>::value,
2270
- iterator
2271
- >::type
2272
- insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last);
2273
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2274
- _LIBCPP_INLINE_VISIBILITY
2275
- iterator insert(const_iterator __position, initializer_list<value_type> __il)
2276
- {return insert(__position, __il.begin(), __il.end());}
2277
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2278
-
2279
- _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __position);
2280
- iterator erase(const_iterator __first, const_iterator __last);
2281
-
2282
- _LIBCPP_INLINE_VISIBILITY
2283
- void clear() _NOEXCEPT {__size_ = 0;}
2284
-
2285
- void swap(vector&)
2286
- _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
2287
- __is_nothrow_swappable<allocator_type>::value);
2288
-
2289
- void resize(size_type __sz, value_type __x = false);
2290
- void flip() _NOEXCEPT;
2291
-
2292
- bool __invariants() const;
2293
-
2294
- private:
2295
- _LIBCPP_INLINE_VISIBILITY void __invalidate_all_iterators();
2296
- void allocate(size_type __n);
2297
- void deallocate() _NOEXCEPT;
2298
- _LIBCPP_INLINE_VISIBILITY
2299
- static size_type __align_it(size_type __new_size) _NOEXCEPT
2300
- {return __new_size + (__bits_per_word-1) & ~(__bits_per_word-1);};
2301
- _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const;
2302
- _LIBCPP_INLINE_VISIBILITY void __construct_at_end(size_type __n, bool __x);
2303
- template <class _ForwardIterator>
2304
- typename enable_if
2305
- <
2306
- __is_forward_iterator<_ForwardIterator>::value,
2307
- void
2308
- >::type
2309
- __construct_at_end(_ForwardIterator __first, _ForwardIterator __last);
2310
- void __append(size_type __n, const_reference __x);
2311
- _LIBCPP_INLINE_VISIBILITY
2312
- reference __make_ref(size_type __pos) _NOEXCEPT
2313
- {return reference(__begin_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);}
2314
- _LIBCPP_INLINE_VISIBILITY
2315
- const_reference __make_ref(size_type __pos) const _NOEXCEPT
2316
- {return const_reference(__begin_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);}
2317
- _LIBCPP_INLINE_VISIBILITY
2318
- iterator __make_iter(size_type __pos) _NOEXCEPT
2319
- {return iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
2320
- _LIBCPP_INLINE_VISIBILITY
2321
- const_iterator __make_iter(size_type __pos) const _NOEXCEPT
2322
- {return const_iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
2323
- _LIBCPP_INLINE_VISIBILITY
2324
- iterator __const_iterator_cast(const_iterator __p) _NOEXCEPT
2325
- {return begin() + (__p - cbegin());}
2326
-
2327
- _LIBCPP_INLINE_VISIBILITY
2328
- void __copy_assign_alloc(const vector& __v)
2329
- {__copy_assign_alloc(__v, integral_constant<bool,
2330
- __storage_traits::propagate_on_container_copy_assignment::value>());}
2331
- _LIBCPP_INLINE_VISIBILITY
2332
- void __copy_assign_alloc(const vector& __c, true_type)
2333
- {
2334
- if (__alloc() != __c.__alloc())
2335
- deallocate();
2336
- __alloc() = __c.__alloc();
2337
- }
2338
-
2339
- _LIBCPP_INLINE_VISIBILITY
2340
- void __copy_assign_alloc(const vector&, false_type)
2341
- {}
2342
-
2343
- void __move_assign(vector& __c, false_type);
2344
- void __move_assign(vector& __c, true_type)
2345
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
2346
- _LIBCPP_INLINE_VISIBILITY
2347
- void __move_assign_alloc(vector& __c)
2348
- _NOEXCEPT_(
2349
- !__storage_traits::propagate_on_container_move_assignment::value ||
2350
- is_nothrow_move_assignable<allocator_type>::value)
2351
- {__move_assign_alloc(__c, integral_constant<bool,
2352
- __storage_traits::propagate_on_container_move_assignment::value>());}
2353
- _LIBCPP_INLINE_VISIBILITY
2354
- void __move_assign_alloc(vector& __c, true_type)
2355
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
2356
- {
2357
- __alloc() = _VSTD::move(__c.__alloc());
2358
- }
2359
-
2360
- _LIBCPP_INLINE_VISIBILITY
2361
- void __move_assign_alloc(vector&, false_type)
2362
- _NOEXCEPT
2363
- {}
2364
-
2365
- _LIBCPP_INLINE_VISIBILITY
2366
- static void __swap_alloc(__storage_allocator& __x, __storage_allocator& __y)
2367
- _NOEXCEPT_(
2368
- !__storage_traits::propagate_on_container_swap::value ||
2369
- __is_nothrow_swappable<allocator_type>::value)
2370
- {__swap_alloc(__x, __y, integral_constant<bool,
2371
- __storage_traits::propagate_on_container_swap::value>());}
2372
-
2373
- _LIBCPP_INLINE_VISIBILITY
2374
- static void __swap_alloc(__storage_allocator& __x, __storage_allocator& __y, true_type)
2375
- _NOEXCEPT_(__is_nothrow_swappable<allocator_type>::value)
2376
- {
2377
- using _VSTD::swap;
2378
- swap(__x, __y);
2379
- }
2380
- _LIBCPP_INLINE_VISIBILITY
2381
- static void __swap_alloc(__storage_allocator&, __storage_allocator&, false_type)
2382
- _NOEXCEPT
2383
- {}
2384
-
2385
- size_t __hash_code() const _NOEXCEPT;
2386
-
2387
- friend class __bit_reference<vector>;
2388
- friend class __bit_const_reference<vector>;
2389
- friend class __bit_iterator<vector, false>;
2390
- friend class __bit_iterator<vector, true>;
2391
- friend struct __bit_array<vector>;
2392
- friend struct _LIBCPP_TYPE_VIS_ONLY hash<vector>;
2393
- };
2394
-
2395
- template <class _Allocator>
2396
- inline _LIBCPP_INLINE_VISIBILITY
2397
- void
2398
- vector<bool, _Allocator>::__invalidate_all_iterators()
2399
- {
2400
- }
2401
-
2402
- // Allocate space for __n objects
2403
- // throws length_error if __n > max_size()
2404
- // throws (probably bad_alloc) if memory run out
2405
- // Precondition: __begin_ == __end_ == __cap() == 0
2406
- // Precondition: __n > 0
2407
- // Postcondition: capacity() == __n
2408
- // Postcondition: size() == 0
2409
- template <class _Allocator>
2410
- void
2411
- vector<bool, _Allocator>::allocate(size_type __n)
2412
- {
2413
- if (__n > max_size())
2414
- this->__throw_length_error();
2415
- __n = __external_cap_to_internal(__n);
2416
- this->__begin_ = __storage_traits::allocate(this->__alloc(), __n);
2417
- this->__size_ = 0;
2418
- this->__cap() = __n;
2419
- }
2420
-
2421
- template <class _Allocator>
2422
- void
2423
- vector<bool, _Allocator>::deallocate() _NOEXCEPT
2424
- {
2425
- if (this->__begin_ != nullptr)
2426
- {
2427
- __storage_traits::deallocate(this->__alloc(), this->__begin_, __cap());
2428
- __invalidate_all_iterators();
2429
- this->__begin_ = nullptr;
2430
- this->__size_ = this->__cap() = 0;
2431
- }
2432
- }
2433
-
2434
- template <class _Allocator>
2435
- typename vector<bool, _Allocator>::size_type
2436
- vector<bool, _Allocator>::max_size() const _NOEXCEPT
2437
- {
2438
- size_type __amax = __storage_traits::max_size(__alloc());
2439
- size_type __nmax = numeric_limits<size_type>::max() / 2; // end() >= begin(), always
2440
- if (__nmax / __bits_per_word <= __amax)
2441
- return __nmax;
2442
- return __internal_cap_to_external(__amax);
2443
- }
2444
-
2445
- // Precondition: __new_size > capacity()
2446
- template <class _Allocator>
2447
- inline _LIBCPP_INLINE_VISIBILITY
2448
- typename vector<bool, _Allocator>::size_type
2449
- vector<bool, _Allocator>::__recommend(size_type __new_size) const
2450
- {
2451
- const size_type __ms = max_size();
2452
- if (__new_size > __ms)
2453
- this->__throw_length_error();
2454
- const size_type __cap = capacity();
2455
- if (__cap >= __ms / 2)
2456
- return __ms;
2457
- return _VSTD::max(2*__cap, __align_it(__new_size));
2458
- }
2459
-
2460
- // Default constructs __n objects starting at __end_
2461
- // Precondition: __n > 0
2462
- // Precondition: size() + __n <= capacity()
2463
- // Postcondition: size() == size() + __n
2464
- template <class _Allocator>
2465
- inline _LIBCPP_INLINE_VISIBILITY
2466
- void
2467
- vector<bool, _Allocator>::__construct_at_end(size_type __n, bool __x)
2468
- {
2469
- size_type __old_size = this->__size_;
2470
- this->__size_ += __n;
2471
- _VSTD::fill_n(__make_iter(__old_size), __n, __x);
2472
- }
2473
-
2474
- template <class _Allocator>
2475
- template <class _ForwardIterator>
2476
- typename enable_if
2477
- <
2478
- __is_forward_iterator<_ForwardIterator>::value,
2479
- void
2480
- >::type
2481
- vector<bool, _Allocator>::__construct_at_end(_ForwardIterator __first, _ForwardIterator __last)
2482
- {
2483
- size_type __old_size = this->__size_;
2484
- this->__size_ += _VSTD::distance(__first, __last);
2485
- _VSTD::copy(__first, __last, __make_iter(__old_size));
2486
- }
2487
-
2488
- template <class _Allocator>
2489
- inline _LIBCPP_INLINE_VISIBILITY
2490
- vector<bool, _Allocator>::vector()
2491
- _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
2492
- : __begin_(nullptr),
2493
- __size_(0),
2494
- __cap_alloc_(0)
2495
- {
2496
- }
2497
-
2498
- template <class _Allocator>
2499
- inline _LIBCPP_INLINE_VISIBILITY
2500
- vector<bool, _Allocator>::vector(const allocator_type& __a)
2501
- : __begin_(nullptr),
2502
- __size_(0),
2503
- __cap_alloc_(0, static_cast<__storage_allocator>(__a))
2504
- {
2505
- }
2506
-
2507
- template <class _Allocator>
2508
- vector<bool, _Allocator>::vector(size_type __n)
2509
- : __begin_(nullptr),
2510
- __size_(0),
2511
- __cap_alloc_(0)
2512
- {
2513
- if (__n > 0)
2514
- {
2515
- allocate(__n);
2516
- __construct_at_end(__n, false);
2517
- }
2518
- }
2519
-
2520
- #if _LIBCPP_STD_VER > 11
2521
- template <class _Allocator>
2522
- vector<bool, _Allocator>::vector(size_type __n, const allocator_type& __a)
2523
- : __begin_(nullptr),
2524
- __size_(0),
2525
- __cap_alloc_(0, static_cast<__storage_allocator>(__a))
2526
- {
2527
- if (__n > 0)
2528
- {
2529
- allocate(__n);
2530
- __construct_at_end(__n, false);
2531
- }
2532
- }
2533
- #endif
2534
-
2535
- template <class _Allocator>
2536
- vector<bool, _Allocator>::vector(size_type __n, const value_type& __x)
2537
- : __begin_(nullptr),
2538
- __size_(0),
2539
- __cap_alloc_(0)
2540
- {
2541
- if (__n > 0)
2542
- {
2543
- allocate(__n);
2544
- __construct_at_end(__n, __x);
2545
- }
2546
- }
2547
-
2548
- template <class _Allocator>
2549
- vector<bool, _Allocator>::vector(size_type __n, const value_type& __x, const allocator_type& __a)
2550
- : __begin_(nullptr),
2551
- __size_(0),
2552
- __cap_alloc_(0, static_cast<__storage_allocator>(__a))
2553
- {
2554
- if (__n > 0)
2555
- {
2556
- allocate(__n);
2557
- __construct_at_end(__n, __x);
2558
- }
2559
- }
2560
-
2561
- template <class _Allocator>
2562
- template <class _InputIterator>
2563
- vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last,
2564
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
2565
- !__is_forward_iterator<_InputIterator>::value>::type*)
2566
- : __begin_(nullptr),
2567
- __size_(0),
2568
- __cap_alloc_(0)
2569
- {
2570
- #ifndef _LIBCPP_NO_EXCEPTIONS
2571
- try
2572
- {
2573
- #endif // _LIBCPP_NO_EXCEPTIONS
2574
- for (; __first != __last; ++__first)
2575
- push_back(*__first);
2576
- #ifndef _LIBCPP_NO_EXCEPTIONS
2577
- }
2578
- catch (...)
2579
- {
2580
- if (__begin_ != nullptr)
2581
- __storage_traits::deallocate(__alloc(), __begin_, __cap());
2582
- __invalidate_all_iterators();
2583
- throw;
2584
- }
2585
- #endif // _LIBCPP_NO_EXCEPTIONS
2586
- }
2587
-
2588
- template <class _Allocator>
2589
- template <class _InputIterator>
2590
- vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
2591
- typename enable_if<__is_input_iterator <_InputIterator>::value &&
2592
- !__is_forward_iterator<_InputIterator>::value>::type*)
2593
- : __begin_(nullptr),
2594
- __size_(0),
2595
- __cap_alloc_(0, static_cast<__storage_allocator>(__a))
2596
- {
2597
- #ifndef _LIBCPP_NO_EXCEPTIONS
2598
- try
2599
- {
2600
- #endif // _LIBCPP_NO_EXCEPTIONS
2601
- for (; __first != __last; ++__first)
2602
- push_back(*__first);
2603
- #ifndef _LIBCPP_NO_EXCEPTIONS
2604
- }
2605
- catch (...)
2606
- {
2607
- if (__begin_ != nullptr)
2608
- __storage_traits::deallocate(__alloc(), __begin_, __cap());
2609
- __invalidate_all_iterators();
2610
- throw;
2611
- }
2612
- #endif // _LIBCPP_NO_EXCEPTIONS
2613
- }
2614
-
2615
- template <class _Allocator>
2616
- template <class _ForwardIterator>
2617
- vector<bool, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __last,
2618
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type*)
2619
- : __begin_(nullptr),
2620
- __size_(0),
2621
- __cap_alloc_(0)
2622
- {
2623
- size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
2624
- if (__n > 0)
2625
- {
2626
- allocate(__n);
2627
- __construct_at_end(__first, __last);
2628
- }
2629
- }
2630
-
2631
- template <class _Allocator>
2632
- template <class _ForwardIterator>
2633
- vector<bool, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
2634
- typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type*)
2635
- : __begin_(nullptr),
2636
- __size_(0),
2637
- __cap_alloc_(0, static_cast<__storage_allocator>(__a))
2638
- {
2639
- size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
2640
- if (__n > 0)
2641
- {
2642
- allocate(__n);
2643
- __construct_at_end(__first, __last);
2644
- }
2645
- }
2646
-
2647
- #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2648
-
2649
- template <class _Allocator>
2650
- vector<bool, _Allocator>::vector(initializer_list<value_type> __il)
2651
- : __begin_(nullptr),
2652
- __size_(0),
2653
- __cap_alloc_(0)
2654
- {
2655
- size_type __n = static_cast<size_type>(__il.size());
2656
- if (__n > 0)
2657
- {
2658
- allocate(__n);
2659
- __construct_at_end(__il.begin(), __il.end());
2660
- }
2661
- }
2662
-
2663
- template <class _Allocator>
2664
- vector<bool, _Allocator>::vector(initializer_list<value_type> __il, const allocator_type& __a)
2665
- : __begin_(nullptr),
2666
- __size_(0),
2667
- __cap_alloc_(0, static_cast<__storage_allocator>(__a))
2668
- {
2669
- size_type __n = static_cast<size_type>(__il.size());
2670
- if (__n > 0)
2671
- {
2672
- allocate(__n);
2673
- __construct_at_end(__il.begin(), __il.end());
2674
- }
2675
- }
2676
-
2677
- #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
2678
-
2679
- template <class _Allocator>
2680
- vector<bool, _Allocator>::~vector()
2681
- {
2682
- if (__begin_ != nullptr)
2683
- __storage_traits::deallocate(__alloc(), __begin_, __cap());
2684
- __invalidate_all_iterators();
2685
- }
2686
-
2687
- template <class _Allocator>
2688
- vector<bool, _Allocator>::vector(const vector& __v)
2689
- : __begin_(nullptr),
2690
- __size_(0),
2691
- __cap_alloc_(0, __storage_traits::select_on_container_copy_construction(__v.__alloc()))
2692
- {
2693
- if (__v.size() > 0)
2694
- {
2695
- allocate(__v.size());
2696
- __construct_at_end(__v.begin(), __v.end());
2697
- }
2698
- }
2699
-
2700
- template <class _Allocator>
2701
- vector<bool, _Allocator>::vector(const vector& __v, const allocator_type& __a)
2702
- : __begin_(nullptr),
2703
- __size_(0),
2704
- __cap_alloc_(0, __a)
2705
- {
2706
- if (__v.size() > 0)
2707
- {
2708
- allocate(__v.size());
2709
- __construct_at_end(__v.begin(), __v.end());
2710
- }
2711
- }
2712
-
2713
- template <class _Allocator>
2714
- vector<bool, _Allocator>&
2715
- vector<bool, _Allocator>::operator=(const vector& __v)
2716
- {
2717
- if (this != &__v)
2718
- {
2719
- __copy_assign_alloc(__v);
2720
- if (__v.__size_)
2721
- {
2722
- if (__v.__size_ > capacity())
2723
- {
2724
- deallocate();
2725
- allocate(__v.__size_);
2726
- }
2727
- _VSTD::copy(__v.__begin_, __v.__begin_ + __external_cap_to_internal(__v.__size_), __begin_);
2728
- }
2729
- __size_ = __v.__size_;
2730
- }
2731
- return *this;
2732
- }
2733
-
2734
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2735
-
2736
- template <class _Allocator>
2737
- inline _LIBCPP_INLINE_VISIBILITY
2738
- vector<bool, _Allocator>::vector(vector&& __v)
2739
- _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
2740
- : __begin_(__v.__begin_),
2741
- __size_(__v.__size_),
2742
- __cap_alloc_(__v.__cap_alloc_)
2743
- {
2744
- __v.__begin_ = nullptr;
2745
- __v.__size_ = 0;
2746
- __v.__cap() = 0;
2747
- }
2748
-
2749
- template <class _Allocator>
2750
- vector<bool, _Allocator>::vector(vector&& __v, const allocator_type& __a)
2751
- : __begin_(nullptr),
2752
- __size_(0),
2753
- __cap_alloc_(0, __a)
2754
- {
2755
- if (__a == allocator_type(__v.__alloc()))
2756
- {
2757
- this->__begin_ = __v.__begin_;
2758
- this->__size_ = __v.__size_;
2759
- this->__cap() = __v.__cap();
2760
- __v.__begin_ = nullptr;
2761
- __v.__cap() = __v.__size_ = 0;
2762
- }
2763
- else if (__v.size() > 0)
2764
- {
2765
- allocate(__v.size());
2766
- __construct_at_end(__v.begin(), __v.end());
2767
- }
2768
- }
2769
-
2770
- template <class _Allocator>
2771
- inline _LIBCPP_INLINE_VISIBILITY
2772
- vector<bool, _Allocator>&
2773
- vector<bool, _Allocator>::operator=(vector&& __v)
2774
- _NOEXCEPT_(
2775
- __alloc_traits::propagate_on_container_move_assignment::value &&
2776
- is_nothrow_move_assignable<allocator_type>::value)
2777
- {
2778
- __move_assign(__v, integral_constant<bool,
2779
- __storage_traits::propagate_on_container_move_assignment::value>());
2780
- return *this;
2781
- }
2782
-
2783
- template <class _Allocator>
2784
- void
2785
- vector<bool, _Allocator>::__move_assign(vector& __c, false_type)
2786
- {
2787
- if (__alloc() != __c.__alloc())
2788
- assign(__c.begin(), __c.end());
2789
- else
2790
- __move_assign(__c, true_type());
2791
- }
2792
-
2793
- template <class _Allocator>
2794
- void
2795
- vector<bool, _Allocator>::__move_assign(vector& __c, true_type)
2796
- _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
2797
- {
2798
- deallocate();
2799
- this->__begin_ = __c.__begin_;
2800
- this->__size_ = __c.__size_;
2801
- this->__cap() = __c.__cap();
2802
- __move_assign_alloc(__c);
2803
- __c.__begin_ = nullptr;
2804
- __c.__cap() = __c.__size_ = 0;
2805
- }
2806
-
2807
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2808
-
2809
- template <class _Allocator>
2810
- void
2811
- vector<bool, _Allocator>::assign(size_type __n, const value_type& __x)
2812
- {
2813
- __size_ = 0;
2814
- if (__n > 0)
2815
- {
2816
- size_type __c = capacity();
2817
- if (__n <= __c)
2818
- __size_ = __n;
2819
- else
2820
- {
2821
- vector __v(__alloc());
2822
- __v.reserve(__recommend(__n));
2823
- __v.__size_ = __n;
2824
- swap(__v);
2825
- }
2826
- _VSTD::fill_n(begin(), __n, __x);
2827
- }
2828
- }
2829
-
2830
- template <class _Allocator>
2831
- template <class _InputIterator>
2832
- typename enable_if
2833
- <
2834
- __is_input_iterator<_InputIterator>::value &&
2835
- !__is_forward_iterator<_InputIterator>::value,
2836
- void
2837
- >::type
2838
- vector<bool, _Allocator>::assign(_InputIterator __first, _InputIterator __last)
2839
- {
2840
- clear();
2841
- for (; __first != __last; ++__first)
2842
- push_back(*__first);
2843
- }
2844
-
2845
- template <class _Allocator>
2846
- template <class _ForwardIterator>
2847
- typename enable_if
2848
- <
2849
- __is_forward_iterator<_ForwardIterator>::value,
2850
- void
2851
- >::type
2852
- vector<bool, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last)
2853
- {
2854
- clear();
2855
- difference_type __n = _VSTD::distance(__first, __last);
2856
- if (__n)
2857
- {
2858
- if (__n > capacity())
2859
- {
2860
- deallocate();
2861
- allocate(__n);
2862
- }
2863
- __construct_at_end(__first, __last);
2864
- }
2865
- }
2866
-
2867
- template <class _Allocator>
2868
- void
2869
- vector<bool, _Allocator>::reserve(size_type __n)
2870
- {
2871
- if (__n > capacity())
2872
- {
2873
- vector __v(this->__alloc());
2874
- __v.allocate(__n);
2875
- __v.__construct_at_end(this->begin(), this->end());
2876
- swap(__v);
2877
- __invalidate_all_iterators();
2878
- }
2879
- }
2880
-
2881
- template <class _Allocator>
2882
- void
2883
- vector<bool, _Allocator>::shrink_to_fit() _NOEXCEPT
2884
- {
2885
- if (__external_cap_to_internal(size()) > __cap())
2886
- {
2887
- #ifndef _LIBCPP_NO_EXCEPTIONS
2888
- try
2889
- {
2890
- #endif // _LIBCPP_NO_EXCEPTIONS
2891
- vector(*this, allocator_type(__alloc())).swap(*this);
2892
- #ifndef _LIBCPP_NO_EXCEPTIONS
2893
- }
2894
- catch (...)
2895
- {
2896
- }
2897
- #endif // _LIBCPP_NO_EXCEPTIONS
2898
- }
2899
- }
2900
-
2901
- template <class _Allocator>
2902
- typename vector<bool, _Allocator>::reference
2903
- vector<bool, _Allocator>::at(size_type __n)
2904
- {
2905
- if (__n >= size())
2906
- this->__throw_out_of_range();
2907
- return (*this)[__n];
2908
- }
2909
-
2910
- template <class _Allocator>
2911
- typename vector<bool, _Allocator>::const_reference
2912
- vector<bool, _Allocator>::at(size_type __n) const
2913
- {
2914
- if (__n >= size())
2915
- this->__throw_out_of_range();
2916
- return (*this)[__n];
2917
- }
2918
-
2919
- template <class _Allocator>
2920
- void
2921
- vector<bool, _Allocator>::push_back(const value_type& __x)
2922
- {
2923
- if (this->__size_ == this->capacity())
2924
- reserve(__recommend(this->__size_ + 1));
2925
- ++this->__size_;
2926
- back() = __x;
2927
- }
2928
-
2929
- template <class _Allocator>
2930
- typename vector<bool, _Allocator>::iterator
2931
- vector<bool, _Allocator>::insert(const_iterator __position, const value_type& __x)
2932
- {
2933
- iterator __r;
2934
- if (size() < capacity())
2935
- {
2936
- const_iterator __old_end = end();
2937
- ++__size_;
2938
- _VSTD::copy_backward(__position, __old_end, end());
2939
- __r = __const_iterator_cast(__position);
2940
- }
2941
- else
2942
- {
2943
- vector __v(__alloc());
2944
- __v.reserve(__recommend(__size_ + 1));
2945
- __v.__size_ = __size_ + 1;
2946
- __r = _VSTD::copy(cbegin(), __position, __v.begin());
2947
- _VSTD::copy_backward(__position, cend(), __v.end());
2948
- swap(__v);
2949
- }
2950
- *__r = __x;
2951
- return __r;
2952
- }
2953
-
2954
- template <class _Allocator>
2955
- typename vector<bool, _Allocator>::iterator
2956
- vector<bool, _Allocator>::insert(const_iterator __position, size_type __n, const value_type& __x)
2957
- {
2958
- iterator __r;
2959
- size_type __c = capacity();
2960
- if (__n <= __c && size() <= __c - __n)
2961
- {
2962
- const_iterator __old_end = end();
2963
- __size_ += __n;
2964
- _VSTD::copy_backward(__position, __old_end, end());
2965
- __r = __const_iterator_cast(__position);
2966
- }
2967
- else
2968
- {
2969
- vector __v(__alloc());
2970
- __v.reserve(__recommend(__size_ + __n));
2971
- __v.__size_ = __size_ + __n;
2972
- __r = _VSTD::copy(cbegin(), __position, __v.begin());
2973
- _VSTD::copy_backward(__position, cend(), __v.end());
2974
- swap(__v);
2975
- }
2976
- _VSTD::fill_n(__r, __n, __x);
2977
- return __r;
2978
- }
2979
-
2980
- template <class _Allocator>
2981
- template <class _InputIterator>
2982
- typename enable_if
2983
- <
2984
- __is_input_iterator <_InputIterator>::value &&
2985
- !__is_forward_iterator<_InputIterator>::value,
2986
- typename vector<bool, _Allocator>::iterator
2987
- >::type
2988
- vector<bool, _Allocator>::insert(const_iterator __position, _InputIterator __first, _InputIterator __last)
2989
- {
2990
- difference_type __off = __position - begin();
2991
- iterator __p = __const_iterator_cast(__position);
2992
- iterator __old_end = end();
2993
- for (; size() != capacity() && __first != __last; ++__first)
2994
- {
2995
- ++this->__size_;
2996
- back() = *__first;
2997
- }
2998
- vector __v(__alloc());
2999
- if (__first != __last)
3000
- {
3001
- #ifndef _LIBCPP_NO_EXCEPTIONS
3002
- try
3003
- {
3004
- #endif // _LIBCPP_NO_EXCEPTIONS
3005
- __v.assign(__first, __last);
3006
- difference_type __old_size = static_cast<difference_type>(__old_end - begin());
3007
- difference_type __old_p = __p - begin();
3008
- reserve(__recommend(size() + __v.size()));
3009
- __p = begin() + __old_p;
3010
- __old_end = begin() + __old_size;
3011
- #ifndef _LIBCPP_NO_EXCEPTIONS
3012
- }
3013
- catch (...)
3014
- {
3015
- erase(__old_end, end());
3016
- throw;
3017
- }
3018
- #endif // _LIBCPP_NO_EXCEPTIONS
3019
- }
3020
- __p = _VSTD::rotate(__p, __old_end, end());
3021
- insert(__p, __v.begin(), __v.end());
3022
- return begin() + __off;
3023
- }
3024
-
3025
- template <class _Allocator>
3026
- template <class _ForwardIterator>
3027
- typename enable_if
3028
- <
3029
- __is_forward_iterator<_ForwardIterator>::value,
3030
- typename vector<bool, _Allocator>::iterator
3031
- >::type
3032
- vector<bool, _Allocator>::insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last)
3033
- {
3034
- difference_type __n = _VSTD::distance(__first, __last);
3035
- iterator __r;
3036
- size_type __c = capacity();
3037
- if (__n <= __c && size() <= __c - __n)
3038
- {
3039
- const_iterator __old_end = end();
3040
- __size_ += __n;
3041
- _VSTD::copy_backward(__position, __old_end, end());
3042
- __r = __const_iterator_cast(__position);
3043
- }
3044
- else
3045
- {
3046
- vector __v(__alloc());
3047
- __v.reserve(__recommend(__size_ + __n));
3048
- __v.__size_ = __size_ + __n;
3049
- __r = _VSTD::copy(cbegin(), __position, __v.begin());
3050
- _VSTD::copy_backward(__position, cend(), __v.end());
3051
- swap(__v);
3052
- }
3053
- _VSTD::copy(__first, __last, __r);
3054
- return __r;
3055
- }
3056
-
3057
- template <class _Allocator>
3058
- inline _LIBCPP_INLINE_VISIBILITY
3059
- typename vector<bool, _Allocator>::iterator
3060
- vector<bool, _Allocator>::erase(const_iterator __position)
3061
- {
3062
- iterator __r = __const_iterator_cast(__position);
3063
- _VSTD::copy(__position + 1, this->cend(), __r);
3064
- --__size_;
3065
- return __r;
3066
- }
3067
-
3068
- template <class _Allocator>
3069
- typename vector<bool, _Allocator>::iterator
3070
- vector<bool, _Allocator>::erase(const_iterator __first, const_iterator __last)
3071
- {
3072
- iterator __r = __const_iterator_cast(__first);
3073
- difference_type __d = __last - __first;
3074
- _VSTD::copy(__last, this->cend(), __r);
3075
- __size_ -= __d;
3076
- return __r;
3077
- }
3078
-
3079
- template <class _Allocator>
3080
- void
3081
- vector<bool, _Allocator>::swap(vector& __x)
3082
- _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
3083
- __is_nothrow_swappable<allocator_type>::value)
3084
- {
3085
- _VSTD::swap(this->__begin_, __x.__begin_);
3086
- _VSTD::swap(this->__size_, __x.__size_);
3087
- _VSTD::swap(this->__cap(), __x.__cap());
3088
- __swap_alloc(this->__alloc(), __x.__alloc());
3089
- }
3090
-
3091
- template <class _Allocator>
3092
- void
3093
- vector<bool, _Allocator>::resize(size_type __sz, value_type __x)
3094
- {
3095
- size_type __cs = size();
3096
- if (__cs < __sz)
3097
- {
3098
- iterator __r;
3099
- size_type __c = capacity();
3100
- size_type __n = __sz - __cs;
3101
- if (__n <= __c && __cs <= __c - __n)
3102
- {
3103
- __r = end();
3104
- __size_ += __n;
3105
- }
3106
- else
3107
- {
3108
- vector __v(__alloc());
3109
- __v.reserve(__recommend(__size_ + __n));
3110
- __v.__size_ = __size_ + __n;
3111
- __r = _VSTD::copy(cbegin(), cend(), __v.begin());
3112
- swap(__v);
3113
- }
3114
- _VSTD::fill_n(__r, __n, __x);
3115
- }
3116
- else
3117
- __size_ = __sz;
3118
- }
3119
-
3120
- template <class _Allocator>
3121
- void
3122
- vector<bool, _Allocator>::flip() _NOEXCEPT
3123
- {
3124
- // do middle whole words
3125
- size_type __n = __size_;
3126
- __storage_pointer __p = __begin_;
3127
- for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
3128
- *__p = ~*__p;
3129
- // do last partial word
3130
- if (__n > 0)
3131
- {
3132
- __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
3133
- __storage_type __b = *__p & __m;
3134
- *__p &= ~__m;
3135
- *__p |= ~__b & __m;
3136
- }
3137
- }
3138
-
3139
- template <class _Allocator>
3140
- bool
3141
- vector<bool, _Allocator>::__invariants() const
3142
- {
3143
- if (this->__begin_ == nullptr)
3144
- {
3145
- if (this->__size_ != 0 || this->__cap() != 0)
3146
- return false;
3147
- }
3148
- else
3149
- {
3150
- if (this->__cap() == 0)
3151
- return false;
3152
- if (this->__size_ > this->capacity())
3153
- return false;
3154
- }
3155
- return true;
3156
- }
3157
-
3158
- template <class _Allocator>
3159
- size_t
3160
- vector<bool, _Allocator>::__hash_code() const _NOEXCEPT
3161
- {
3162
- size_t __h = 0;
3163
- // do middle whole words
3164
- size_type __n = __size_;
3165
- __storage_pointer __p = __begin_;
3166
- for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
3167
- __h ^= *__p;
3168
- // do last partial word
3169
- if (__n > 0)
3170
- {
3171
- const __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
3172
- __h ^= *__p & __m;
3173
- }
3174
- return __h;
3175
- }
3176
-
3177
- template <class _Allocator>
3178
- struct _LIBCPP_TYPE_VIS_ONLY hash<vector<bool, _Allocator> >
3179
- : public unary_function<vector<bool, _Allocator>, size_t>
3180
- {
3181
- _LIBCPP_INLINE_VISIBILITY
3182
- size_t operator()(const vector<bool, _Allocator>& __vec) const _NOEXCEPT
3183
- {return __vec.__hash_code();}
3184
- };
3185
-
3186
- template <class _Tp, class _Allocator>
3187
- inline _LIBCPP_INLINE_VISIBILITY
3188
- bool
3189
- operator==(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
3190
- {
3191
- const typename vector<_Tp, _Allocator>::size_type __sz = __x.size();
3192
- return __sz == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
3193
- }
3194
-
3195
- template <class _Tp, class _Allocator>
3196
- inline _LIBCPP_INLINE_VISIBILITY
3197
- bool
3198
- operator!=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
3199
- {
3200
- return !(__x == __y);
3201
- }
3202
-
3203
- template <class _Tp, class _Allocator>
3204
- inline _LIBCPP_INLINE_VISIBILITY
3205
- bool
3206
- operator< (const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
3207
- {
3208
- return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
3209
- }
3210
-
3211
- template <class _Tp, class _Allocator>
3212
- inline _LIBCPP_INLINE_VISIBILITY
3213
- bool
3214
- operator> (const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
3215
- {
3216
- return __y < __x;
3217
- }
3218
-
3219
- template <class _Tp, class _Allocator>
3220
- inline _LIBCPP_INLINE_VISIBILITY
3221
- bool
3222
- operator>=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
3223
- {
3224
- return !(__x < __y);
3225
- }
3226
-
3227
- template <class _Tp, class _Allocator>
3228
- inline _LIBCPP_INLINE_VISIBILITY
3229
- bool
3230
- operator<=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
3231
- {
3232
- return !(__y < __x);
3233
- }
3234
-
3235
- template <class _Tp, class _Allocator>
3236
- inline _LIBCPP_INLINE_VISIBILITY
3237
- void
3238
- swap(vector<_Tp, _Allocator>& __x, vector<_Tp, _Allocator>& __y)
3239
- _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
3240
- {
3241
- __x.swap(__y);
3242
- }
3243
-
3244
- _LIBCPP_END_NAMESPACE_STD
3245
-
3246
- #endif // _LIBCPP_VECTOR