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
@@ -118,7 +118,7 @@ template <int I, class T, size_t N> T&& get(array<T, N>&&) noexcept; // constexp
|
|
118
118
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
119
119
|
|
120
120
|
template <class _Tp, size_t _Size>
|
121
|
-
struct
|
121
|
+
struct _LIBCPP_TYPE_VIS_ONLY array
|
122
122
|
{
|
123
123
|
// types:
|
124
124
|
typedef array __self;
|
@@ -224,7 +224,7 @@ array<_Tp, _Size>::at(size_type __n) const
|
|
224
224
|
}
|
225
225
|
|
226
226
|
template <class _Tp, size_t _Size>
|
227
|
-
_LIBCPP_INLINE_VISIBILITY
|
227
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
228
228
|
bool
|
229
229
|
operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
230
230
|
{
|
@@ -232,7 +232,7 @@ operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
232
232
|
}
|
233
233
|
|
234
234
|
template <class _Tp, size_t _Size>
|
235
|
-
_LIBCPP_INLINE_VISIBILITY
|
235
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
236
236
|
bool
|
237
237
|
operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
238
238
|
{
|
@@ -240,7 +240,7 @@ operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
240
240
|
}
|
241
241
|
|
242
242
|
template <class _Tp, size_t _Size>
|
243
|
-
_LIBCPP_INLINE_VISIBILITY
|
243
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
244
244
|
bool
|
245
245
|
operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
246
246
|
{
|
@@ -248,7 +248,7 @@ operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
248
248
|
}
|
249
249
|
|
250
250
|
template <class _Tp, size_t _Size>
|
251
|
-
_LIBCPP_INLINE_VISIBILITY
|
251
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
252
252
|
bool
|
253
253
|
operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
254
254
|
{
|
@@ -256,7 +256,7 @@ operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
256
256
|
}
|
257
257
|
|
258
258
|
template <class _Tp, size_t _Size>
|
259
|
-
_LIBCPP_INLINE_VISIBILITY
|
259
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
260
260
|
bool
|
261
261
|
operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
262
262
|
{
|
@@ -264,7 +264,7 @@ operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
264
264
|
}
|
265
265
|
|
266
266
|
template <class _Tp, size_t _Size>
|
267
|
-
_LIBCPP_INLINE_VISIBILITY
|
267
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
268
268
|
bool
|
269
269
|
operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
270
270
|
{
|
@@ -272,7 +272,7 @@ operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
272
272
|
}
|
273
273
|
|
274
274
|
template <class _Tp, size_t _Size>
|
275
|
-
_LIBCPP_INLINE_VISIBILITY
|
275
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
276
276
|
typename enable_if
|
277
277
|
<
|
278
278
|
__is_swappable<_Tp>::value,
|
@@ -285,29 +285,29 @@ swap(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|
285
285
|
}
|
286
286
|
|
287
287
|
template <class _Tp, size_t _Size>
|
288
|
-
class
|
288
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_size<array<_Tp, _Size> >
|
289
289
|
: public integral_constant<size_t, _Size> {};
|
290
290
|
|
291
291
|
template <class _Tp, size_t _Size>
|
292
|
-
class
|
292
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_size<const array<_Tp, _Size> >
|
293
293
|
: public integral_constant<size_t, _Size> {};
|
294
294
|
|
295
295
|
template <size_t _Ip, class _Tp, size_t _Size>
|
296
|
-
class
|
296
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, array<_Tp, _Size> >
|
297
297
|
{
|
298
298
|
public:
|
299
299
|
typedef _Tp type;
|
300
300
|
};
|
301
301
|
|
302
302
|
template <size_t _Ip, class _Tp, size_t _Size>
|
303
|
-
class
|
303
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, const array<_Tp, _Size> >
|
304
304
|
{
|
305
305
|
public:
|
306
306
|
typedef const _Tp type;
|
307
307
|
};
|
308
308
|
|
309
309
|
template <size_t _Ip, class _Tp, size_t _Size>
|
310
|
-
_LIBCPP_INLINE_VISIBILITY
|
310
|
+
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
311
311
|
_Tp&
|
312
312
|
get(array<_Tp, _Size>& __a) _NOEXCEPT
|
313
313
|
{
|
@@ -316,7 +316,7 @@ get(array<_Tp, _Size>& __a) _NOEXCEPT
|
|
316
316
|
}
|
317
317
|
|
318
318
|
template <size_t _Ip, class _Tp, size_t _Size>
|
319
|
-
_LIBCPP_INLINE_VISIBILITY
|
319
|
+
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
320
320
|
const _Tp&
|
321
321
|
get(const array<_Tp, _Size>& __a) _NOEXCEPT
|
322
322
|
{
|
@@ -327,7 +327,7 @@ get(const array<_Tp, _Size>& __a) _NOEXCEPT
|
|
327
327
|
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
328
328
|
|
329
329
|
template <size_t _Ip, class _Tp, size_t _Size>
|
330
|
-
_LIBCPP_INLINE_VISIBILITY
|
330
|
+
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
331
331
|
_Tp&&
|
332
332
|
get(array<_Tp, _Size>&& __a) _NOEXCEPT
|
333
333
|
{
|
@@ -632,11 +632,11 @@ __bitset<0, 0>::__bitset(unsigned long long) _NOEXCEPT
|
|
632
632
|
{
|
633
633
|
}
|
634
634
|
|
635
|
-
template <size_t _Size> class
|
636
|
-
template <size_t _Size> struct
|
635
|
+
template <size_t _Size> class _LIBCPP_TYPE_VIS_ONLY bitset;
|
636
|
+
template <size_t _Size> struct _LIBCPP_TYPE_VIS_ONLY hash<bitset<_Size> >;
|
637
637
|
|
638
638
|
template <size_t _Size>
|
639
|
-
class
|
639
|
+
class _LIBCPP_TYPE_VIS_ONLY bitset
|
640
640
|
: private __bitset<_Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1, _Size>
|
641
641
|
{
|
642
642
|
public:
|
@@ -1060,7 +1060,7 @@ operator^(const bitset<_Size>& __x, const bitset<_Size>& __y) _NOEXCEPT
|
|
1060
1060
|
}
|
1061
1061
|
|
1062
1062
|
template <size_t _Size>
|
1063
|
-
struct
|
1063
|
+
struct _LIBCPP_TYPE_VIS_ONLY hash<bitset<_Size> >
|
1064
1064
|
: public unary_function<bitset<_Size>, size_t>
|
1065
1065
|
{
|
1066
1066
|
_LIBCPP_INLINE_VISIBILITY
|
@@ -292,7 +292,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|
292
292
|
namespace chrono
|
293
293
|
{
|
294
294
|
|
295
|
-
template <class _Rep, class _Period = ratio<1> > class
|
295
|
+
template <class _Rep, class _Period = ratio<1> > class _LIBCPP_TYPE_VIS_ONLY duration;
|
296
296
|
|
297
297
|
template <class _Tp>
|
298
298
|
struct __is_duration : false_type {};
|
@@ -312,8 +312,8 @@ struct __is_duration<const volatile duration<_Rep, _Period> > : true_type {};
|
|
312
312
|
} // chrono
|
313
313
|
|
314
314
|
template <class _Rep1, class _Period1, class _Rep2, class _Period2>
|
315
|
-
struct
|
316
|
-
|
315
|
+
struct _LIBCPP_TYPE_VIS_ONLY common_type<chrono::duration<_Rep1, _Period1>,
|
316
|
+
chrono::duration<_Rep2, _Period2> >
|
317
317
|
{
|
318
318
|
typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type,
|
319
319
|
typename __ratio_gcd<_Period1, _Period2>::type> type;
|
@@ -390,10 +390,10 @@ duration_cast(const duration<_Rep, _Period>& __fd)
|
|
390
390
|
}
|
391
391
|
|
392
392
|
template <class _Rep>
|
393
|
-
struct
|
393
|
+
struct _LIBCPP_TYPE_VIS_ONLY treat_as_floating_point : is_floating_point<_Rep> {};
|
394
394
|
|
395
395
|
template <class _Rep>
|
396
|
-
struct
|
396
|
+
struct _LIBCPP_TYPE_VIS_ONLY duration_values
|
397
397
|
{
|
398
398
|
public:
|
399
399
|
_LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR _Rep zero() {return _Rep(0);}
|
@@ -404,11 +404,42 @@ public:
|
|
404
404
|
// duration
|
405
405
|
|
406
406
|
template <class _Rep, class _Period>
|
407
|
-
class
|
407
|
+
class _LIBCPP_TYPE_VIS_ONLY duration
|
408
408
|
{
|
409
409
|
static_assert(!__is_duration<_Rep>::value, "A duration representation can not be a duration");
|
410
410
|
static_assert(__is_ratio<_Period>::value, "Second template parameter of duration must be a std::ratio");
|
411
411
|
static_assert(_Period::num > 0, "duration period must be positive");
|
412
|
+
|
413
|
+
template <class _R1, class _R2>
|
414
|
+
struct __no_overflow
|
415
|
+
{
|
416
|
+
private:
|
417
|
+
static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value;
|
418
|
+
static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value;
|
419
|
+
static const intmax_t __n1 = _R1::num / __gcd_n1_n2;
|
420
|
+
static const intmax_t __d1 = _R1::den / __gcd_d1_d2;
|
421
|
+
static const intmax_t __n2 = _R2::num / __gcd_n1_n2;
|
422
|
+
static const intmax_t __d2 = _R2::den / __gcd_d1_d2;
|
423
|
+
static const intmax_t max = -((intmax_t(1) << (sizeof(intmax_t) * CHAR_BIT - 1)) + 1);
|
424
|
+
|
425
|
+
template <intmax_t _Xp, intmax_t _Yp, bool __overflow>
|
426
|
+
struct __mul // __overflow == false
|
427
|
+
{
|
428
|
+
static const intmax_t value = _Xp * _Yp;
|
429
|
+
};
|
430
|
+
|
431
|
+
template <intmax_t _Xp, intmax_t _Yp>
|
432
|
+
struct __mul<_Xp, _Yp, true>
|
433
|
+
{
|
434
|
+
static const intmax_t value = 1;
|
435
|
+
};
|
436
|
+
|
437
|
+
public:
|
438
|
+
static const bool value = (__n1 <= max / __d2) && (__n2 <= max / __d1);
|
439
|
+
typedef ratio<__mul<__n1, __d2, !value>::value,
|
440
|
+
__mul<__n2, __d1, !value>::value> type;
|
441
|
+
};
|
442
|
+
|
412
443
|
public:
|
413
444
|
typedef _Rep rep;
|
414
445
|
typedef _Period period;
|
@@ -440,9 +471,10 @@ public:
|
|
440
471
|
duration(const duration<_Rep2, _Period2>& __d,
|
441
472
|
typename enable_if
|
442
473
|
<
|
474
|
+
__no_overflow<_Period2, period>::value && (
|
443
475
|
treat_as_floating_point<rep>::value ||
|
444
|
-
(
|
445
|
-
!treat_as_floating_point<_Rep2>::value)
|
476
|
+
(__no_overflow<_Period2, period>::type::den == 1 &&
|
477
|
+
!treat_as_floating_point<_Rep2>::value))
|
446
478
|
>::type* = 0)
|
447
479
|
: __rep_(_VSTD::chrono::duration_cast<duration>(__d).count()) {}
|
448
480
|
|
@@ -715,7 +747,7 @@ operator%(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2
|
|
715
747
|
//////////////////////////////////////////////////////////
|
716
748
|
|
717
749
|
template <class _Clock, class _Duration = typename _Clock::duration>
|
718
|
-
class
|
750
|
+
class _LIBCPP_TYPE_VIS_ONLY time_point
|
719
751
|
{
|
720
752
|
static_assert(__is_duration<_Duration>::value,
|
721
753
|
"Second template parameter of time_point must be a std::chrono::duration");
|
@@ -759,8 +791,8 @@ public:
|
|
759
791
|
} // chrono
|
760
792
|
|
761
793
|
template <class _Clock, class _Duration1, class _Duration2>
|
762
|
-
struct
|
763
|
-
|
794
|
+
struct _LIBCPP_TYPE_VIS_ONLY common_type<chrono::time_point<_Clock, _Duration1>,
|
795
|
+
chrono::time_point<_Clock, _Duration2> >
|
764
796
|
{
|
765
797
|
typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type;
|
766
798
|
};
|
@@ -910,12 +942,9 @@ typedef steady_clock high_resolution_clock;
|
|
910
942
|
|
911
943
|
} // chrono
|
912
944
|
|
913
|
-
#if _LIBCPP_STD_VER > 11
|
914
|
-
//
|
915
|
-
|
916
|
-
// We believe the inline to be a defect and have submitted an LWG issue.
|
917
|
-
// An LWG issue number has not yet been assigned.
|
918
|
-
namespace literals
|
945
|
+
#if _LIBCPP_STD_VER > 11
|
946
|
+
// Suffixes for duration literals [time.duration.literals]
|
947
|
+
inline namespace literals
|
919
948
|
{
|
920
949
|
inline namespace chrono_literals
|
921
950
|
{
|
@@ -986,6 +1015,11 @@ namespace literals
|
|
986
1015
|
}
|
987
1016
|
|
988
1017
|
}}
|
1018
|
+
|
1019
|
+
namespace chrono { // hoist the literals into namespace std::chrono
|
1020
|
+
using namespace literals::chrono_literals;
|
1021
|
+
}
|
1022
|
+
|
989
1023
|
#endif
|
990
1024
|
|
991
1025
|
_LIBCPP_END_NAMESPACE_STD
|
@@ -654,6 +654,7 @@ using ::double_t;
|
|
654
654
|
|
655
655
|
// abs
|
656
656
|
|
657
|
+
#if !defined(_AIX)
|
657
658
|
inline _LIBCPP_INLINE_VISIBILITY
|
658
659
|
float
|
659
660
|
abs(float __x) _NOEXCEPT {return fabsf(__x);}
|
@@ -665,6 +666,7 @@ abs(double __x) _NOEXCEPT {return fabs(__x);}
|
|
665
666
|
inline _LIBCPP_INLINE_VISIBILITY
|
666
667
|
long double
|
667
668
|
abs(long double __x) _NOEXCEPT {return fabsl(__x);}
|
669
|
+
#endif // !defined(_AIX)
|
668
670
|
|
669
671
|
#ifndef __sun__
|
670
672
|
|
@@ -673,7 +675,7 @@ abs(long double __x) _NOEXCEPT {return fabsl(__x);}
|
|
673
675
|
using ::acos;
|
674
676
|
using ::acosf;
|
675
677
|
|
676
|
-
#
|
678
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
677
679
|
inline _LIBCPP_INLINE_VISIBILITY float acos(float __x) _NOEXCEPT {return acosf(__x);}
|
678
680
|
inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __x) _NOEXCEPT {return acosl(__x);}
|
679
681
|
#endif
|
@@ -688,7 +690,7 @@ acos(_A1 __x) _NOEXCEPT {return acos((double)__x);}
|
|
688
690
|
using ::asin;
|
689
691
|
using ::asinf;
|
690
692
|
|
691
|
-
#
|
693
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
692
694
|
inline _LIBCPP_INLINE_VISIBILITY float asin(float __x) _NOEXCEPT {return asinf(__x);}
|
693
695
|
inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __x) _NOEXCEPT {return asinl(__x);}
|
694
696
|
#endif
|
@@ -703,7 +705,7 @@ asin(_A1 __x) _NOEXCEPT {return asin((double)__x);}
|
|
703
705
|
using ::atan;
|
704
706
|
using ::atanf;
|
705
707
|
|
706
|
-
#
|
708
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
707
709
|
inline _LIBCPP_INLINE_VISIBILITY float atan(float __x) _NOEXCEPT {return atanf(__x);}
|
708
710
|
inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __x) _NOEXCEPT {return atanl(__x);}
|
709
711
|
#endif
|
@@ -718,7 +720,7 @@ atan(_A1 __x) _NOEXCEPT {return atan((double)__x);}
|
|
718
720
|
using ::atan2;
|
719
721
|
using ::atan2f;
|
720
722
|
|
721
|
-
#
|
723
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
722
724
|
inline _LIBCPP_INLINE_VISIBILITY float atan2(float __y, float __x) _NOEXCEPT {return atan2f(__y, __x);}
|
723
725
|
inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __y, long double __x) _NOEXCEPT {return atan2l(__y, __x);}
|
724
726
|
#endif
|
@@ -744,7 +746,7 @@ atan2(_A1 __y, _A2 __x) _NOEXCEPT
|
|
744
746
|
using ::ceil;
|
745
747
|
using ::ceilf;
|
746
748
|
|
747
|
-
#
|
749
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
748
750
|
inline _LIBCPP_INLINE_VISIBILITY float ceil(float __x) _NOEXCEPT {return ceilf(__x);}
|
749
751
|
inline _LIBCPP_INLINE_VISIBILITY long double ceil(long double __x) _NOEXCEPT {return ceill(__x);}
|
750
752
|
#endif
|
@@ -759,13 +761,13 @@ ceil(_A1 __x) _NOEXCEPT {return ceil((double)__x);}
|
|
759
761
|
using ::cos;
|
760
762
|
using ::cosf;
|
761
763
|
|
762
|
-
#
|
764
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
763
765
|
inline _LIBCPP_INLINE_VISIBILITY float cos(float __x) _NOEXCEPT {return cosf(__x);}
|
764
766
|
inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __x) _NOEXCEPT {return cosl(__x);}
|
765
767
|
#endif
|
766
768
|
|
767
769
|
template <class _A1>
|
768
|
-
inline
|
770
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
769
771
|
typename enable_if<is_integral<_A1>::value, double>::type
|
770
772
|
cos(_A1 __x) _NOEXCEPT {return cos((double)__x);}
|
771
773
|
|
@@ -774,7 +776,7 @@ cos(_A1 __x) _NOEXCEPT {return cos((double)__x);}
|
|
774
776
|
using ::cosh;
|
775
777
|
using ::coshf;
|
776
778
|
|
777
|
-
#
|
779
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
778
780
|
inline _LIBCPP_INLINE_VISIBILITY float cosh(float __x) _NOEXCEPT {return coshf(__x);}
|
779
781
|
inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __x) _NOEXCEPT {return coshl(__x);}
|
780
782
|
#endif
|
@@ -792,7 +794,7 @@ using ::expf;
|
|
792
794
|
|
793
795
|
#ifndef __sun__
|
794
796
|
|
795
|
-
#
|
797
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
796
798
|
inline _LIBCPP_INLINE_VISIBILITY float exp(float __x) _NOEXCEPT {return expf(__x);}
|
797
799
|
inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __x) _NOEXCEPT {return expl(__x);}
|
798
800
|
#endif
|
@@ -808,7 +810,7 @@ exp(_A1 __x) _NOEXCEPT {return exp((double)__x);}
|
|
808
810
|
using ::fabs;
|
809
811
|
using ::fabsf;
|
810
812
|
|
811
|
-
#
|
813
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
812
814
|
inline _LIBCPP_INLINE_VISIBILITY float fabs(float __x) _NOEXCEPT {return fabsf(__x);}
|
813
815
|
inline _LIBCPP_INLINE_VISIBILITY long double fabs(long double __x) _NOEXCEPT {return fabsl(__x);}
|
814
816
|
#endif
|
@@ -823,7 +825,7 @@ fabs(_A1 __x) _NOEXCEPT {return fabs((double)__x);}
|
|
823
825
|
using ::floor;
|
824
826
|
using ::floorf;
|
825
827
|
|
826
|
-
#
|
828
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
827
829
|
inline _LIBCPP_INLINE_VISIBILITY float floor(float __x) _NOEXCEPT {return floorf(__x);}
|
828
830
|
inline _LIBCPP_INLINE_VISIBILITY long double floor(long double __x) _NOEXCEPT {return floorl(__x);}
|
829
831
|
#endif
|
@@ -840,7 +842,7 @@ using ::fmod;
|
|
840
842
|
using ::fmodf;
|
841
843
|
#ifndef __sun__
|
842
844
|
|
843
|
-
#
|
845
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
844
846
|
inline _LIBCPP_INLINE_VISIBILITY float fmod(float __x, float __y) _NOEXCEPT {return fmodf(__x, __y);}
|
845
847
|
inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __x, long double __y) _NOEXCEPT {return fmodl(__x, __y);}
|
846
848
|
#endif
|
@@ -867,7 +869,7 @@ fmod(_A1 __x, _A2 __y) _NOEXCEPT
|
|
867
869
|
using ::frexp;
|
868
870
|
using ::frexpf;
|
869
871
|
|
870
|
-
#
|
872
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
871
873
|
inline _LIBCPP_INLINE_VISIBILITY float frexp(float __x, int* __e) _NOEXCEPT {return frexpf(__x, __e);}
|
872
874
|
inline _LIBCPP_INLINE_VISIBILITY long double frexp(long double __x, int* __e) _NOEXCEPT {return frexpl(__x, __e);}
|
873
875
|
#endif
|
@@ -882,7 +884,7 @@ frexp(_A1 __x, int* __e) _NOEXCEPT {return frexp((double)__x, __e);}
|
|
882
884
|
using ::ldexp;
|
883
885
|
using ::ldexpf;
|
884
886
|
|
885
|
-
#
|
887
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
886
888
|
inline _LIBCPP_INLINE_VISIBILITY float ldexp(float __x, int __e) _NOEXCEPT {return ldexpf(__x, __e);}
|
887
889
|
inline _LIBCPP_INLINE_VISIBILITY long double ldexp(long double __x, int __e) _NOEXCEPT {return ldexpl(__x, __e);}
|
888
890
|
#endif
|
@@ -899,7 +901,7 @@ using ::log;
|
|
899
901
|
using ::logf;
|
900
902
|
#ifndef __sun__
|
901
903
|
|
902
|
-
#
|
904
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
903
905
|
inline _LIBCPP_INLINE_VISIBILITY float log(float __x) _NOEXCEPT {return logf(__x);}
|
904
906
|
inline _LIBCPP_INLINE_VISIBILITY long double log(long double __x) _NOEXCEPT {return logl(__x);}
|
905
907
|
#endif
|
@@ -915,7 +917,7 @@ log(_A1 __x) _NOEXCEPT {return log((double)__x);}
|
|
915
917
|
using ::log10;
|
916
918
|
using ::log10f;
|
917
919
|
|
918
|
-
#
|
920
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
919
921
|
inline _LIBCPP_INLINE_VISIBILITY float log10(float __x) _NOEXCEPT {return log10f(__x);}
|
920
922
|
inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __x) _NOEXCEPT {return log10l(__x);}
|
921
923
|
#endif
|
@@ -930,7 +932,7 @@ log10(_A1 __x) _NOEXCEPT {return log10((double)__x);}
|
|
930
932
|
using ::modf;
|
931
933
|
using ::modff;
|
932
934
|
|
933
|
-
#
|
935
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
934
936
|
inline _LIBCPP_INLINE_VISIBILITY float modf(float __x, float* __y) _NOEXCEPT {return modff(__x, __y);}
|
935
937
|
inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __x, long double* __y) _NOEXCEPT {return modfl(__x, __y);}
|
936
938
|
#endif
|
@@ -943,7 +945,7 @@ using ::powf;
|
|
943
945
|
|
944
946
|
#ifndef __sun__
|
945
947
|
|
946
|
-
#
|
948
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
947
949
|
inline _LIBCPP_INLINE_VISIBILITY float pow(float __x, float __y) _NOEXCEPT {return powf(__x, __y);}
|
948
950
|
inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __x, long double __y) _NOEXCEPT {return powl(__x, __y);}
|
949
951
|
#endif
|
@@ -970,7 +972,7 @@ pow(_A1 __x, _A2 __y) _NOEXCEPT
|
|
970
972
|
using ::sin;
|
971
973
|
using ::sinf;
|
972
974
|
|
973
|
-
#
|
975
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
974
976
|
inline _LIBCPP_INLINE_VISIBILITY float sin(float __x) _NOEXCEPT {return sinf(__x);}
|
975
977
|
inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __x) _NOEXCEPT {return sinl(__x);}
|
976
978
|
#endif
|
@@ -985,7 +987,7 @@ sin(_A1 __x) _NOEXCEPT {return sin((double)__x);}
|
|
985
987
|
using ::sinh;
|
986
988
|
using ::sinhf;
|
987
989
|
|
988
|
-
#
|
990
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
989
991
|
inline _LIBCPP_INLINE_VISIBILITY float sinh(float __x) _NOEXCEPT {return sinhf(__x);}
|
990
992
|
inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __x) _NOEXCEPT {return sinhl(__x);}
|
991
993
|
#endif
|
@@ -1002,7 +1004,7 @@ using ::sqrt;
|
|
1002
1004
|
using ::sqrtf;
|
1003
1005
|
|
1004
1006
|
|
1005
|
-
#if !(defined(_LIBCPP_MSVCRT) || defined(__sun__))
|
1007
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(__sun__) || defined(_AIX))
|
1006
1008
|
inline _LIBCPP_INLINE_VISIBILITY float sqrt(float __x) _NOEXCEPT {return sqrtf(__x);}
|
1007
1009
|
inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __x) _NOEXCEPT {return sqrtl(__x);}
|
1008
1010
|
#endif
|
@@ -1018,7 +1020,7 @@ using ::tan;
|
|
1018
1020
|
using ::tanf;
|
1019
1021
|
#ifndef __sun__
|
1020
1022
|
|
1021
|
-
#
|
1023
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
1022
1024
|
inline _LIBCPP_INLINE_VISIBILITY float tan(float __x) _NOEXCEPT {return tanf(__x);}
|
1023
1025
|
inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __x) _NOEXCEPT {return tanl(__x);}
|
1024
1026
|
#endif
|
@@ -1033,7 +1035,7 @@ tan(_A1 __x) _NOEXCEPT {return tan((double)__x);}
|
|
1033
1035
|
using ::tanh;
|
1034
1036
|
using ::tanhf;
|
1035
1037
|
|
1036
|
-
#
|
1038
|
+
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
|
1037
1039
|
inline _LIBCPP_INLINE_VISIBILITY float tanh(float __x) _NOEXCEPT {return tanhf(__x);}
|
1038
1040
|
inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __x) _NOEXCEPT {return tanhl(__x);}
|
1039
1041
|
#endif
|
@@ -29,7 +29,8 @@ template <class Elem, unsigned long Maxcode = 0x10ffff,
|
|
29
29
|
class codecvt_utf8
|
30
30
|
: public codecvt<Elem, char, mbstate_t>
|
31
31
|
{
|
32
|
-
|
32
|
+
explicit codecvt_utf8(size_t refs = 0);
|
33
|
+
~codecvt_utf8();
|
33
34
|
};
|
34
35
|
|
35
36
|
template <class Elem, unsigned long Maxcode = 0x10ffff,
|
@@ -37,7 +38,8 @@ template <class Elem, unsigned long Maxcode = 0x10ffff,
|
|
37
38
|
class codecvt_utf16
|
38
39
|
: public codecvt<Elem, char, mbstate_t>
|
39
40
|
{
|
40
|
-
|
41
|
+
explicit codecvt_utf16(size_t refs = 0);
|
42
|
+
~codecvt_utf16();
|
41
43
|
};
|
42
44
|
|
43
45
|
template <class Elem, unsigned long Maxcode = 0x10ffff,
|
@@ -45,7 +47,8 @@ template <class Elem, unsigned long Maxcode = 0x10ffff,
|
|
45
47
|
class codecvt_utf8_utf16
|
46
48
|
: public codecvt<Elem, char, mbstate_t>
|
47
49
|
{
|
48
|
-
|
50
|
+
explicit codecvt_utf8_utf16(size_t refs = 0);
|
51
|
+
~codecvt_utf8_utf16();
|
49
52
|
};
|
50
53
|
|
51
54
|
} // std
|
@@ -73,7 +76,7 @@ enum codecvt_mode
|
|
73
76
|
template <class _Elem> class __codecvt_utf8;
|
74
77
|
|
75
78
|
template <>
|
76
|
-
class __codecvt_utf8<wchar_t>
|
79
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf8<wchar_t>
|
77
80
|
: public codecvt<wchar_t, char, mbstate_t>
|
78
81
|
{
|
79
82
|
unsigned long _Maxcode_;
|
@@ -108,7 +111,7 @@ protected:
|
|
108
111
|
};
|
109
112
|
|
110
113
|
template <>
|
111
|
-
class __codecvt_utf8<char16_t>
|
114
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf8<char16_t>
|
112
115
|
: public codecvt<char16_t, char, mbstate_t>
|
113
116
|
{
|
114
117
|
unsigned long _Maxcode_;
|
@@ -143,7 +146,7 @@ protected:
|
|
143
146
|
};
|
144
147
|
|
145
148
|
template <>
|
146
|
-
class __codecvt_utf8<char32_t>
|
149
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf8<char32_t>
|
147
150
|
: public codecvt<char32_t, char, mbstate_t>
|
148
151
|
{
|
149
152
|
unsigned long _Maxcode_;
|
@@ -179,7 +182,7 @@ protected:
|
|
179
182
|
|
180
183
|
template <class _Elem, unsigned long _Maxcode = 0x10ffff,
|
181
184
|
codecvt_mode _Mode = (codecvt_mode)0>
|
182
|
-
class
|
185
|
+
class _LIBCPP_TYPE_VIS_ONLY codecvt_utf8
|
183
186
|
: public __codecvt_utf8<_Elem>
|
184
187
|
{
|
185
188
|
public:
|
@@ -196,7 +199,7 @@ public:
|
|
196
199
|
template <class _Elem, bool _LittleEndian> class __codecvt_utf16;
|
197
200
|
|
198
201
|
template <>
|
199
|
-
class __codecvt_utf16<wchar_t, false>
|
202
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, false>
|
200
203
|
: public codecvt<wchar_t, char, mbstate_t>
|
201
204
|
{
|
202
205
|
unsigned long _Maxcode_;
|
@@ -231,7 +234,7 @@ protected:
|
|
231
234
|
};
|
232
235
|
|
233
236
|
template <>
|
234
|
-
class __codecvt_utf16<wchar_t, true>
|
237
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, true>
|
235
238
|
: public codecvt<wchar_t, char, mbstate_t>
|
236
239
|
{
|
237
240
|
unsigned long _Maxcode_;
|
@@ -266,7 +269,7 @@ protected:
|
|
266
269
|
};
|
267
270
|
|
268
271
|
template <>
|
269
|
-
class __codecvt_utf16<char16_t, false>
|
272
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, false>
|
270
273
|
: public codecvt<char16_t, char, mbstate_t>
|
271
274
|
{
|
272
275
|
unsigned long _Maxcode_;
|
@@ -301,7 +304,7 @@ protected:
|
|
301
304
|
};
|
302
305
|
|
303
306
|
template <>
|
304
|
-
class __codecvt_utf16<char16_t, true>
|
307
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, true>
|
305
308
|
: public codecvt<char16_t, char, mbstate_t>
|
306
309
|
{
|
307
310
|
unsigned long _Maxcode_;
|
@@ -336,7 +339,7 @@ protected:
|
|
336
339
|
};
|
337
340
|
|
338
341
|
template <>
|
339
|
-
class __codecvt_utf16<char32_t, false>
|
342
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, false>
|
340
343
|
: public codecvt<char32_t, char, mbstate_t>
|
341
344
|
{
|
342
345
|
unsigned long _Maxcode_;
|
@@ -371,7 +374,7 @@ protected:
|
|
371
374
|
};
|
372
375
|
|
373
376
|
template <>
|
374
|
-
class __codecvt_utf16<char32_t, true>
|
377
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, true>
|
375
378
|
: public codecvt<char32_t, char, mbstate_t>
|
376
379
|
{
|
377
380
|
unsigned long _Maxcode_;
|
@@ -407,7 +410,7 @@ protected:
|
|
407
410
|
|
408
411
|
template <class _Elem, unsigned long _Maxcode = 0x10ffff,
|
409
412
|
codecvt_mode _Mode = (codecvt_mode)0>
|
410
|
-
class
|
413
|
+
class _LIBCPP_TYPE_VIS_ONLY codecvt_utf16
|
411
414
|
: public __codecvt_utf16<_Elem, _Mode & little_endian>
|
412
415
|
{
|
413
416
|
public:
|
@@ -424,7 +427,7 @@ public:
|
|
424
427
|
template <class _Elem> class __codecvt_utf8_utf16;
|
425
428
|
|
426
429
|
template <>
|
427
|
-
class __codecvt_utf8_utf16<wchar_t>
|
430
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<wchar_t>
|
428
431
|
: public codecvt<wchar_t, char, mbstate_t>
|
429
432
|
{
|
430
433
|
unsigned long _Maxcode_;
|
@@ -459,7 +462,7 @@ protected:
|
|
459
462
|
};
|
460
463
|
|
461
464
|
template <>
|
462
|
-
class __codecvt_utf8_utf16<char32_t>
|
465
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char32_t>
|
463
466
|
: public codecvt<char32_t, char, mbstate_t>
|
464
467
|
{
|
465
468
|
unsigned long _Maxcode_;
|
@@ -494,7 +497,7 @@ protected:
|
|
494
497
|
};
|
495
498
|
|
496
499
|
template <>
|
497
|
-
class __codecvt_utf8_utf16<char16_t>
|
500
|
+
class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char16_t>
|
498
501
|
: public codecvt<char16_t, char, mbstate_t>
|
499
502
|
{
|
500
503
|
unsigned long _Maxcode_;
|
@@ -530,7 +533,7 @@ protected:
|
|
530
533
|
|
531
534
|
template <class _Elem, unsigned long _Maxcode = 0x10ffff,
|
532
535
|
codecvt_mode _Mode = (codecvt_mode)0>
|
533
|
-
class
|
536
|
+
class _LIBCPP_TYPE_VIS_ONLY codecvt_utf8_utf16
|
534
537
|
: public __codecvt_utf8_utf16<_Elem>
|
535
538
|
{
|
536
539
|
public:
|