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
@@ -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:
|