webruby 0.2.2 → 0.2.4
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.
- checksums.yaml +4 -4
- data/lib/webruby/config.rb +4 -9
- data/lib/webruby/rake/files.rake +2 -2
- data/modules/emscripten/AUTHORS +9 -1
- data/modules/emscripten/CONTRIBUTING.markdown +5 -0
- data/modules/emscripten/ChangeLog +435 -0
- data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +26 -0
- data/modules/emscripten/cmake/Platform/Emscripten.cmake +9 -2
- data/modules/emscripten/em++ +0 -2
- data/modules/emscripten/emcc +92 -32
- data/modules/emscripten/emlink.py +16 -13
- data/modules/emscripten/emmake +1 -1
- data/modules/emscripten/emrun +918 -0
- data/modules/emscripten/emrun.bat +2 -0
- data/modules/emscripten/emscripten.py +545 -20
- data/modules/emscripten/src/analyzer.js +6 -1
- data/modules/emscripten/src/compiler.js +25 -16
- data/modules/emscripten/src/emrun_postjs.js +20 -0
- data/modules/emscripten/{tests → src}/hello_world.js +0 -0
- data/modules/emscripten/src/intertyper.js +45 -16
- data/modules/emscripten/src/jsifier.js +78 -48
- data/modules/emscripten/src/library.js +381 -96
- data/modules/emscripten/src/library_browser.js +50 -53
- data/modules/emscripten/src/library_egl.js +66 -24
- data/modules/emscripten/src/library_fs.js +122 -90
- data/modules/emscripten/src/library_gl.js +739 -353
- data/modules/emscripten/src/library_glfw.js +9 -3
- data/modules/emscripten/src/library_glut.js +10 -5
- data/modules/emscripten/src/library_idbfs.js +14 -14
- data/modules/emscripten/src/library_memfs.js +65 -41
- data/modules/emscripten/src/library_nodefs.js +61 -9
- data/modules/emscripten/src/library_openal.js +4 -4
- data/modules/emscripten/src/library_path.js +9 -13
- data/modules/emscripten/src/library_sdl.js +301 -64
- data/modules/emscripten/src/library_sockfs.js +7 -5
- data/modules/emscripten/src/modules.js +62 -22
- data/modules/emscripten/src/parseTools.js +135 -102
- data/modules/emscripten/src/postamble.js +3 -4
- data/modules/emscripten/src/preamble.js +49 -29
- data/modules/emscripten/src/proxyClient.js +1 -1
- data/modules/emscripten/src/proxyWorker.js +10 -10
- data/modules/emscripten/src/relooper/Relooper.cpp +15 -4
- data/modules/emscripten/src/runtime.js +32 -8
- data/modules/emscripten/src/settings.js +25 -8
- data/modules/emscripten/src/shell.html +6 -3
- data/modules/emscripten/src/shell.js +13 -11
- data/modules/emscripten/src/simd.js +602 -432
- data/modules/emscripten/src/struct_info.json +22 -2
- data/modules/emscripten/src/utility.js +32 -17
- data/modules/emscripten/system/include/SDL/SDL_events.h +1 -0
- data/modules/emscripten/system/include/compat/ctype.h +17 -0
- data/modules/emscripten/system/include/compat/wchar.h +23 -0
- data/modules/emscripten/system/include/compat/wctype.h +23 -0
- data/modules/emscripten/system/include/emscripten/emmintrin.h +87 -0
- data/modules/emscripten/system/include/emscripten/emscripten.h +30 -4
- data/modules/emscripten/system/include/emscripten/vector.h +29 -1
- data/modules/emscripten/system/include/emscripten/xmmintrin.h +131 -0
- data/modules/emscripten/system/include/libcxx/CREDITS.TXT +9 -1
- data/modules/emscripten/system/include/libcxx/__bit_reference +8 -8
- data/modules/emscripten/system/include/libcxx/__config +95 -17
- data/modules/emscripten/system/include/libcxx/__debug +25 -4
- data/modules/emscripten/system/include/libcxx/__functional_03 +7 -7
- data/modules/emscripten/system/include/libcxx/__functional_base +169 -9
- data/modules/emscripten/system/include/libcxx/__functional_base_03 +1 -1
- data/modules/emscripten/system/include/libcxx/__hash_table +25 -25
- data/modules/emscripten/system/include/libcxx/__locale +21 -19
- data/modules/emscripten/system/include/libcxx/__mutex_base +2 -33
- data/modules/emscripten/system/include/libcxx/__split_buffer +9 -9
- data/modules/emscripten/system/include/libcxx/__std_stream +14 -0
- data/modules/emscripten/system/include/libcxx/__tree +35 -26
- data/modules/emscripten/system/include/libcxx/__tuple +15 -15
- data/modules/emscripten/system/include/libcxx/__tuple_03 +2 -2
- data/modules/emscripten/system/include/libcxx/__undef_min_max +8 -0
- data/modules/emscripten/system/include/libcxx/algorithm +121 -110
- data/modules/emscripten/system/include/libcxx/array +15 -15
- data/modules/emscripten/system/include/libcxx/bitset +4 -4
- data/modules/emscripten/system/include/libcxx/chrono +51 -17
- data/modules/emscripten/system/include/libcxx/cmath +25 -23
- data/modules/emscripten/system/include/libcxx/codecvt +21 -18
- data/modules/emscripten/system/include/libcxx/complex +48 -7
- data/modules/emscripten/system/include/libcxx/cstddef +1 -1
- data/modules/emscripten/system/include/libcxx/cstdio +8 -1
- data/modules/emscripten/system/include/libcxx/cstdlib +1 -1
- data/modules/emscripten/system/include/libcxx/cwchar +1 -1
- data/modules/emscripten/system/include/libcxx/deque +26 -12
- data/modules/emscripten/system/include/libcxx/dynarray +311 -0
- data/modules/emscripten/system/include/libcxx/exception +4 -4
- data/modules/emscripten/system/include/libcxx/ext/__hash +3 -3
- data/modules/emscripten/system/include/libcxx/ext/hash_map +19 -15
- data/modules/emscripten/system/include/libcxx/ext/hash_set +7 -3
- data/modules/emscripten/system/include/libcxx/forward_list +33 -7
- data/modules/emscripten/system/include/libcxx/fstream +4 -4
- data/modules/emscripten/system/include/libcxx/functional +200 -170
- data/modules/emscripten/system/include/libcxx/future +83 -39
- data/modules/emscripten/system/include/libcxx/initializer_list +24 -11
- data/modules/emscripten/system/include/libcxx/iomanip +147 -0
- data/modules/emscripten/system/include/libcxx/ios +24 -16
- data/modules/emscripten/system/include/libcxx/iosfwd +19 -19
- data/modules/emscripten/system/include/libcxx/istream +13 -8
- data/modules/emscripten/system/include/libcxx/iterator +108 -417
- data/modules/emscripten/system/include/libcxx/limits +8 -4
- data/modules/emscripten/system/include/libcxx/list +28 -8
- data/modules/emscripten/system/include/libcxx/locale +153 -390
- data/modules/emscripten/system/include/libcxx/map +280 -100
- data/modules/emscripten/system/include/libcxx/memory +49 -97
- data/modules/emscripten/system/include/libcxx/mutex +2 -2
- data/modules/emscripten/system/include/libcxx/new +43 -14
- data/modules/emscripten/system/include/libcxx/numeric +2 -2
- data/modules/emscripten/system/include/libcxx/optional +697 -0
- data/modules/emscripten/system/include/libcxx/ostream +17 -8
- data/modules/emscripten/system/include/libcxx/queue +5 -5
- data/modules/emscripten/system/include/libcxx/random +53 -51
- data/modules/emscripten/system/include/libcxx/ratio +11 -11
- data/modules/emscripten/system/include/libcxx/readme.txt +1 -1
- data/modules/emscripten/system/include/libcxx/regex +23 -20
- data/modules/emscripten/system/include/libcxx/scoped_allocator +1 -1
- data/modules/emscripten/system/include/libcxx/set +166 -2
- data/modules/emscripten/system/include/libcxx/shared_mutex +419 -0
- data/modules/emscripten/system/include/libcxx/sstream +4 -4
- data/modules/emscripten/system/include/libcxx/stack +3 -3
- data/modules/emscripten/system/include/libcxx/streambuf +5 -5
- data/modules/emscripten/system/include/libcxx/string +372 -324
- data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +99 -0
- data/modules/emscripten/system/include/libcxx/support/ibm/support.h +54 -0
- data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +326 -0
- data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +6 -6
- data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +15 -15
- data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +2 -0
- data/modules/emscripten/system/include/libcxx/support/win32/support.h +6 -1
- data/modules/emscripten/system/include/libcxx/system_error +14 -8
- data/modules/emscripten/system/include/libcxx/thread +7 -8
- data/modules/emscripten/system/include/libcxx/tuple +29 -88
- data/modules/emscripten/system/include/libcxx/type_traits +253 -209
- data/modules/emscripten/system/include/libcxx/typeindex +3 -3
- data/modules/emscripten/system/include/libcxx/unordered_map +162 -101
- data/modules/emscripten/system/include/libcxx/unordered_set +79 -2
- data/modules/emscripten/system/include/libcxx/utility +20 -20
- data/modules/emscripten/system/include/libcxx/valarray +23 -23
- data/modules/emscripten/system/include/libcxx/vector +114 -91
- data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +3352 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +35 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +1011 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +158 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +231 -0
- data/modules/emscripten/system/lib/libcextra.symbols +7 -0
- data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +9 -1
- data/modules/emscripten/system/lib/libcxx/algorithm.cpp +1 -0
- data/modules/emscripten/system/lib/libcxx/debug.cpp +66 -42
- data/modules/emscripten/system/lib/libcxx/exception.cpp +88 -16
- data/modules/emscripten/system/lib/libcxx/future.cpp +6 -0
- data/modules/emscripten/system/lib/libcxx/ios.cpp +7 -2
- data/modules/emscripten/system/lib/libcxx/iostream.cpp +8 -8
- data/modules/emscripten/system/lib/libcxx/locale.cpp +38 -11
- data/modules/emscripten/system/lib/libcxx/mutex.cpp +3 -0
- data/modules/emscripten/system/lib/libcxx/new.cpp +44 -10
- data/modules/emscripten/system/lib/libcxx/optional.cpp +25 -0
- data/modules/emscripten/system/lib/libcxx/random.cpp +26 -0
- data/modules/emscripten/system/lib/libcxx/readme.txt +1 -1
- data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +101 -0
- data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +11 -7
- data/modules/emscripten/system/lib/libcxx/string.cpp +3 -1
- data/modules/emscripten/system/lib/libcxx/strstream.cpp +7 -7
- data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +12 -13
- data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +33 -36
- data/modules/emscripten/system/lib/libcxx/symbols +187 -168
- data/modules/emscripten/system/lib/libcxx/system_error.cpp +1 -0
- data/modules/emscripten/system/lib/libcxx/thread.cpp +7 -3
- data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +9 -6
- data/modules/emscripten/system/lib/libcxx/valarray.cpp +2 -0
- data/modules/emscripten/third_party/lzma.js/doit.bat +4 -0
- data/modules/emscripten/third_party/lzma.js/doit.sh +9 -2
- data/modules/emscripten/tools/cache.py +5 -7
- data/modules/emscripten/tools/cache.pyc +0 -0
- data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +7 -0
- data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +9 -1
- data/modules/emscripten/tools/eliminator/eliminator-test-output.js +3 -0
- data/modules/emscripten/tools/eliminator/eliminator-test.js +9 -1
- data/modules/emscripten/tools/file_packager.py +93 -50
- data/modules/emscripten/tools/js-optimizer.js +98 -48
- data/modules/emscripten/tools/js_optimizer.py +4 -4
- data/modules/emscripten/tools/js_optimizer.pyc +0 -0
- data/modules/emscripten/tools/jsrun.py +1 -1
- data/modules/emscripten/tools/jsrun.pyc +0 -0
- data/modules/emscripten/tools/response_file.py +6 -0
- data/modules/emscripten/tools/response_file.pyc +0 -0
- data/modules/emscripten/tools/settings_template_readonly.py +2 -0
- data/modules/emscripten/tools/shared.py +88 -34
- data/modules/emscripten/tools/shared.pyc +0 -0
- data/modules/emscripten/tools/split.py +21 -13
- data/modules/mruby/build_config.rb +7 -1
- data/modules/mruby/doc/compile/README.md +5 -9
- data/modules/mruby/include/mrbconf.h +5 -2
- data/modules/mruby/include/mruby/array.h +1 -0
- data/modules/mruby/include/mruby/compile.h +2 -4
- data/modules/mruby/include/mruby/dump.h +7 -16
- data/modules/mruby/include/mruby/hash.h +1 -1
- data/modules/mruby/include/mruby/irep.h +14 -2
- data/modules/mruby/include/mruby/khash.h +8 -7
- data/modules/mruby/include/mruby/string.h +1 -0
- data/modules/mruby/include/mruby/value.h +5 -2
- data/modules/mruby/include/mruby.h +12 -13
- data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +16 -6
- data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +18 -30
- data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +21 -0
- data/modules/mruby/mrbgems/mruby-math/src/math.c +1 -1
- data/modules/mruby/mrbgems/mruby-random/src/random.c +144 -47
- data/modules/mruby/mrbgems/mruby-random/test/random.rb +44 -0
- data/modules/mruby/mrbgems/mruby-struct/src/struct.c +5 -5
- data/modules/mruby/mrblib/numeric.rb +99 -33
- data/modules/mruby/src/array.c +11 -4
- data/modules/mruby/src/backtrace.c +2 -2
- data/modules/mruby/src/class.c +49 -30
- data/modules/mruby/src/codegen.c +131 -79
- data/modules/mruby/src/debug.c +1 -1
- data/modules/mruby/src/dump.c +213 -163
- data/modules/mruby/src/error.c +17 -17
- data/modules/mruby/src/error.h +1 -1
- data/modules/mruby/src/etc.c +10 -0
- data/modules/mruby/src/gc.c +35 -17
- data/modules/mruby/src/hash.c +5 -5
- data/modules/mruby/src/kernel.c +36 -14
- data/modules/mruby/src/load.c +238 -296
- data/modules/mruby/src/numeric.c +18 -98
- data/modules/mruby/src/object.c +3 -5
- data/modules/mruby/src/parse.y +63 -56
- data/modules/mruby/src/proc.c +8 -5
- data/modules/mruby/src/re.h +0 -1
- data/modules/mruby/src/state.c +65 -27
- data/modules/mruby/src/string.c +3 -31
- data/modules/mruby/src/symbol.c +3 -3
- data/modules/mruby/src/variable.c +12 -5
- data/modules/mruby/src/vm.c +90 -72
- data/modules/mruby/tasks/mruby_build.rake +10 -1
- data/modules/mruby/tasks/toolchains/gcc.rake +12 -2
- data/modules/mruby/tasks/toolchains/{vs2012.rake → visualcpp.rake} +1 -1
- data/modules/mruby/test/driver.c +3 -3
- data/modules/mruby/test/t/array.rb +5 -5
- data/modules/mruby/test/t/class.rb +14 -1
- data/modules/mruby/test/t/kernel.rb +4 -0
- data/modules/mruby/test/t/module.rb +4 -4
- data/modules/mruby/test/t/nameerror.rb +1 -1
- data/modules/mruby/tools/mrbc/mrbc.c +23 -17
- data/modules/mruby/travis_config.rb +10 -1
- metadata +28 -5
- data/modules/mruby/tasks/toolchains/vs2010.rake +0 -3
@@ -206,7 +206,11 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
|
|
206
206
|
#include <ext/__hash>
|
207
207
|
|
208
208
|
#if __DEPRECATED
|
209
|
-
#
|
209
|
+
#if defined(_MSC_VER) && ! defined(__clang__)
|
210
|
+
_LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>")
|
211
|
+
#else
|
212
|
+
# warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>
|
213
|
+
#endif
|
210
214
|
#endif
|
211
215
|
|
212
216
|
#pragma GCC system_header
|
@@ -361,7 +365,7 @@ public:
|
|
361
365
|
};
|
362
366
|
|
363
367
|
template <class _HashIterator>
|
364
|
-
class
|
368
|
+
class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator
|
365
369
|
{
|
366
370
|
_HashIterator __i_;
|
367
371
|
|
@@ -404,15 +408,15 @@ public:
|
|
404
408
|
bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
|
405
409
|
{return __x.__i_ != __y.__i_;}
|
406
410
|
|
407
|
-
template <class, class, class, class, class> friend class
|
408
|
-
template <class, class, class, class, class> friend class
|
409
|
-
template <class> friend class
|
410
|
-
template <class> friend class
|
411
|
-
template <class> friend class
|
411
|
+
template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY hash_map;
|
412
|
+
template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY hash_multimap;
|
413
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator;
|
414
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator;
|
415
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator;
|
412
416
|
};
|
413
417
|
|
414
418
|
template <class _HashIterator>
|
415
|
-
class
|
419
|
+
class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator
|
416
420
|
{
|
417
421
|
_HashIterator __i_;
|
418
422
|
|
@@ -463,15 +467,15 @@ public:
|
|
463
467
|
bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
|
464
468
|
{return __x.__i_ != __y.__i_;}
|
465
469
|
|
466
|
-
template <class, class, class, class, class> friend class
|
467
|
-
template <class, class, class, class, class> friend class
|
468
|
-
template <class> friend class
|
469
|
-
template <class> friend class
|
470
|
+
template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY hash_map;
|
471
|
+
template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY hash_multimap;
|
472
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator;
|
473
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator;
|
470
474
|
};
|
471
475
|
|
472
476
|
template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = equal_to<_Key>,
|
473
477
|
class _Alloc = allocator<pair<const _Key, _Tp> > >
|
474
|
-
class
|
478
|
+
class _LIBCPP_TYPE_VIS_ONLY hash_map
|
475
479
|
{
|
476
480
|
public:
|
477
481
|
// types
|
@@ -684,7 +688,7 @@ hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(const key_type& __k)
|
|
684
688
|
__h.get_deleter().__first_constructed = true;
|
685
689
|
__node_traits::construct(__na, _VSTD::addressof(__h->__value_.second));
|
686
690
|
__h.get_deleter().__second_constructed = true;
|
687
|
-
return _VSTD::move(__h);
|
691
|
+
return _VSTD::move(__h); // explicitly moved for C++03
|
688
692
|
}
|
689
693
|
|
690
694
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
@@ -750,7 +754,7 @@ operator!=(const hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
|
|
750
754
|
|
751
755
|
template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = equal_to<_Key>,
|
752
756
|
class _Alloc = allocator<pair<const _Key, _Tp> > >
|
753
|
-
class
|
757
|
+
class _LIBCPP_TYPE_VIS_ONLY hash_multimap
|
754
758
|
{
|
755
759
|
public:
|
756
760
|
// types
|
@@ -199,7 +199,11 @@ template <class Value, class Hash, class Pred, class Alloc>
|
|
199
199
|
#include <ext/__hash>
|
200
200
|
|
201
201
|
#if __DEPRECATED
|
202
|
-
#
|
202
|
+
#if defined(_MSC_VER) && ! defined(__clang__)
|
203
|
+
_LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>")
|
204
|
+
#else
|
205
|
+
# warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>
|
206
|
+
#endif
|
203
207
|
#endif
|
204
208
|
|
205
209
|
namespace __gnu_cxx {
|
@@ -208,7 +212,7 @@ using namespace std;
|
|
208
212
|
|
209
213
|
template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>,
|
210
214
|
class _Alloc = allocator<_Value> >
|
211
|
-
class
|
215
|
+
class _LIBCPP_TYPE_VIS_ONLY hash_set
|
212
216
|
{
|
213
217
|
public:
|
214
218
|
// types
|
@@ -429,7 +433,7 @@ operator!=(const hash_set<_Value, _Hash, _Pred, _Alloc>& __x,
|
|
429
433
|
|
430
434
|
template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>,
|
431
435
|
class _Alloc = allocator<_Value> >
|
432
|
-
class
|
436
|
+
class _LIBCPP_TYPE_VIS_ONLY hash_multiset
|
433
437
|
{
|
434
438
|
public:
|
435
439
|
// types
|
@@ -38,6 +38,7 @@ public:
|
|
38
38
|
noexcept(is_nothrow_default_constructible<allocator_type>::value);
|
39
39
|
explicit forward_list(const allocator_type& a);
|
40
40
|
explicit forward_list(size_type n);
|
41
|
+
explicit forward_list(size_type n, const allocator_type& a); // C++14
|
41
42
|
forward_list(size_type n, const value_type& v);
|
42
43
|
forward_list(size_type n, const value_type& v, const allocator_type& a);
|
43
44
|
template <class InputIterator>
|
@@ -212,11 +213,11 @@ struct __forward_list_node
|
|
212
213
|
value_type __value_;
|
213
214
|
};
|
214
215
|
|
215
|
-
template<class _Tp, class _Alloc> class
|
216
|
-
template<class _NodeConstPtr> class
|
216
|
+
template<class _Tp, class _Alloc> class _LIBCPP_TYPE_VIS_ONLY forward_list;
|
217
|
+
template<class _NodeConstPtr> class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator;
|
217
218
|
|
218
219
|
template <class _NodePtr>
|
219
|
-
class
|
220
|
+
class _LIBCPP_TYPE_VIS_ONLY __forward_list_iterator
|
220
221
|
{
|
221
222
|
typedef _NodePtr __node_pointer;
|
222
223
|
|
@@ -225,8 +226,8 @@ class _LIBCPP_TYPE_VIS __forward_list_iterator
|
|
225
226
|
_LIBCPP_INLINE_VISIBILITY
|
226
227
|
explicit __forward_list_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
|
227
228
|
|
228
|
-
template<class, class> friend class
|
229
|
-
template<class> friend class
|
229
|
+
template<class, class> friend class _LIBCPP_TYPE_VIS_ONLY forward_list;
|
230
|
+
template<class> friend class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator;
|
230
231
|
|
231
232
|
public:
|
232
233
|
typedef forward_iterator_tag iterator_category;
|
@@ -276,7 +277,7 @@ public:
|
|
276
277
|
};
|
277
278
|
|
278
279
|
template <class _NodeConstPtr>
|
279
|
-
class
|
280
|
+
class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator
|
280
281
|
{
|
281
282
|
typedef _NodeConstPtr __node_const_pointer;
|
282
283
|
|
@@ -542,7 +543,7 @@ __forward_list_base<_Tp, _Alloc>::clear() _NOEXCEPT
|
|
542
543
|
}
|
543
544
|
|
544
545
|
template <class _Tp, class _Alloc = allocator<_Tp> >
|
545
|
-
class
|
546
|
+
class _LIBCPP_TYPE_VIS_ONLY forward_list
|
546
547
|
: private __forward_list_base<_Tp, _Alloc>
|
547
548
|
{
|
548
549
|
typedef __forward_list_base<_Tp, _Alloc> base;
|
@@ -571,6 +572,9 @@ public:
|
|
571
572
|
{} // = default;
|
572
573
|
explicit forward_list(const allocator_type& __a);
|
573
574
|
explicit forward_list(size_type __n);
|
575
|
+
#if _LIBCPP_STD_VER > 11
|
576
|
+
explicit forward_list(size_type __n, const allocator_type& __a);
|
577
|
+
#endif
|
574
578
|
forward_list(size_type __n, const value_type& __v);
|
575
579
|
forward_list(size_type __n, const value_type& __v, const allocator_type& __a);
|
576
580
|
template <class _InputIterator>
|
@@ -794,6 +798,28 @@ forward_list<_Tp, _Alloc>::forward_list(size_type __n)
|
|
794
798
|
}
|
795
799
|
}
|
796
800
|
|
801
|
+
#if _LIBCPP_STD_VER > 11
|
802
|
+
template <class _Tp, class _Alloc>
|
803
|
+
forward_list<_Tp, _Alloc>::forward_list(size_type __n, const allocator_type& __a)
|
804
|
+
: base ( __a )
|
805
|
+
{
|
806
|
+
if (__n > 0)
|
807
|
+
{
|
808
|
+
__node_allocator& __a = base::__alloc();
|
809
|
+
typedef __allocator_destructor<__node_allocator> _Dp;
|
810
|
+
unique_ptr<__node, _Dp> __h(nullptr, _Dp(__a, 1));
|
811
|
+
for (__node_pointer __p = base::__before_begin(); __n > 0; --__n,
|
812
|
+
__p = __p->__next_)
|
813
|
+
{
|
814
|
+
__h.reset(__node_traits::allocate(__a, 1));
|
815
|
+
__node_traits::construct(__a, _VSTD::addressof(__h->__value_));
|
816
|
+
__h->__next_ = nullptr;
|
817
|
+
__p->__next_ = __h.release();
|
818
|
+
}
|
819
|
+
}
|
820
|
+
}
|
821
|
+
#endif
|
822
|
+
|
797
823
|
template <class _Tp, class _Alloc>
|
798
824
|
forward_list<_Tp, _Alloc>::forward_list(size_type __n, const value_type& __v)
|
799
825
|
{
|
@@ -180,7 +180,7 @@ typedef basic_fstream<wchar_t> wfstream;
|
|
180
180
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
181
181
|
|
182
182
|
template <class _CharT, class _Traits>
|
183
|
-
class
|
183
|
+
class _LIBCPP_TYPE_VIS_ONLY basic_filebuf
|
184
184
|
: public basic_streambuf<_CharT, _Traits>
|
185
185
|
{
|
186
186
|
public:
|
@@ -994,7 +994,7 @@ basic_filebuf<_CharT, _Traits>::__write_mode()
|
|
994
994
|
// basic_ifstream
|
995
995
|
|
996
996
|
template <class _CharT, class _Traits>
|
997
|
-
class
|
997
|
+
class _LIBCPP_TYPE_VIS_ONLY basic_ifstream
|
998
998
|
: public basic_istream<_CharT, _Traits>
|
999
999
|
{
|
1000
1000
|
public:
|
@@ -1139,7 +1139,7 @@ basic_ifstream<_CharT, _Traits>::close()
|
|
1139
1139
|
// basic_ofstream
|
1140
1140
|
|
1141
1141
|
template <class _CharT, class _Traits>
|
1142
|
-
class
|
1142
|
+
class _LIBCPP_TYPE_VIS_ONLY basic_ofstream
|
1143
1143
|
: public basic_ostream<_CharT, _Traits>
|
1144
1144
|
{
|
1145
1145
|
public:
|
@@ -1284,7 +1284,7 @@ basic_ofstream<_CharT, _Traits>::close()
|
|
1284
1284
|
// basic_fstream
|
1285
1285
|
|
1286
1286
|
template <class _CharT, class _Traits>
|
1287
|
-
class
|
1287
|
+
class _LIBCPP_TYPE_VIS_ONLY basic_fstream
|
1288
1288
|
: public basic_iostream<_CharT, _Traits>
|
1289
1289
|
{
|
1290
1290
|
public:
|