35template <
class _CharT>
36_RW::__rw_facet_id messages<_CharT>::id;
41template <
class _CharT>
49template <
class _CharT>
52do_open (
const string& __fun,
const locale&__loc)
const
54 return _RW::__rw_cat_open (__fun, __loc);
58template <
class _CharT>
61do_close (messages_base::catalog __cat)
const
63 _RW::__rw_cat_close (__cat);
67template <
class _CharT>
68typename messages<_CharT>::string_type
69messages<_CharT>::do_get (messages_base::catalog __cat,
72 const string_type &__dfault)
const
74 const char*
const __text = _RW::__rw_get_message (__cat, __set, __msgid);
77 typedef _STD::codecvt<_CharT, char, _RWSTD_MBSTATE_T>
80 typedef typename _CodeCvt::state_type state_type;
82 const _CodeCvt& __codecvt =
85 if (
sizeof (_CharT) ==
sizeof (
char) && __codecvt.always_noconv ()) {
91 typedef char_traits<char> _CharTraits;
92 typedef _RWSTD_SIZE_T _SizeT;
94 const _SizeT __src_len = _CharTraits::length (__text);
95 const char*
const __src_first = __text;
96 const char*
const __src_last = __text + __src_len;
97 const char* __src_next = __src_first;
102 string_type __result_str ((
const _CharT*)0, __src_len);
104 _CharT*
const __dst_first = &__result_str [0];
105 _CharT*
const __dst_last = __dst_first + __src_len;
106 _CharT* __dst_next = __dst_first;
108 state_type __state = state_type ();
113 __codecvt.in (__state, __src_first, __src_last, __src_next,
114 __dst_first, __dst_last, __dst_next);
117 case codecvt_base::ok:
121 __result_str.resize (_SizeT (__dst_next - __dst_first));
124 case codecvt_base::noconv:
125 if (
sizeof (_CharT) ==
sizeof (
char)) {
133 typedef ctype<_CharT> _Ctype;
135 const _Ctype& __ctp =
138 for (_SizeT __i = 0; __i != __src_len; ++__i)
139 __dst_first [__i] = __ctp.widen (__text [__i]);
144 case codecvt_base::partial:
156template <
class _CharT>
157 messages_byname<_CharT>::
#define _RWSTD_USE_FACET(type, arg)
#define _RWSTD_REINTERPRET_CAST(T, x)
#define _RWSTD_NAMESPACE(name)
#define _RWSTD_ASSERT(ignore)