|
virtual result | do_in (_Statype &_State, const _Byte *_First1, const _Byte *_Last1, const _Byte *&_Mid1, _Elem *_First2, _Elem *_Last2, _Elem *&_Mid2) const |
|
virtual result | do_out (_Statype &_State, const _Elem *_First1, const _Elem *_Last1, const _Elem *&_Mid1, _Byte *_First2, _Byte *_Last2, _Byte *&_Mid2) const |
|
virtual result | do_unshift (_Statype &_State, _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: jis_0208:29
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>
50 char *_Pstate = (
char *)&_State;
51 result _Ans = _Mybase::partial;
55 for (; _Mid1 != _Last1 && _Mid2 != _Last2; )
57 unsigned char _By = (
unsigned char)*_Mid1;
62 else if (_Last1 - _Mid1 < 4)
64 else if (_Mid1[1] ==
'('
65 && (_Mid1[2] ==
'B' || _Mid1[2] ==
'J')
72 else if (_Mid1[1] ==
'$'
73 && (_Mid1[2] ==
'B' || _Mid1[2] ==
'@'))
74 if (_Last1 - _Mid1 < 5)
83 return (_Mybase::error);
88 else if (_By < 0x21 || 0x7e < _By)
89 return (_Mybase::error);
90 else if (_Last1 - _Mid1 < 2)
92 else if ((_By = *++_Mid1) < 0x21 || 0x7e < _By)
93 return (_Mybase::error);
95 _Ch = (
unsigned short)(_Ch << 8 | _By);
98 return (_Mybase::error);
100 *_Mid2++ = (_Elem)_Ch;
_Mybase::result result
Definition: jis_0208:30
_In_ size_t _In_ unsigned int _Ch
Definition: mbstring.h:161
#define _ESC_CODE
Definition: jis_0208:20
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
206 for (; _Wchars <
_Count && _First1 != _Last1; )
212 switch (
do_in(_Mystate, _First1, _Last1, _Mid1,
213 &_Ch, &_Ch + 1, _Mid2))
215 case _Mybase::noconv:
216 return ((
int)(_Wchars + (_Last1 - _First1)));
219 if (_Mid2 == &_Ch + 1)
225 return ((
int)_Wchars);
229 return ((
int)_Wchars);
char _Byte
Definition: jis_0208:31
virtual result do_in(_Statype &_State, const _Byte *_First1, const _Byte *_Last1, const _Byte *&_Mid1, _Elem *_First2, _Elem *_Last2, _Elem *&_Mid2) const
Definition: jis_0208:46
_In_ size_t _In_ unsigned int _Ch
Definition: mbstring.h:161
_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>
111 char *_Pstate = (
char *)&_State;
115 for (; _Mid1 != _Last1 && _Mid2 != _Last2; )
117 unsigned long _Ch = (
unsigned long)*_Mid1;
120 return (_Mybase::error);
125 return (_Mybase::error);
126 else if (*_Pstate == 0)
128 else if (_Last2 - _Mid2 < 4)
137 *_Mid2++ = (
_Byte)_Ch;
143 if (_Last2 - _Mid2 < 2)
146 else if (_Last2 - _Mid2 < 5)
156 unsigned char _By = (
unsigned char)(_Ch >> 8);
158 if (_By < 0x21 || 0x7e < _By)
159 return (_Mybase::error);
160 *_Mid2++ = (
_Byte)_By;
162 _By = (
unsigned char)_Ch;
163 if (_By < 0x21 || 0x7e < _By)
164 return (_Mybase::error);
165 *_Mid2++ = (
_Byte)_By;
169 return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok);
char _Byte
Definition: jis_0208:31
_In_ size_t _In_ unsigned int _Ch
Definition: mbstring.h:161
#define _ESC_CODE
Definition: jis_0208:20
template<class _Elem , unsigned long _Maxcode = 0x7e7e>
175 char *_Pstate = (
char *)&_State;
195 return (_Mybase::ok);
197 return (_Mybase::partial);
#define _ESC_CODE
Definition: jis_0208:20
The documentation for this class was generated from the following file: