webruby 0.2.2 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|