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
@@ -90,7 +90,7 @@ struct allocator_traits
|
|
90
90
|
template <class T>
|
91
91
|
static void destroy(allocator_type& a, T* p);
|
92
92
|
|
93
|
-
static size_type max_size(const allocator_type& a);
|
93
|
+
static size_type max_size(const allocator_type& a); // noexcept in C++14
|
94
94
|
|
95
95
|
static allocator_type
|
96
96
|
select_on_container_copy_construction(const allocator_type& a);
|
@@ -496,8 +496,8 @@ public:
|
|
496
496
|
long use_count() const noexcept;
|
497
497
|
bool expired() const noexcept;
|
498
498
|
shared_ptr<T> lock() const noexcept;
|
499
|
-
template<class U> bool owner_before(shared_ptr<U> const& b);
|
500
|
-
template<class U> bool owner_before(weak_ptr<U> const& b);
|
499
|
+
template<class U> bool owner_before(shared_ptr<U> const& b) const;
|
500
|
+
template<class U> bool owner_before(weak_ptr<U> const& b) const;
|
501
501
|
};
|
502
502
|
|
503
503
|
// weak_ptr specialized algorithms:
|
@@ -618,60 +618,12 @@ void* align(size_t alignment, size_t size, void*& ptr, size_t& space);
|
|
618
618
|
|
619
619
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
620
620
|
|
621
|
-
// addressof
|
622
|
-
|
623
|
-
template <class _Tp>
|
624
|
-
inline _LIBCPP_INLINE_VISIBILITY
|
625
|
-
_Tp*
|
626
|
-
addressof(_Tp& __x) _NOEXCEPT
|
627
|
-
{
|
628
|
-
return (_Tp*)&reinterpret_cast<const volatile char&>(__x);
|
629
|
-
}
|
630
|
-
|
631
|
-
#if defined(_LIBCPP_HAS_OBJC_ARC) && !defined(_LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF)
|
632
|
-
// Objective-C++ Automatic Reference Counting uses qualified pointers
|
633
|
-
// that require special addressof() signatures. When
|
634
|
-
// _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF is defined, the compiler
|
635
|
-
// itself is providing these definitions. Otherwise, we provide them.
|
636
|
-
template <class _Tp>
|
637
|
-
inline _LIBCPP_INLINE_VISIBILITY
|
638
|
-
__strong _Tp*
|
639
|
-
addressof(__strong _Tp& __x) _NOEXCEPT
|
640
|
-
{
|
641
|
-
return &__x;
|
642
|
-
}
|
643
|
-
|
644
|
-
#ifdef _LIBCPP_HAS_OBJC_ARC_WEAK
|
645
|
-
template <class _Tp>
|
646
|
-
inline _LIBCPP_INLINE_VISIBILITY
|
647
|
-
__weak _Tp*
|
648
|
-
addressof(__weak _Tp& __x) _NOEXCEPT
|
649
|
-
{
|
650
|
-
return &__x;
|
651
|
-
}
|
652
|
-
#endif
|
653
|
-
|
654
|
-
template <class _Tp>
|
655
|
-
inline _LIBCPP_INLINE_VISIBILITY
|
656
|
-
__autoreleasing _Tp*
|
657
|
-
addressof(__autoreleasing _Tp& __x) _NOEXCEPT
|
658
|
-
{
|
659
|
-
return &__x;
|
660
|
-
}
|
661
|
-
|
662
|
-
template <class _Tp>
|
663
|
-
inline _LIBCPP_INLINE_VISIBILITY
|
664
|
-
__unsafe_unretained _Tp*
|
665
|
-
addressof(__unsafe_unretained _Tp& __x) _NOEXCEPT
|
666
|
-
{
|
667
|
-
return &__x;
|
668
|
-
}
|
669
|
-
#endif
|
621
|
+
// addressof moved to <__functional_base>
|
670
622
|
|
671
623
|
template <class _Tp> class allocator;
|
672
624
|
|
673
625
|
template <>
|
674
|
-
class
|
626
|
+
class _LIBCPP_TYPE_VIS_ONLY allocator<void>
|
675
627
|
{
|
676
628
|
public:
|
677
629
|
typedef void* pointer;
|
@@ -682,7 +634,7 @@ public:
|
|
682
634
|
};
|
683
635
|
|
684
636
|
template <>
|
685
|
-
class
|
637
|
+
class _LIBCPP_TYPE_VIS_ONLY allocator<const void>
|
686
638
|
{
|
687
639
|
public:
|
688
640
|
typedef const void* pointer;
|
@@ -917,7 +869,7 @@ struct __pointer_traits_rebind<_Sp<_Tp, _A0, _A1, _A2>, _Up, false>
|
|
917
869
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
918
870
|
|
919
871
|
template <class _Ptr>
|
920
|
-
struct
|
872
|
+
struct _LIBCPP_TYPE_VIS_ONLY pointer_traits
|
921
873
|
{
|
922
874
|
typedef _Ptr pointer;
|
923
875
|
typedef typename __pointer_traits_element_type<pointer>::type element_type;
|
@@ -940,7 +892,7 @@ public:
|
|
940
892
|
};
|
941
893
|
|
942
894
|
template <class _Tp>
|
943
|
-
struct
|
895
|
+
struct _LIBCPP_TYPE_VIS_ONLY pointer_traits<_Tp*>
|
944
896
|
{
|
945
897
|
typedef _Tp* pointer;
|
946
898
|
typedef _Tp element_type;
|
@@ -965,13 +917,13 @@ public:
|
|
965
917
|
|
966
918
|
namespace __has_pointer_type_imp
|
967
919
|
{
|
968
|
-
template <class _Up> static __two
|
969
|
-
template <class _Up> static char
|
920
|
+
template <class _Up> static __two __test(...);
|
921
|
+
template <class _Up> static char __test(typename _Up::pointer* = 0);
|
970
922
|
}
|
971
923
|
|
972
924
|
template <class _Tp>
|
973
925
|
struct __has_pointer_type
|
974
|
-
: public integral_constant<bool, sizeof(__has_pointer_type_imp::
|
926
|
+
: public integral_constant<bool, sizeof(__has_pointer_type_imp::__test<_Tp>(0)) == 1>
|
975
927
|
{
|
976
928
|
};
|
977
929
|
|
@@ -1447,7 +1399,7 @@ struct __alloc_traits_difference_type<_Alloc, _Ptr, true>
|
|
1447
1399
|
};
|
1448
1400
|
|
1449
1401
|
template <class _Alloc>
|
1450
|
-
struct
|
1402
|
+
struct _LIBCPP_TYPE_VIS_ONLY allocator_traits
|
1451
1403
|
{
|
1452
1404
|
typedef _Alloc allocator_type;
|
1453
1405
|
typedef typename allocator_type::value_type value_type;
|
@@ -1531,7 +1483,7 @@ struct _LIBCPP_TYPE_VIS allocator_traits
|
|
1531
1483
|
{__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
|
1532
1484
|
|
1533
1485
|
_LIBCPP_INLINE_VISIBILITY
|
1534
|
-
static size_type max_size(const allocator_type& __a)
|
1486
|
+
static size_type max_size(const allocator_type& __a) _NOEXCEPT
|
1535
1487
|
{return __max_size(__has_max_size<const allocator_type>(), __a);}
|
1536
1488
|
|
1537
1489
|
_LIBCPP_INLINE_VISIBILITY
|
@@ -1653,7 +1605,7 @@ private:
|
|
1653
1605
|
// allocator
|
1654
1606
|
|
1655
1607
|
template <class _Tp>
|
1656
|
-
class
|
1608
|
+
class _LIBCPP_TYPE_VIS_ONLY allocator
|
1657
1609
|
{
|
1658
1610
|
public:
|
1659
1611
|
typedef size_t size_type;
|
@@ -1745,7 +1697,7 @@ public:
|
|
1745
1697
|
};
|
1746
1698
|
|
1747
1699
|
template <class _Tp>
|
1748
|
-
class
|
1700
|
+
class _LIBCPP_TYPE_VIS_ONLY allocator<const _Tp>
|
1749
1701
|
{
|
1750
1702
|
public:
|
1751
1703
|
typedef size_t size_type;
|
@@ -1843,7 +1795,7 @@ inline _LIBCPP_INLINE_VISIBILITY
|
|
1843
1795
|
bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return false;}
|
1844
1796
|
|
1845
1797
|
template <class _OutputIterator, class _Tp>
|
1846
|
-
class
|
1798
|
+
class _LIBCPP_TYPE_VIS_ONLY raw_storage_iterator
|
1847
1799
|
: public iterator<output_iterator_tag,
|
1848
1800
|
_Tp, // purposefully not C++03
|
1849
1801
|
ptrdiff_t, // purposefully not C++03
|
@@ -1896,7 +1848,7 @@ struct auto_ptr_ref
|
|
1896
1848
|
};
|
1897
1849
|
|
1898
1850
|
template<class _Tp>
|
1899
|
-
class
|
1851
|
+
class _LIBCPP_TYPE_VIS_ONLY auto_ptr
|
1900
1852
|
{
|
1901
1853
|
private:
|
1902
1854
|
_Tp* __ptr_;
|
@@ -1940,7 +1892,7 @@ public:
|
|
1940
1892
|
};
|
1941
1893
|
|
1942
1894
|
template <>
|
1943
|
-
class
|
1895
|
+
class _LIBCPP_TYPE_VIS_ONLY auto_ptr<void>
|
1944
1896
|
{
|
1945
1897
|
public:
|
1946
1898
|
typedef void element_type;
|
@@ -2476,7 +2428,7 @@ struct __same_or_less_cv_qualified<_Ptr1, _Ptr2, true>
|
|
2476
2428
|
// default_delete
|
2477
2429
|
|
2478
2430
|
template <class _Tp>
|
2479
|
-
struct
|
2431
|
+
struct _LIBCPP_TYPE_VIS_ONLY default_delete
|
2480
2432
|
{
|
2481
2433
|
#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
|
2482
2434
|
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR default_delete() _NOEXCEPT = default;
|
@@ -2495,7 +2447,7 @@ struct _LIBCPP_TYPE_VIS default_delete
|
|
2495
2447
|
};
|
2496
2448
|
|
2497
2449
|
template <class _Tp>
|
2498
|
-
struct
|
2450
|
+
struct _LIBCPP_TYPE_VIS_ONLY default_delete<_Tp[]>
|
2499
2451
|
{
|
2500
2452
|
public:
|
2501
2453
|
#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
|
@@ -2518,7 +2470,7 @@ public:
|
|
2518
2470
|
};
|
2519
2471
|
|
2520
2472
|
template <class _Tp, class _Dp = default_delete<_Tp> >
|
2521
|
-
class
|
2473
|
+
class _LIBCPP_TYPE_VIS_ONLY unique_ptr
|
2522
2474
|
{
|
2523
2475
|
public:
|
2524
2476
|
typedef _Tp element_type;
|
@@ -2697,7 +2649,7 @@ public:
|
|
2697
2649
|
};
|
2698
2650
|
|
2699
2651
|
template <class _Tp, class _Dp>
|
2700
|
-
class
|
2652
|
+
class _LIBCPP_TYPE_VIS_ONLY unique_ptr<_Tp[], _Dp>
|
2701
2653
|
{
|
2702
2654
|
public:
|
2703
2655
|
typedef _Tp element_type;
|
@@ -3452,7 +3404,7 @@ struct __scalar_hash<_Tp, 4>
|
|
3452
3404
|
};
|
3453
3405
|
|
3454
3406
|
template<class _Tp>
|
3455
|
-
struct
|
3407
|
+
struct _LIBCPP_TYPE_VIS_ONLY hash<_Tp*>
|
3456
3408
|
: public unary_function<_Tp*, size_t>
|
3457
3409
|
{
|
3458
3410
|
_LIBCPP_INLINE_VISIBILITY
|
@@ -3469,7 +3421,7 @@ struct _LIBCPP_TYPE_VIS hash<_Tp*>
|
|
3469
3421
|
};
|
3470
3422
|
|
3471
3423
|
template <class _Tp, class _Dp>
|
3472
|
-
struct
|
3424
|
+
struct _LIBCPP_TYPE_VIS_ONLY hash<unique_ptr<_Tp, _Dp> >
|
3473
3425
|
{
|
3474
3426
|
typedef unique_ptr<_Tp, _Dp> argument_type;
|
3475
3427
|
typedef size_t result_type;
|
@@ -3642,9 +3594,9 @@ public:
|
|
3642
3594
|
virtual const char* what() const _NOEXCEPT;
|
3643
3595
|
};
|
3644
3596
|
|
3645
|
-
template<class _Tp> class
|
3597
|
+
template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY weak_ptr;
|
3646
3598
|
|
3647
|
-
class __shared_count
|
3599
|
+
class _LIBCPP_TYPE_VIS __shared_count
|
3648
3600
|
{
|
3649
3601
|
__shared_count(const __shared_count&);
|
3650
3602
|
__shared_count& operator=(const __shared_count&);
|
@@ -3666,7 +3618,7 @@ public:
|
|
3666
3618
|
long use_count() const _NOEXCEPT {return __shared_owners_ + 1;}
|
3667
3619
|
};
|
3668
3620
|
|
3669
|
-
class __shared_weak_count
|
3621
|
+
class _LIBCPP_TYPE_VIS __shared_weak_count
|
3670
3622
|
: private __shared_count
|
3671
3623
|
{
|
3672
3624
|
long __shared_weak_owners_;
|
@@ -3811,10 +3763,10 @@ __shared_ptr_emplace<_Tp, _Alloc>::__on_zero_shared_weak() _NOEXCEPT
|
|
3811
3763
|
__a.deallocate(this, 1);
|
3812
3764
|
}
|
3813
3765
|
|
3814
|
-
template<class _Tp> class
|
3766
|
+
template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY enable_shared_from_this;
|
3815
3767
|
|
3816
3768
|
template<class _Tp>
|
3817
|
-
class
|
3769
|
+
class _LIBCPP_TYPE_VIS_ONLY shared_ptr
|
3818
3770
|
{
|
3819
3771
|
public:
|
3820
3772
|
typedef _Tp element_type;
|
@@ -3943,8 +3895,8 @@ public:
|
|
3943
3895
|
<
|
3944
3896
|
!is_array<_Yp>::value &&
|
3945
3897
|
is_convertible<_Yp*, element_type*>::value,
|
3946
|
-
shared_ptr
|
3947
|
-
>::type
|
3898
|
+
shared_ptr
|
3899
|
+
>::type&
|
3948
3900
|
operator=(auto_ptr<_Yp>&& __r);
|
3949
3901
|
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
3950
3902
|
template<class _Yp>
|
@@ -4083,8 +4035,8 @@ private:
|
|
4083
4035
|
_LIBCPP_INLINE_VISIBILITY
|
4084
4036
|
void __enable_weak_this(const void*) _NOEXCEPT {}
|
4085
4037
|
|
4086
|
-
template <class _Up> friend class
|
4087
|
-
template <class _Up> friend class
|
4038
|
+
template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY shared_ptr;
|
4039
|
+
template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY weak_ptr;
|
4088
4040
|
};
|
4089
4041
|
|
4090
4042
|
template<class _Tp>
|
@@ -4570,8 +4522,8 @@ typename enable_if
|
|
4570
4522
|
<
|
4571
4523
|
!is_array<_Yp>::value &&
|
4572
4524
|
is_convertible<_Yp*, _Tp*>::value,
|
4573
|
-
shared_ptr<_Tp
|
4574
|
-
>::type
|
4525
|
+
shared_ptr<_Tp>
|
4526
|
+
>::type&
|
4575
4527
|
shared_ptr<_Tp>::operator=(auto_ptr<_Yp>&& __r)
|
4576
4528
|
{
|
4577
4529
|
shared_ptr(_VSTD::move(__r)).swap(*this);
|
@@ -4980,7 +4932,7 @@ get_deleter(const shared_ptr<_Tp>& __p) _NOEXCEPT
|
|
4980
4932
|
#endif // _LIBCPP_NO_RTTI
|
4981
4933
|
|
4982
4934
|
template<class _Tp>
|
4983
|
-
class
|
4935
|
+
class _LIBCPP_TYPE_VIS_ONLY weak_ptr
|
4984
4936
|
{
|
4985
4937
|
public:
|
4986
4938
|
typedef _Tp element_type;
|
@@ -5055,8 +5007,8 @@ public:
|
|
5055
5007
|
bool owner_before(const weak_ptr<_Up>& __r) const
|
5056
5008
|
{return __cntrl_ < __r.__cntrl_;}
|
5057
5009
|
|
5058
|
-
template <class _Up> friend class
|
5059
|
-
template <class _Up> friend class
|
5010
|
+
template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY weak_ptr;
|
5011
|
+
template <class _Up> friend class _LIBCPP_TYPE_VIS_ONLY shared_ptr;
|
5060
5012
|
};
|
5061
5013
|
|
5062
5014
|
template<class _Tp>
|
@@ -5256,7 +5208,7 @@ weak_ptr<_Tp>::lock() const _NOEXCEPT
|
|
5256
5208
|
template <class _Tp> struct owner_less;
|
5257
5209
|
|
5258
5210
|
template <class _Tp>
|
5259
|
-
struct
|
5211
|
+
struct _LIBCPP_TYPE_VIS_ONLY owner_less<shared_ptr<_Tp> >
|
5260
5212
|
: binary_function<shared_ptr<_Tp>, shared_ptr<_Tp>, bool>
|
5261
5213
|
{
|
5262
5214
|
typedef bool result_type;
|
@@ -5272,7 +5224,7 @@ struct _LIBCPP_TYPE_VIS owner_less<shared_ptr<_Tp> >
|
|
5272
5224
|
};
|
5273
5225
|
|
5274
5226
|
template <class _Tp>
|
5275
|
-
struct
|
5227
|
+
struct _LIBCPP_TYPE_VIS_ONLY owner_less<weak_ptr<_Tp> >
|
5276
5228
|
: binary_function<weak_ptr<_Tp>, weak_ptr<_Tp>, bool>
|
5277
5229
|
{
|
5278
5230
|
typedef bool result_type;
|
@@ -5288,7 +5240,7 @@ struct _LIBCPP_TYPE_VIS owner_less<weak_ptr<_Tp> >
|
|
5288
5240
|
};
|
5289
5241
|
|
5290
5242
|
template<class _Tp>
|
5291
|
-
class
|
5243
|
+
class _LIBCPP_TYPE_VIS_ONLY enable_shared_from_this
|
5292
5244
|
{
|
5293
5245
|
mutable weak_ptr<_Tp> __weak_this_;
|
5294
5246
|
protected:
|
@@ -5313,7 +5265,7 @@ public:
|
|
5313
5265
|
};
|
5314
5266
|
|
5315
5267
|
template <class _Tp>
|
5316
|
-
struct
|
5268
|
+
struct _LIBCPP_TYPE_VIS_ONLY hash<shared_ptr<_Tp> >
|
5317
5269
|
{
|
5318
5270
|
typedef shared_ptr<_Tp> argument_type;
|
5319
5271
|
typedef size_t result_type;
|
@@ -5331,7 +5283,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p);
|
|
5331
5283
|
|
5332
5284
|
#if __has_feature(cxx_atomic)
|
5333
5285
|
|
5334
|
-
class __sp_mut
|
5286
|
+
class _LIBCPP_TYPE_VIS __sp_mut
|
5335
5287
|
{
|
5336
5288
|
void* __lx;
|
5337
5289
|
public:
|
@@ -5475,11 +5427,11 @@ struct _LIBCPP_TYPE_VIS pointer_safety
|
|
5475
5427
|
operator int() const {return __v_;}
|
5476
5428
|
};
|
5477
5429
|
|
5478
|
-
void declare_reachable(void* __p);
|
5479
|
-
void declare_no_pointers(char* __p, size_t __n);
|
5480
|
-
void undeclare_no_pointers(char* __p, size_t __n);
|
5481
|
-
pointer_safety get_pointer_safety() _NOEXCEPT;
|
5482
|
-
void* __undeclare_reachable(void* __p);
|
5430
|
+
_LIBCPP_FUNC_VIS void declare_reachable(void* __p);
|
5431
|
+
_LIBCPP_FUNC_VIS void declare_no_pointers(char* __p, size_t __n);
|
5432
|
+
_LIBCPP_FUNC_VIS void undeclare_no_pointers(char* __p, size_t __n);
|
5433
|
+
_LIBCPP_FUNC_VIS pointer_safety get_pointer_safety() _NOEXCEPT;
|
5434
|
+
_LIBCPP_FUNC_VIS void* __undeclare_reachable(void* __p);
|
5483
5435
|
|
5484
5436
|
template <class _Tp>
|
5485
5437
|
inline _LIBCPP_INLINE_VISIBILITY
|
@@ -5489,7 +5441,7 @@ undeclare_reachable(_Tp* __p)
|
|
5489
5441
|
return static_cast<_Tp*>(__undeclare_reachable(__p));
|
5490
5442
|
}
|
5491
5443
|
|
5492
|
-
void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space);
|
5444
|
+
_LIBCPP_FUNC_VIS void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space);
|
5493
5445
|
|
5494
5446
|
_LIBCPP_END_NAMESPACE_STD
|
5495
5447
|
|
@@ -441,7 +441,7 @@ void call_once(once_flag&, _Callable);
|
|
441
441
|
|
442
442
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
443
443
|
|
444
|
-
struct
|
444
|
+
struct _LIBCPP_TYPE_VIS_ONLY once_flag
|
445
445
|
{
|
446
446
|
_LIBCPP_INLINE_VISIBILITY
|
447
447
|
_LIBCPP_CONSTEXPR
|
@@ -527,7 +527,7 @@ __call_once_proxy(void* __vp)
|
|
527
527
|
(*__p)();
|
528
528
|
}
|
529
529
|
|
530
|
-
void __call_once(volatile unsigned long&, void*, void(*)(void*));
|
530
|
+
_LIBCPP_FUNC_VIS void __call_once(volatile unsigned long&, void*, void(*)(void*));
|
531
531
|
|
532
532
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
533
533
|
|
@@ -27,6 +27,18 @@ public:
|
|
27
27
|
virtual const char* what() const noexcept;
|
28
28
|
};
|
29
29
|
|
30
|
+
class bad_array_length : public bad_alloc // C++14
|
31
|
+
{
|
32
|
+
public:
|
33
|
+
bad_array_length() noexcept;
|
34
|
+
};
|
35
|
+
|
36
|
+
class bad_array_new_length : public bad_alloc
|
37
|
+
{
|
38
|
+
public:
|
39
|
+
bad_array_new_length() noexcept;
|
40
|
+
};
|
41
|
+
|
30
42
|
struct nothrow_t {};
|
31
43
|
extern const nothrow_t nothrow;
|
32
44
|
typedef void (*new_handler)();
|
@@ -81,7 +93,18 @@ public:
|
|
81
93
|
virtual const char* what() const _NOEXCEPT;
|
82
94
|
};
|
83
95
|
|
84
|
-
|
96
|
+
#if defined(_LIBCPP_BUILDING_NEW) || (_LIBCPP_STD_VER > 11)
|
97
|
+
class _LIBCPP_EXCEPTION_ABI bad_array_length
|
98
|
+
: public bad_alloc
|
99
|
+
{
|
100
|
+
public:
|
101
|
+
bad_array_length() _NOEXCEPT;
|
102
|
+
virtual ~bad_array_length() _NOEXCEPT;
|
103
|
+
virtual const char* what() const _NOEXCEPT;
|
104
|
+
};
|
105
|
+
#endif
|
106
|
+
|
107
|
+
_LIBCPP_FUNC_VIS void __throw_bad_alloc(); // not in C++ spec
|
85
108
|
|
86
109
|
struct _LIBCPP_TYPE_VIS nothrow_t {};
|
87
110
|
extern _LIBCPP_FUNC_VIS const nothrow_t nothrow;
|
@@ -91,27 +114,33 @@ _LIBCPP_FUNC_VIS new_handler get_new_handler() _NOEXCEPT;
|
|
91
114
|
|
92
115
|
} // std
|
93
116
|
|
94
|
-
|
117
|
+
#if defined(_WIN32) && !defined(cxx_EXPORTS)
|
118
|
+
# define _LIBCPP_NEW_DELETE_VIS _LIBCPP_FUNC_VIS_ONLY
|
119
|
+
#else
|
120
|
+
# define _LIBCPP_NEW_DELETE_VIS _LIBCPP_FUNC_VIS
|
121
|
+
#endif
|
122
|
+
|
123
|
+
_LIBCPP_NEW_DELETE_VIS void* operator new(std::size_t __sz)
|
95
124
|
#if !__has_feature(cxx_noexcept)
|
96
125
|
throw(std::bad_alloc)
|
97
126
|
#endif
|
98
127
|
;
|
99
|
-
|
100
|
-
|
101
|
-
|
128
|
+
_LIBCPP_NEW_DELETE_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
|
129
|
+
_LIBCPP_NEW_DELETE_VIS void operator delete(void* __p) _NOEXCEPT;
|
130
|
+
_LIBCPP_NEW_DELETE_VIS void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
|
102
131
|
|
103
|
-
|
132
|
+
_LIBCPP_NEW_DELETE_VIS void* operator new[](std::size_t __sz)
|
104
133
|
#if !__has_feature(cxx_noexcept)
|
105
134
|
throw(std::bad_alloc)
|
106
135
|
#endif
|
107
136
|
;
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
_LIBCPP_INLINE_VISIBILITY
|
113
|
-
_LIBCPP_INLINE_VISIBILITY
|
114
|
-
_LIBCPP_INLINE_VISIBILITY
|
115
|
-
_LIBCPP_INLINE_VISIBILITY
|
137
|
+
_LIBCPP_NEW_DELETE_VIS void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
|
138
|
+
_LIBCPP_NEW_DELETE_VIS void operator delete[](void* __p) _NOEXCEPT;
|
139
|
+
_LIBCPP_NEW_DELETE_VIS void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
|
140
|
+
|
141
|
+
inline _LIBCPP_INLINE_VISIBILITY void* operator new (std::size_t, void* __p) _NOEXCEPT {return __p;}
|
142
|
+
inline _LIBCPP_INLINE_VISIBILITY void* operator new[](std::size_t, void* __p) _NOEXCEPT {return __p;}
|
143
|
+
inline _LIBCPP_INLINE_VISIBILITY void operator delete (void*, void*) _NOEXCEPT {}
|
144
|
+
inline _LIBCPP_INLINE_VISIBILITY void operator delete[](void*, void*) _NOEXCEPT {}
|
116
145
|
|
117
146
|
#endif // _LIBCPP_NEW
|
@@ -157,7 +157,7 @@ adjacent_difference(_InputIterator __first, _InputIterator __last, _OutputIterat
|
|
157
157
|
{
|
158
158
|
typename iterator_traits<_InputIterator>::value_type __t2(*__first);
|
159
159
|
*__result = __t2 - __t1;
|
160
|
-
__t1 = __t2;
|
160
|
+
__t1 = _VSTD::move(__t2);
|
161
161
|
}
|
162
162
|
}
|
163
163
|
return __result;
|
@@ -177,7 +177,7 @@ adjacent_difference(_InputIterator __first, _InputIterator __last, _OutputIterat
|
|
177
177
|
{
|
178
178
|
typename iterator_traits<_InputIterator>::value_type __t2(*__first);
|
179
179
|
*__result = __binary_op(__t2, __t1);
|
180
|
-
__t1 = __t2;
|
180
|
+
__t1 = _VSTD::move(__t2);
|
181
181
|
}
|
182
182
|
}
|
183
183
|
return __result;
|