40 const char*
const names[] = {
57 for (
unsigned i = 0; names [
i]; ++
i) {
58 if (std::setlocale (
LC_ALL, names [
i])) {
59 mbloc = std::locale (names [
i]);
66 typedef std::codecvt<wchar_t, char, std::mbstate_t> MbCvt;
68 const MbCvt &
cvt = std::use_facet<MbCvt>(mbloc);
71 const char src[] =
"abc";
72 wchar_t dst [2] = {
L'\0',
L'\1' };
74 const char* from_next;
78 std::mbstate_t state = std::mbstate_t ();
82 const std::codecvt_base::result
res =
84 src, src + 1, from_next,
85 dst, dst + 2, to_next);
88 assert (1 == from_next - src);
89 assert (1 == to_next - dst);
90 assert (
'a' == dst [0] &&
'\1' == dst [1]);