196
199
template <class _Elem, bool _LittleEndian> class __codecvt_utf16;
199
class __codecvt_utf16<wchar_t, false>
200
: public codecvt<wchar_t, char, mbstate_t>
202
unsigned long _Maxcode_;
205
typedef wchar_t intern_type;
206
typedef char extern_type;
207
typedef mbstate_t state_type;
209
_LIBCPP_ALWAYS_INLINE
210
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
212
: codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
216
do_out(state_type& __st,
217
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
218
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
220
do_in(state_type& __st,
221
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
222
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
224
do_unshift(state_type& __st,
225
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
226
virtual int do_encoding() const throw();
227
virtual bool do_always_noconv() const throw();
228
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
230
virtual int do_max_length() const throw();
234
class __codecvt_utf16<wchar_t, true>
235
: public codecvt<wchar_t, char, mbstate_t>
237
unsigned long _Maxcode_;
240
typedef wchar_t intern_type;
241
typedef char extern_type;
242
typedef mbstate_t state_type;
244
_LIBCPP_ALWAYS_INLINE
245
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
247
: codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
251
do_out(state_type& __st,
252
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
253
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
255
do_in(state_type& __st,
256
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
257
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
259
do_unshift(state_type& __st,
260
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
261
virtual int do_encoding() const throw();
262
virtual bool do_always_noconv() const throw();
263
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
265
virtual int do_max_length() const throw();
269
class __codecvt_utf16<char16_t, false>
270
: public codecvt<char16_t, char, mbstate_t>
272
unsigned long _Maxcode_;
275
typedef char16_t intern_type;
276
typedef char extern_type;
277
typedef mbstate_t state_type;
279
_LIBCPP_ALWAYS_INLINE
280
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
282
: codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
286
do_out(state_type& __st,
287
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
288
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
290
do_in(state_type& __st,
291
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
292
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
294
do_unshift(state_type& __st,
295
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
296
virtual int do_encoding() const throw();
297
virtual bool do_always_noconv() const throw();
298
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
300
virtual int do_max_length() const throw();
304
class __codecvt_utf16<char16_t, true>
305
: public codecvt<char16_t, char, mbstate_t>
307
unsigned long _Maxcode_;
310
typedef char16_t intern_type;
311
typedef char extern_type;
312
typedef mbstate_t state_type;
314
_LIBCPP_ALWAYS_INLINE
315
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
317
: codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
321
do_out(state_type& __st,
322
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
323
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
325
do_in(state_type& __st,
326
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
327
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
329
do_unshift(state_type& __st,
330
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
331
virtual int do_encoding() const throw();
332
virtual bool do_always_noconv() const throw();
333
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
335
virtual int do_max_length() const throw();
339
class __codecvt_utf16<char32_t, false>
202
class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, false>
203
: public codecvt<wchar_t, char, mbstate_t>
205
unsigned long _Maxcode_;
208
typedef wchar_t intern_type;
209
typedef char extern_type;
210
typedef mbstate_t state_type;
212
_LIBCPP_ALWAYS_INLINE
213
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
215
: codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
219
do_out(state_type& __st,
220
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
221
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
223
do_in(state_type& __st,
224
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
225
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
227
do_unshift(state_type& __st,
228
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
229
virtual int do_encoding() const throw();
230
virtual bool do_always_noconv() const throw();
231
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
233
virtual int do_max_length() const throw();
237
class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, true>
238
: public codecvt<wchar_t, char, mbstate_t>
240
unsigned long _Maxcode_;
243
typedef wchar_t intern_type;
244
typedef char extern_type;
245
typedef mbstate_t state_type;
247
_LIBCPP_ALWAYS_INLINE
248
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
250
: codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
254
do_out(state_type& __st,
255
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
256
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
258
do_in(state_type& __st,
259
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
260
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
262
do_unshift(state_type& __st,
263
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
264
virtual int do_encoding() const throw();
265
virtual bool do_always_noconv() const throw();
266
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
268
virtual int do_max_length() const throw();
272
class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, false>
273
: public codecvt<char16_t, char, mbstate_t>
275
unsigned long _Maxcode_;
278
typedef char16_t intern_type;
279
typedef char extern_type;
280
typedef mbstate_t state_type;
282
_LIBCPP_ALWAYS_INLINE
283
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
285
: codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
289
do_out(state_type& __st,
290
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
291
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
293
do_in(state_type& __st,
294
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
295
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
297
do_unshift(state_type& __st,
298
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
299
virtual int do_encoding() const throw();
300
virtual bool do_always_noconv() const throw();
301
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
303
virtual int do_max_length() const throw();
307
class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, true>
308
: public codecvt<char16_t, char, mbstate_t>
310
unsigned long _Maxcode_;
313
typedef char16_t intern_type;
314
typedef char extern_type;
315
typedef mbstate_t state_type;
317
_LIBCPP_ALWAYS_INLINE
318
explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
320
: codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
324
do_out(state_type& __st,
325
const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
326
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
328
do_in(state_type& __st,
329
const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
330
intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
332
do_unshift(state_type& __st,
333
extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
334
virtual int do_encoding() const throw();
335
virtual bool do_always_noconv() const throw();
336
virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
338
virtual int do_max_length() const throw();
342
class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, false>
340
343
: public codecvt<char32_t, char, mbstate_t>
342
345
unsigned long _Maxcode_;