* src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range<Elem, false>): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range<const char16_t, false> in order to avoid unaligned reads. (__codecvt_utf16_base<char16_t>::do_out) (__codecvt_utf16_base<char32_t>::do_out) (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base<char16_t>::do_in) (__codecvt_utf16_base<char32_t>::do_in) (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base<char16_t>::do_length) (__codecvt_utf16_base<char32_t>::do_length) (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type range<const char16_t, false> to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. From-SVN: r246245
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
17_intro | Loading commit data... | |
18_support | Loading commit data... | |
19_diagnostics | Loading commit data... | |
20_util | Loading commit data... | |
21_strings | Loading commit data... | |
22_locale | Loading commit data... | |
23_containers | Loading commit data... | |
24_iterators | Loading commit data... | |
25_algorithms | Loading commit data... | |
26_numerics | Loading commit data... | |
27_io | Loading commit data... | |
28_regex | Loading commit data... | |
29_atomics | Loading commit data... | |
30_threads | Loading commit data... | |
abi | Loading commit data... | |
backward | Loading commit data... | |
config | Loading commit data... | |
data | Loading commit data... | |
decimal | Loading commit data... | |
experimental | Loading commit data... | |
ext | Loading commit data... | |
lib | Loading commit data... | |
libstdc++-abi | Loading commit data... | |
libstdc++-dg | Loading commit data... | |
libstdc++-prettyprinters | Loading commit data... | |
libstdc++-xmethods | Loading commit data... | |
performance | Loading commit data... | |
special_functions | Loading commit data... | |
tr1 | Loading commit data... | |
tr2 | Loading commit data... | |
util | Loading commit data... | |
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... |