You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/status_of_cpp0x_characters_support.txt
+10-12Lines changed: 10 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -7,32 +7,30 @@
7
7
/*!
8
8
\page status_of_cpp0x_characters_support Status of C++11 char16_t/char32_t support
9
9
10
-
The support of C++11 \c char16_t and \c char32_t is experimental, mostly does not work, and is not
11
-
intended to be used in production with the latest compilers: GCC-4.5, MSVC10 until major
12
-
compiler flaws are fixed.
10
+
The support of C++11 \c char16_t and \c char32_t is experimental and is not
11
+
intended to be used in production until various compiler/standard library flaws are fixed.
13
12
14
-
\section status_of_cpp0x_characters_support_gnu GNU GCC 4.5/C++11 Status
13
+
Many recent C++ compilers provide decent support of C++11 characters, however often:
15
14
16
-
GNU C++ compiler provides decent support of C++11 characters however:
17
-
18
-
-# Standard library does not install any std::locale::facets for this support so any attempt
15
+
-# The standard library does not install any std::locale::facets for this support so any attempt
19
16
to format numbers using \c char16_t or \c char32_t streams would just fail.
20
-
-# Standard library misses specialization for required \c char16_t/char32_t locale facets,
17
+
-# The standard library misses specialization for required \c char16_t/char32_t locale facets,
21
18
so "std" backends is not build-able as essential symbols missing, also \c codecvt facet
22
19
can't be created as well.
23
20
24
-
\section status_of_cpp0x_characters_support_msvc Visual Studio 2010 (MSVC10)/C++11 Status
21
+
\section status_of_cpp0x_characters_support_msvc Visual Studio
25
22
26
-
MSVC provides all required facets however:
23
+
MSVC provides all required facets since VS 2010 however:
27
24
28
-
-# Standard library does not provide installations of std::locale::id for these facets
25
+
-# The standard library does not provide installations of std::locale::id for these facets
29
26
in DLL so it is not usable with \c /MD, \c /MDd compiler flags and requires static link of the runtime
30
27
library.
31
28
-# \c char16_t and \c char32_t are not distinct types but rather aliases of unsigned short and unsigned
32
29
types which contradicts to C++11 requirements making it impossible to write \c char16_t/char32_t to stream
33
30
and causing multiple faults.
34
31
35
-
If you want to build or test Boost.Locale with C++11 char16_t and char32_t support you should pass `cxxflags="-DBOOST_LOCALE_ENABLE_CHAR32_T -DBOOST_LOCALE_ENABLE_CHAR16_T"` to `b2` during build and define `BOOST_LOCALE_ENABLE_CHAR32_T` and `BOOST_LOCALE_ENABLE_CHAR32_T` when using Boost.Locale
32
+
If you want to build or test Boost.Locale with C++11 char16_t and char32_t support
33
+
you should pass `define=BOOST_LOCALE_ENABLE_CHAR32_T define=BOOST_LOCALE_ENABLE_CHAR16_T` to `b2` during build and define `BOOST_LOCALE_ENABLE_CHAR32_T` and `BOOST_LOCALE_ENABLE_CHAR32_T` when using Boost.Locale
0 commit comments