|
virtual result | do_in (_Statype &, const _Byte *_First1, const _Byte *_Last1, const _Byte *&_Mid1, _Elem *_First2, _Elem *_Last2, _Elem *&_Mid2) const |
|
virtual result | do_out (_Statype &, const _Elem *_First1, const _Elem *_Last1, const _Elem *&_Mid1, _Byte *_First2, _Byte *_Last2, _Byte *&_Mid2) const |
|
virtual result | do_unshift (_Statype &, _Byte *_First2, _Byte *, _Byte *&_Mid2) const |
|
virtual int | do_length (_Statype &_State, const _Byte *_First1, const _Byte *_Last1, size_t _Count) const _THROW0() |
|
virtual bool | do_always_noconv () const _THROW0() |
|
virtual int | do_max_length () const _THROW0() |
|
virtual int | do_encoding () const _THROW0() |
|
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
_STD codecvt< _Elem, char, _Statype > _Mybase
Definition: euc_0208:27
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
51 for (; _Mid1 != _Last1 && _Mid2 != _Last2; )
53 unsigned char _By = (
unsigned char)*_Mid1;
58 _Ch = 0, _Extra =
true;
59 else if (0xa1 <= _By && _By <= 0xfe)
60 _Ch = (
unsigned short)((_By << 8) - 0x8080), _Extra =
true;
62 _Ch = _By, _Extra =
false;
66 else if (_Last1 - _Mid1 < 2)
68 else if ((_By = (
unsigned char)*++_Mid1) < 0xa1 || 0xfe < _By)
69 return (_Mybase::error);
71 _Ch = (
unsigned short)(_Ch + _By);
74 return (_Mybase::error);
76 *_Mid2++ = (_Elem)_Ch;
79 return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok);
_In_ size_t _In_ unsigned int _Ch
Definition: mbstring.h:161
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
143 for (; _Wchars <
_Count && _First1 != _Last1; )
149 switch (
do_in(_Mystate, _First1, _Last1, _Mid1,
150 &_Ch, &_Ch + 1, _Mid2))
152 case _Mybase::noconv:
153 return ((
int)(_Wchars + (_Last1 - _First1)));
156 if (_Mid2 == &_Ch + 1)
162 return ((
int)_Wchars);
166 return ((
int)_Wchars);
virtual result do_in(_Statype &, const _Byte *_First1, const _Byte *_Last1, const _Byte *&_Mid1, _Elem *_First2, _Elem *_Last2, _Elem *&_Mid2) const
Definition: euc_0208:44
_In_ size_t _In_ unsigned int _Ch
Definition: mbstring.h:161
char _Byte
Definition: euc_0208:29
_Diff _Count
Definition: algorithm:1941
_CSTD mbstate_t _Statype
Definition: codecvt:26
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
89 for (; _Mid1 != _Last1 && _Mid2 != _Last2; )
91 unsigned long _Ch = (
unsigned long)*_Mid1;
94 return (_Mybase::error);
96 if (0xa1 <= _Ch && _Ch <= 0xfe)
97 if (_Last2 - _Mid2 < 2)
101 *_Mid2++ = (
_Byte)(
unsigned short)0x8e;
102 *_Mid2++ = (
_Byte)_Ch;
104 else if (_Ch == 0x8e)
105 return (_Mybase::error);
106 else if (_Ch <= 0xff)
107 *_Mid2++ = (
_Byte)_Ch;
109 if (_Last2 - _Mid2 < 2)
113 unsigned char _By = (
unsigned char)((_Ch >> 8) + 0x80);
115 if (_By < 0xa1 || 0xfe < _By)
116 return (_Mybase::error);
117 *_Mid2++ = (
_Byte)_By;
119 _By = (
unsigned char)(_Ch + 0x80);
120 if (_By < 0xa1 || 0xfe < _By)
121 return (_Mybase::error);
122 *_Mid2++ = (
_Byte)_By;
126 return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok);
_In_ size_t _In_ unsigned int _Ch
Definition: mbstring.h:161
char _Byte
Definition: euc_0208:29
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
134 return (_Mybase::ok);
The documentation for this class was generated from the following file: