23#ifndef _STLP_INTERNAL_CODECVT_H
24#define _STLP_INTERNAL_CODECVT_H
26#ifndef _STLP_C_LOCALE_H
30#ifndef _STLP_INTERNAL_LOCALE_H
34#ifndef _STLP_INTERNAL_ALGOBASE_H
45template <
class _InternT,
class _ExternT,
class _StateT>
52#if defined (_STLP_MSVC) && (_STLP_MSVC < 1300)
71 return do_out(__state,
72 __from, __from_end, __from_next,
73 __to, __to_limit, __to_next);
81 return do_unshift(__state, __to, __to_limit, __to_next);
94 __from, __from_end, __from_next,
95 __to, __to_limit, __to_next);
105 size_t __max)
const {
107 return do_length(__state, __from, __from_end,
__max);
124 { __from_next = __from; __to_next = __to;
return noconv; }
133 { __from_next = __from; __to_next = __to;
return noconv; }
139 { __to_next = __to;
return noconv; }
161# if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION)
162# if !defined (__BORLANDC__) || (__BORLANDC__ >= 0x590)
163template <
class _InternT,
class _ExternT,
class _StateT>
169template <
class _InternT,
class _ExternT,
class _StateT>
184 const char* __from_end,
185 const char*& __from_next,
188 char*& __to_next)
const {
191 return do_out(__state,
192 __from, __from_end, __from_next,
193 __to, __to_limit, __to_next);
197 char* __to,
char* __to_limit,
char*& __to_next)
const {
199 return do_unshift(__state, __to, __to_limit, __to_next);
204 const char* __from_end,
205 const char*& __from_next,
208 char*& __to_next)
const {
211 return do_in(__state,
212 __from, __from_end, __from_next,
213 __to, __to_limit, __to_next);
221 const char* __from,
const char* __from_end,
222 size_t __max)
const {
224 return do_length(__state, __from, __from_end,
__max);
237 const char*& __from_next,
240 char*& __to_next)
const;
245 const char*& __from_next,
248 char*& __to_next)
const;
253 char*& __to_next)
const;
267# ifndef _STLP_NO_WCHAR_T
280 const wchar_t* __from,
281 const wchar_t* __from_end,
282 const wchar_t*& __from_next,
285 char*& __to_next)
const {
288 return do_out(__state,
289 __from, __from_end, __from_next,
290 __to, __to_limit, __to_next);
294 char* __to,
char* __to_limit,
char*& __to_next)
const {
296 return do_unshift(__state, __to, __to_limit, __to_next);
301 const char* __from_end,
302 const char*& __from_next,
305 wchar_t*& __to_next)
const {
308 return do_in(__state,
309 __from, __from_end, __from_next,
310 __to, __to_limit, __to_next);
318 const char* __from,
const char* __from_end,
319 size_t __max)
const {
321 return do_length(__state, __from, __from_end,
__max);
332 const wchar_t* __from,
333 const wchar_t* __from_end,
334 const wchar_t*& __from_next,
337 char*& __to_next)
const;
341 const char* __from_end,
342 const char*& __from_next,
345 wchar_t*& __to_next)
const;
350 char*& __to_next)
const;
372 :
public codecvt<char, char, mbstate_t> {
381# ifndef _STLP_NO_WCHAR_T
384 :
public codecvt<wchar_t, char, mbstate_t> {
393 const wchar_t* __from,
394 const wchar_t* __from_end,
395 const wchar_t*& __from_next,
398 char*& __to_next)
const;
402 const char* __from_end,
403 const char*& __from_next,
406 wchar_t*& __to_next)
const;
411 char*& __to_next)
const;
426 : _M_codecvt(__cvt) {}
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
result in(state_type &__state, const char *__from, const char *__from_end, const char *&__from_next, char *__to, char *__to_limit, char *&__to_next) const
result out(state_type &__state, const char *__from, const char *__from_end, const char *&__from_next, char *__to, char *__to_limit, char *&__to_next) const
int encoding() const _STLP_NOTHROW
result unshift(state_type &__state, char *__to, char *__to_limit, char *&__to_next) const
int max_length() const _STLP_NOTHROW
bool always_noconv() const _STLP_NOTHROW
static _STLP_STATIC_DECLSPEC locale::id id
int length(state_type &__state, const char *__from, const char *__from_end, size_t __max) const
result out(state_type &__state, const wchar_t *__from, const wchar_t *__from_end, const wchar_t *&__from_next, char *__to, char *__to_limit, char *&__to_next) const
int max_length() const _STLP_NOTHROW
int encoding() const _STLP_NOTHROW
int length(state_type &__state, const char *__from, const char *__from_end, size_t __max) const
result unshift(state_type &__state, char *__to, char *__to_limit, char *&__to_next) const
result in(state_type &__state, const char *__from, const char *__from_end, const char *&__from_next, wchar_t *__to, wchar_t *__to_limit, wchar_t *&__to_next) const
static _STLP_STATIC_DECLSPEC locale::id id
bool always_noconv() const _STLP_NOTHROW
codecvt_byname(const codecvt_byname< char, char, mbstate_t > &)
_Locale_codecvt * _M_codecvt
codecvt_byname(const codecvt_byname< wchar_t, char, mbstate_t > &)
virtual int do_max_length() const _STLP_NOTHROW
virtual bool do_always_noconv() const _STLP_NOTHROW
virtual result do_unshift(state_type &, extern_type *__to, extern_type *, extern_type *&__to_next) const
result out(state_type &__state, const intern_type *__from, const intern_type *__from_end, const intern_type *&__from_next, extern_type *__to, extern_type *__to_limit, extern_type *&__to_next) const
result unshift(state_type &__state, extern_type *__to, extern_type *__to_limit, extern_type *&__to_next) const
int encoding() const _STLP_NOTHROW
bool always_noconv() const _STLP_NOTHROW
virtual int do_encoding() const _STLP_NOTHROW
codecvt(const codecvt< intern_type, extern_type, state_type > &)
int length(state_type &__state, const extern_type *__from, const extern_type *__from_end, size_t __max) const
virtual result do_in(state_type &, const extern_type *__from, const extern_type *, const extern_type *&__from_next, intern_type *__to, intern_type *, intern_type *&__to_next) const
virtual result do_out(state_type &, const intern_type *__from, const intern_type *, const intern_type *&__from_next, extern_type *__to, extern_type *, extern_type *&__to_next) const
int max_length() const _STLP_NOTHROW
virtual int do_length(state_type &, const extern_type *__from, const extern_type *__end, size_t __max) const
result in(state_type &__state, const extern_type *__from, const extern_type *__from_end, const extern_type *&__from_next, intern_type *__to, intern_type *__to_limit, intern_type *&__to_next) const
#define _STLP_TEMPLATE_NULL
#define _STLP_STATIC_DECLSPEC
#define __STATIC_CAST(__x, __y)
#define _STLP_CLASS_DECLSPEC
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE