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
@@ -925,7 +925,7 @@ public:
|
|
925
925
|
};
|
926
926
|
|
927
927
|
template <class _CharT>
|
928
|
-
struct
|
928
|
+
struct _LIBCPP_TYPE_VIS_ONLY regex_traits
|
929
929
|
{
|
930
930
|
public:
|
931
931
|
typedef _CharT char_type;
|
@@ -970,7 +970,7 @@ public:
|
|
970
970
|
bool isctype(char_type __c, char_class_type __m) const;
|
971
971
|
_LIBCPP_INLINE_VISIBILITY
|
972
972
|
int value(char_type __ch, int __radix) const
|
973
|
-
{return
|
973
|
+
{return __regex_traits_value(__ch, __radix);}
|
974
974
|
locale_type imbue(locale_type __l);
|
975
975
|
_LIBCPP_INLINE_VISIBILITY
|
976
976
|
locale_type getloc()const {return __loc_;}
|
@@ -1001,11 +1001,11 @@ private:
|
|
1001
1001
|
__lookup_classname(_ForwardIterator __f, _ForwardIterator __l,
|
1002
1002
|
bool __icase, wchar_t) const;
|
1003
1003
|
|
1004
|
-
static int
|
1004
|
+
static int __regex_traits_value(unsigned char __ch, int __radix);
|
1005
1005
|
_LIBCPP_INLINE_VISIBILITY
|
1006
|
-
int
|
1007
|
-
{return
|
1008
|
-
int
|
1006
|
+
int __regex_traits_value(char __ch, int __radix) const
|
1007
|
+
{return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);}
|
1008
|
+
int __regex_traits_value(wchar_t __ch, int __radix) const;
|
1009
1009
|
};
|
1010
1010
|
|
1011
1011
|
template <class _CharT>
|
@@ -1100,7 +1100,7 @@ regex_traits<_CharT>::__transform_primary(_ForwardIterator __f,
|
|
1100
1100
|
|
1101
1101
|
// lookup_collatename is very FreeBSD-specific
|
1102
1102
|
|
1103
|
-
string __get_collation_name(const char* __s);
|
1103
|
+
_LIBCPP_FUNC_VIS string __get_collation_name(const char* __s);
|
1104
1104
|
|
1105
1105
|
template <class _CharT>
|
1106
1106
|
template <class _ForwardIterator>
|
@@ -1161,7 +1161,7 @@ regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f,
|
|
1161
1161
|
|
1162
1162
|
// lookup_classname
|
1163
1163
|
|
1164
|
-
ctype_base::mask __get_classname(const char* __s, bool __icase);
|
1164
|
+
ctype_base::mask _LIBCPP_FUNC_VIS __get_classname(const char* __s, bool __icase);
|
1165
1165
|
|
1166
1166
|
template <class _CharT>
|
1167
1167
|
template <class _ForwardIterator>
|
@@ -1207,7 +1207,7 @@ regex_traits<_CharT>::isctype(char_type __c, char_class_type __m) const
|
|
1207
1207
|
|
1208
1208
|
template <class _CharT>
|
1209
1209
|
int
|
1210
|
-
regex_traits<_CharT>::
|
1210
|
+
regex_traits<_CharT>::__regex_traits_value(unsigned char __ch, int __radix)
|
1211
1211
|
{
|
1212
1212
|
if ((__ch & 0xF8u) == 0x30) // '0' <= __ch && __ch <= '7'
|
1213
1213
|
return __ch - '0';
|
@@ -1228,18 +1228,18 @@ regex_traits<_CharT>::__value(unsigned char __ch, int __radix)
|
|
1228
1228
|
template <class _CharT>
|
1229
1229
|
inline _LIBCPP_INLINE_VISIBILITY
|
1230
1230
|
int
|
1231
|
-
regex_traits<_CharT>::
|
1231
|
+
regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const
|
1232
1232
|
{
|
1233
|
-
return
|
1233
|
+
return __regex_traits_value(static_cast<unsigned char>(__ct_->narrow(__ch, char_type())), __radix);
|
1234
1234
|
}
|
1235
1235
|
|
1236
1236
|
template <class _CharT> class __node;
|
1237
1237
|
|
1238
|
-
template <class _BidirectionalIterator> class
|
1238
|
+
template <class _BidirectionalIterator> class _LIBCPP_TYPE_VIS_ONLY sub_match;
|
1239
1239
|
|
1240
1240
|
template <class _BidirectionalIterator,
|
1241
1241
|
class _Allocator = allocator<sub_match<_BidirectionalIterator> > >
|
1242
|
-
class
|
1242
|
+
class _LIBCPP_TYPE_VIS_ONLY match_results;
|
1243
1243
|
|
1244
1244
|
template <class _CharT>
|
1245
1245
|
struct __state
|
@@ -2014,6 +2014,9 @@ public:
|
|
2014
2014
|
virtual void __exec(__state&) const;
|
2015
2015
|
};
|
2016
2016
|
|
2017
|
+
template <> _LIBCPP_FUNC_VIS void __match_any_but_newline<char>::__exec(__state&) const;
|
2018
|
+
template <> _LIBCPP_FUNC_VIS void __match_any_but_newline<wchar_t>::__exec(__state&) const;
|
2019
|
+
|
2017
2020
|
// __match_char
|
2018
2021
|
|
2019
2022
|
template <class _CharT>
|
@@ -2415,7 +2418,7 @@ __exit:
|
|
2415
2418
|
template <class _CharT, class _Traits> class __lookahead;
|
2416
2419
|
|
2417
2420
|
template <class _CharT, class _Traits = regex_traits<_CharT> >
|
2418
|
-
class
|
2421
|
+
class _LIBCPP_TYPE_VIS_ONLY basic_regex
|
2419
2422
|
{
|
2420
2423
|
public:
|
2421
2424
|
// types:
|
@@ -3782,7 +3785,7 @@ basic_regex<_CharT, _Traits>::__parse_expression_term(_ForwardIterator __first,
|
|
3782
3785
|
}
|
3783
3786
|
__ml->__add_range(_VSTD::move(__start_range), _VSTD::move(__end_range));
|
3784
3787
|
}
|
3785
|
-
else
|
3788
|
+
else if (!__start_range.empty())
|
3786
3789
|
{
|
3787
3790
|
if (__start_range.size() == 1)
|
3788
3791
|
__ml->__add_char(__start_range[0]);
|
@@ -3790,7 +3793,7 @@ basic_regex<_CharT, _Traits>::__parse_expression_term(_ForwardIterator __first,
|
|
3790
3793
|
__ml->__add_digraph(__start_range[0], __start_range[1]);
|
3791
3794
|
}
|
3792
3795
|
}
|
3793
|
-
else
|
3796
|
+
else if (!__start_range.empty())
|
3794
3797
|
{
|
3795
3798
|
if (__start_range.size() == 1)
|
3796
3799
|
__ml->__add_char(__start_range[0]);
|
@@ -4781,7 +4784,7 @@ typedef basic_regex<wchar_t> wregex;
|
|
4781
4784
|
// sub_match
|
4782
4785
|
|
4783
4786
|
template <class _BidirectionalIterator>
|
4784
|
-
class
|
4787
|
+
class _LIBCPP_TYPE_VIS_ONLY sub_match
|
4785
4788
|
: public pair<_BidirectionalIterator, _BidirectionalIterator>
|
4786
4789
|
{
|
4787
4790
|
public:
|
@@ -5204,7 +5207,7 @@ operator<<(basic_ostream<_CharT, _ST>& __os, const sub_match<_BiIter>& __m)
|
|
5204
5207
|
}
|
5205
5208
|
|
5206
5209
|
template <class _BidirectionalIterator, class _Allocator>
|
5207
|
-
class
|
5210
|
+
class _LIBCPP_TYPE_VIS_ONLY match_results
|
5208
5211
|
{
|
5209
5212
|
public:
|
5210
5213
|
typedef _Allocator allocator_type;
|
@@ -6007,7 +6010,7 @@ regex_match(const basic_string<_CharT, _ST, _SA>& __s,
|
|
6007
6010
|
template <class _BidirectionalIterator,
|
6008
6011
|
class _CharT = typename iterator_traits<_BidirectionalIterator>::value_type,
|
6009
6012
|
class _Traits = regex_traits<_CharT> >
|
6010
|
-
class
|
6013
|
+
class _LIBCPP_TYPE_VIS_ONLY regex_iterator
|
6011
6014
|
{
|
6012
6015
|
public:
|
6013
6016
|
typedef basic_regex<_CharT, _Traits> regex_type;
|
@@ -6119,7 +6122,7 @@ typedef regex_iterator<wstring::const_iterator> wsregex_iterator;
|
|
6119
6122
|
template <class _BidirectionalIterator,
|
6120
6123
|
class _CharT = typename iterator_traits<_BidirectionalIterator>::value_type,
|
6121
6124
|
class _Traits = regex_traits<_CharT> >
|
6122
|
-
class
|
6125
|
+
class _LIBCPP_TYPE_VIS_ONLY regex_token_iterator
|
6123
6126
|
{
|
6124
6127
|
public:
|
6125
6128
|
typedef basic_regex<_CharT, _Traits> regex_type;
|
@@ -365,7 +365,7 @@ struct __outermost<_Alloc, true>
|
|
365
365
|
};
|
366
366
|
|
367
367
|
template <class _OuterAlloc, class... _InnerAllocs>
|
368
|
-
class
|
368
|
+
class _LIBCPP_TYPE_VIS_ONLY scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs...>
|
369
369
|
: public __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...>
|
370
370
|
{
|
371
371
|
typedef __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...> base;
|
@@ -66,6 +66,11 @@ public:
|
|
66
66
|
set(initializer_list<value_type> il, const value_compare& comp = value_compare());
|
67
67
|
set(initializer_list<value_type> il, const value_compare& comp,
|
68
68
|
const allocator_type& a);
|
69
|
+
template <class InputIterator>
|
70
|
+
set(InputIterator first, InputIterator last, const allocator_type& a)
|
71
|
+
: set(first, last, Compare(), a) {} // C++14
|
72
|
+
set(initializer_list<value_type> il, const allocator_type& a)
|
73
|
+
: set(il, Compare(), a) {} // C++14
|
69
74
|
~set();
|
70
75
|
|
71
76
|
set& operator=(const set& s);
|
@@ -129,13 +134,33 @@ public:
|
|
129
134
|
// set operations:
|
130
135
|
iterator find(const key_type& k);
|
131
136
|
const_iterator find(const key_type& k) const;
|
137
|
+
template<typename K>
|
138
|
+
iterator find(const K& x);
|
139
|
+
template<typename K>
|
140
|
+
const_iterator find(const K& x) const; // C++14
|
141
|
+
template<typename K>
|
142
|
+
size_type count(const K& x) const; // C++14
|
143
|
+
|
132
144
|
size_type count(const key_type& k) const;
|
133
145
|
iterator lower_bound(const key_type& k);
|
134
146
|
const_iterator lower_bound(const key_type& k) const;
|
147
|
+
template<typename K>
|
148
|
+
iterator lower_bound(const K& x); // C++14
|
149
|
+
template<typename K>
|
150
|
+
const_iterator lower_bound(const K& x) const; // C++14
|
151
|
+
|
135
152
|
iterator upper_bound(const key_type& k);
|
136
153
|
const_iterator upper_bound(const key_type& k) const;
|
154
|
+
template<typename K>
|
155
|
+
iterator upper_bound(const K& x); // C++14
|
156
|
+
template<typename K>
|
157
|
+
const_iterator upper_bound(const K& x) const; // C++14
|
137
158
|
pair<iterator,iterator> equal_range(const key_type& k);
|
138
159
|
pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
|
160
|
+
template<typename K>
|
161
|
+
pair<iterator,iterator> equal_range(const K& x); // C++14
|
162
|
+
template<typename K>
|
163
|
+
pair<const_iterator,const_iterator> equal_range(const K& x) const; // C++14
|
139
164
|
};
|
140
165
|
|
141
166
|
template <class Key, class Compare, class Allocator>
|
@@ -222,6 +247,11 @@ public:
|
|
222
247
|
multiset(initializer_list<value_type> il, const value_compare& comp = value_compare());
|
223
248
|
multiset(initializer_list<value_type> il, const value_compare& comp,
|
224
249
|
const allocator_type& a);
|
250
|
+
template <class InputIterator>
|
251
|
+
multiset(InputIterator first, InputIterator last, const allocator_type& a)
|
252
|
+
: set(first, last, Compare(), a) {} // C++14
|
253
|
+
multiset(initializer_list<value_type> il, const allocator_type& a)
|
254
|
+
: set(il, Compare(), a) {} // C++14
|
225
255
|
~multiset();
|
226
256
|
|
227
257
|
multiset& operator=(const multiset& s);
|
@@ -285,13 +315,32 @@ public:
|
|
285
315
|
// set operations:
|
286
316
|
iterator find(const key_type& k);
|
287
317
|
const_iterator find(const key_type& k) const;
|
318
|
+
template<typename K>
|
319
|
+
iterator find(const K& x);
|
320
|
+
template<typename K>
|
321
|
+
const_iterator find(const K& x) const; // C++14
|
322
|
+
|
288
323
|
size_type count(const key_type& k) const;
|
289
324
|
iterator lower_bound(const key_type& k);
|
290
325
|
const_iterator lower_bound(const key_type& k) const;
|
326
|
+
template<typename K>
|
327
|
+
iterator lower_bound(const K& x); // C++14
|
328
|
+
template<typename K>
|
329
|
+
const_iterator lower_bound(const K& x) const; // C++14
|
330
|
+
|
291
331
|
iterator upper_bound(const key_type& k);
|
292
332
|
const_iterator upper_bound(const key_type& k) const;
|
333
|
+
template<typename K>
|
334
|
+
iterator upper_bound(const K& x); // C++14
|
335
|
+
template<typename K>
|
336
|
+
const_iterator upper_bound(const K& x) const; // C++14
|
337
|
+
|
293
338
|
pair<iterator,iterator> equal_range(const key_type& k);
|
294
339
|
pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
|
340
|
+
template<typename K>
|
341
|
+
pair<iterator,iterator> equal_range(const K& x); // C++14
|
342
|
+
template<typename K>
|
343
|
+
pair<const_iterator,const_iterator> equal_range(const K& x) const; // C++14
|
295
344
|
};
|
296
345
|
|
297
346
|
template <class Key, class Compare, class Allocator>
|
@@ -346,7 +395,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|
346
395
|
|
347
396
|
template <class _Key, class _Compare = less<_Key>,
|
348
397
|
class _Allocator = allocator<_Key> >
|
349
|
-
class
|
398
|
+
class _LIBCPP_TYPE_VIS_ONLY set
|
350
399
|
{
|
351
400
|
public:
|
352
401
|
// types:
|
@@ -403,6 +452,13 @@ public:
|
|
403
452
|
insert(__f, __l);
|
404
453
|
}
|
405
454
|
|
455
|
+
#if _LIBCPP_STD_VER > 11
|
456
|
+
template <class _InputIterator>
|
457
|
+
_LIBCPP_INLINE_VISIBILITY
|
458
|
+
set(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
|
459
|
+
: set(__f, __l, key_compare(), __a) {}
|
460
|
+
#endif
|
461
|
+
|
406
462
|
_LIBCPP_INLINE_VISIBILITY
|
407
463
|
set(const set& __s)
|
408
464
|
: __tree_(__s.__tree_)
|
@@ -455,6 +511,12 @@ public:
|
|
455
511
|
insert(__il.begin(), __il.end());
|
456
512
|
}
|
457
513
|
|
514
|
+
#if _LIBCPP_STD_VER > 11
|
515
|
+
_LIBCPP_INLINE_VISIBILITY
|
516
|
+
set(initializer_list<value_type> __il, const allocator_type& __a)
|
517
|
+
: set(__il, key_compare(), __a) {}
|
518
|
+
#endif
|
519
|
+
|
458
520
|
_LIBCPP_INLINE_VISIBILITY
|
459
521
|
set& operator=(initializer_list<value_type> __il)
|
460
522
|
{
|
@@ -579,6 +641,17 @@ public:
|
|
579
641
|
iterator find(const key_type& __k) {return __tree_.find(__k);}
|
580
642
|
_LIBCPP_INLINE_VISIBILITY
|
581
643
|
const_iterator find(const key_type& __k) const {return __tree_.find(__k);}
|
644
|
+
#if _LIBCPP_STD_VER > 11
|
645
|
+
template <typename _K2>
|
646
|
+
_LIBCPP_INLINE_VISIBILITY
|
647
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
|
648
|
+
find(const _K2& __k) {return __tree_.find(__k);}
|
649
|
+
template <typename _K2>
|
650
|
+
_LIBCPP_INLINE_VISIBILITY
|
651
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
|
652
|
+
find(const _K2& __k) const {return __tree_.find(__k);}
|
653
|
+
#endif
|
654
|
+
|
582
655
|
_LIBCPP_INLINE_VISIBILITY
|
583
656
|
size_type count(const key_type& __k) const
|
584
657
|
{return __tree_.__count_unique(__k);}
|
@@ -588,18 +661,51 @@ public:
|
|
588
661
|
_LIBCPP_INLINE_VISIBILITY
|
589
662
|
const_iterator lower_bound(const key_type& __k) const
|
590
663
|
{return __tree_.lower_bound(__k);}
|
664
|
+
#if _LIBCPP_STD_VER > 11
|
665
|
+
template <typename _K2>
|
666
|
+
_LIBCPP_INLINE_VISIBILITY
|
667
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
|
668
|
+
lower_bound(const _K2& __k) {return __tree_.lower_bound(__k);}
|
669
|
+
|
670
|
+
template <typename _K2>
|
671
|
+
_LIBCPP_INLINE_VISIBILITY
|
672
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
|
673
|
+
lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);}
|
674
|
+
#endif
|
675
|
+
|
591
676
|
_LIBCPP_INLINE_VISIBILITY
|
592
677
|
iterator upper_bound(const key_type& __k)
|
593
678
|
{return __tree_.upper_bound(__k);}
|
594
679
|
_LIBCPP_INLINE_VISIBILITY
|
595
680
|
const_iterator upper_bound(const key_type& __k) const
|
596
681
|
{return __tree_.upper_bound(__k);}
|
682
|
+
#if _LIBCPP_STD_VER > 11
|
683
|
+
template <typename _K2>
|
684
|
+
_LIBCPP_INLINE_VISIBILITY
|
685
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
|
686
|
+
upper_bound(const _K2& __k) {return __tree_.upper_bound(__k);}
|
687
|
+
template <typename _K2>
|
688
|
+
_LIBCPP_INLINE_VISIBILITY
|
689
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
|
690
|
+
upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);}
|
691
|
+
#endif
|
692
|
+
|
597
693
|
_LIBCPP_INLINE_VISIBILITY
|
598
694
|
pair<iterator,iterator> equal_range(const key_type& __k)
|
599
695
|
{return __tree_.__equal_range_unique(__k);}
|
600
696
|
_LIBCPP_INLINE_VISIBILITY
|
601
697
|
pair<const_iterator,const_iterator> equal_range(const key_type& __k) const
|
602
698
|
{return __tree_.__equal_range_unique(__k);}
|
699
|
+
#if _LIBCPP_STD_VER > 11
|
700
|
+
template <typename _K2>
|
701
|
+
_LIBCPP_INLINE_VISIBILITY
|
702
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,pair<iterator,iterator>>::type
|
703
|
+
equal_range(const _K2& __k) {return __tree_.__equal_range_unique(__k);}
|
704
|
+
template <typename _K2>
|
705
|
+
_LIBCPP_INLINE_VISIBILITY
|
706
|
+
typename enable_if<__is_transparent<_Compare, _K2>::value,pair<const_iterator,const_iterator>>::type
|
707
|
+
equal_range(const _K2& __k) const {return __tree_.__equal_range_unique(__k);}
|
708
|
+
#endif
|
603
709
|
};
|
604
710
|
|
605
711
|
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
@@ -685,7 +791,7 @@ swap(set<_Key, _Compare, _Allocator>& __x,
|
|
685
791
|
|
686
792
|
template <class _Key, class _Compare = less<_Key>,
|
687
793
|
class _Allocator = allocator<_Key> >
|
688
|
-
class
|
794
|
+
class _LIBCPP_TYPE_VIS_ONLY multiset
|
689
795
|
{
|
690
796
|
public:
|
691
797
|
// types:
|
@@ -734,6 +840,13 @@ public:
|
|
734
840
|
insert(__f, __l);
|
735
841
|
}
|
736
842
|
|
843
|
+
#if _LIBCPP_STD_VER > 11
|
844
|
+
template <class _InputIterator>
|
845
|
+
_LIBCPP_INLINE_VISIBILITY
|
846
|
+
multiset(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
|
847
|
+
: multiset(__f, __l, key_compare(), __a) {}
|
848
|
+
#endif
|
849
|
+
|
737
850
|
template <class _InputIterator>
|
738
851
|
_LIBCPP_INLINE_VISIBILITY
|
739
852
|
multiset(_InputIterator __f, _InputIterator __l,
|
@@ -793,6 +906,12 @@ public:
|
|
793
906
|
insert(__il.begin(), __il.end());
|
794
907
|
}
|
795
908
|
|
909
|
+
#if _LIBCPP_STD_VER > 11
|
910
|
+
_LIBCPP_INLINE_VISIBILITY
|
911
|
+
multiset(initializer_list<value_type> __il, const allocator_type& __a)
|
912
|
+
: multiset(__il, key_compare(), __a) {}
|
913
|
+
#endif
|
914
|
+
|
796
915
|
_LIBCPP_INLINE_VISIBILITY
|
797
916
|
multiset& operator=(initializer_list<value_type> __il)
|
798
917
|
{
|
@@ -917,27 +1036,72 @@ public:
|
|
917
1036
|
iterator find(const key_type& __k) {return __tree_.find(__k);}
|
918
1037
|
_LIBCPP_INLINE_VISIBILITY
|
919
1038
|
const_iterator find(const key_type& __k) const {return __tree_.find(__k);}
|
1039
|
+
#if _LIBCPP_STD_VER > 11
|
1040
|
+
template <typename _K2>
|
1041
|
+
_LIBCPP_INLINE_VISIBILITY
|
1042
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,iterator>::type
|
1043
|
+
find(const _K2& __k) {return __tree_.find(__k);}
|
1044
|
+
template <typename _K2>
|
1045
|
+
_LIBCPP_INLINE_VISIBILITY
|
1046
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,const_iterator>::type
|
1047
|
+
find(const _K2& __k) const {return __tree_.find(__k);}
|
1048
|
+
#endif
|
1049
|
+
|
920
1050
|
_LIBCPP_INLINE_VISIBILITY
|
921
1051
|
size_type count(const key_type& __k) const
|
922
1052
|
{return __tree_.__count_multi(__k);}
|
1053
|
+
|
923
1054
|
_LIBCPP_INLINE_VISIBILITY
|
924
1055
|
iterator lower_bound(const key_type& __k)
|
925
1056
|
{return __tree_.lower_bound(__k);}
|
926
1057
|
_LIBCPP_INLINE_VISIBILITY
|
927
1058
|
const_iterator lower_bound(const key_type& __k) const
|
928
1059
|
{return __tree_.lower_bound(__k);}
|
1060
|
+
#if _LIBCPP_STD_VER > 11
|
1061
|
+
template <typename _K2>
|
1062
|
+
_LIBCPP_INLINE_VISIBILITY
|
1063
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,iterator>::type
|
1064
|
+
lower_bound(const _K2& __k) {return __tree_.lower_bound(__k);}
|
1065
|
+
|
1066
|
+
template <typename _K2>
|
1067
|
+
_LIBCPP_INLINE_VISIBILITY
|
1068
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,const_iterator>::type
|
1069
|
+
lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);}
|
1070
|
+
#endif
|
1071
|
+
|
929
1072
|
_LIBCPP_INLINE_VISIBILITY
|
930
1073
|
iterator upper_bound(const key_type& __k)
|
931
1074
|
{return __tree_.upper_bound(__k);}
|
932
1075
|
_LIBCPP_INLINE_VISIBILITY
|
933
1076
|
const_iterator upper_bound(const key_type& __k) const
|
934
1077
|
{return __tree_.upper_bound(__k);}
|
1078
|
+
#if _LIBCPP_STD_VER > 11
|
1079
|
+
template <typename _K2>
|
1080
|
+
_LIBCPP_INLINE_VISIBILITY
|
1081
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,iterator>::type
|
1082
|
+
upper_bound(const _K2& __k) {return __tree_.upper_bound(__k);}
|
1083
|
+
template <typename _K2>
|
1084
|
+
_LIBCPP_INLINE_VISIBILITY
|
1085
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,const_iterator>::type
|
1086
|
+
upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);}
|
1087
|
+
#endif
|
1088
|
+
|
935
1089
|
_LIBCPP_INLINE_VISIBILITY
|
936
1090
|
pair<iterator,iterator> equal_range(const key_type& __k)
|
937
1091
|
{return __tree_.__equal_range_multi(__k);}
|
938
1092
|
_LIBCPP_INLINE_VISIBILITY
|
939
1093
|
pair<const_iterator,const_iterator> equal_range(const key_type& __k) const
|
940
1094
|
{return __tree_.__equal_range_multi(__k);}
|
1095
|
+
#if _LIBCPP_STD_VER > 11
|
1096
|
+
template <typename _K2>
|
1097
|
+
_LIBCPP_INLINE_VISIBILITY
|
1098
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,pair<iterator,iterator>>::type
|
1099
|
+
equal_range(const _K2& __k) {return __tree_.__equal_range_multi(__k);}
|
1100
|
+
template <typename _K2>
|
1101
|
+
_LIBCPP_INLINE_VISIBILITY
|
1102
|
+
typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,pair<const_iterator,const_iterator>>::type
|
1103
|
+
equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);}
|
1104
|
+
#endif
|
941
1105
|
};
|
942
1106
|
|
943
1107
|
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
|