1377 size_t _Prefix = 0 <
_Count && (*
_Buf ==
'+' || *_Buf ==
'-')
1386 if (_Prefix + 2 <=
_Count && _Buf[_Prefix] ==
'0'
1387 && (_Buf[_Prefix + 1] ==
'x' || _Buf[_Prefix + 1] ==
'X'))
1390 const size_t _Eoff =
1392 char _Dp[2] = {
"."};
1394 const size_t _Poff =
1399 const _Elem _E0 = _Ctype_fac.
widen(
'0');
1401 _Ctype_fac.
widen(&_Buf[0], &_Buf[
_Count], &_Groupstring[0]);
1404 const string _Grouping = _Punct_fac.grouping();
1405 const _Elem _Kseparator = _Punct_fac.thousands_sep();
1407 size_t _Off = _Beforepoint;
1408 if (_Poff == _Count)
1411 _Groupstring.insert(_Eoff, _Beforepoint, _E0);
1416 _Groupstring.insert(_Eoff, _Trailing, _E0);
1417 _Groupstring.insert(_Poff + 1, _Afterpoint, _E0);
1418 _Groupstring[_Poff] = _Punct_fac.decimal_point();
1419 _Groupstring.insert(_Poff, _Beforepoint, _E0);
1422 const char *_Pg = &_Grouping[0];
1423 while (*_Pg !=
CHAR_MAX &&
'\0' < *_Pg
1424 && (
size_t)*_Pg < _Off - _Prefix)
1426 _Groupstring.insert(_Off -= *_Pg, (
size_t)1, _Kseparator);
1431 _Count = _Groupstring.size();
1432 size_t _Fillcount = _Iosbase.
width() <= 0
1436 ios_base::fmtflags _Adjustfield =
1443 _Dest =
_Put(_Dest, &_Groupstring[0], _Prefix);
1447 _Dest =
_Put(_Dest, &_Groupstring[0], _Prefix);
1452 _Dest =
_Put(_Dest, &_Groupstring[0], _Prefix);
1454 _Dest =
_Put(_Dest, &_Groupstring[_Prefix], _Count - _Prefix);
1456 return (
_Rep(_Dest,
_Fill, _Fillcount));
numpunct< _Elem > _Mypunct
Definition: xlocnum:1084
_W64 unsigned int size_t
Definition: crtdefs.h:496
#define _USE(loc, fac)
Definition: xlocale:555
char * decimal_point
Definition: locale.h:56
_Check_return_opt_ _CRTIMP struct lconv *__cdecl localeconv(void)
locale __CLR_OR_THIS_CALL getloc() const
Definition: xiosbase:422
fmtflags __CLR_OR_THIS_CALL flags() const
Definition: xiosbase:365
streamsize __CLR_OR_THIS_CALL width() const
Definition: xiosbase:410
_OutIt __CLRCALL_OR_CDECL _Rep(_OutIt _Dest, _Elem _Ch, size_t _Count) const
Definition: xlocnum:1555
_Check_return_ _CRTIMP size_t __cdecl strcspn(_In_z_ const char *_Str, _In_z_ const char *_Control)
#define _DEBUG_POINTER(first)
Definition: xutility:465
static const _Fmtflags internal
Definition: xiosbase:64
static const _Fmtflags floatfield
Definition: xiosbase:80
_Elem __CLR_OR_THIS_CALL widen(char _Byte) const
Definition: xlocale:2162
_OutIt __CLRCALL_OR_CDECL _Put(_OutIt _Dest, const _Elem *_Ptr, size_t _Count) const
Definition: xlocnum:1547
static const _Fmtflags hexfloat
Definition: xiosbase:71
#define CHAR_MAX
Definition: limits.h:29
basic_string< _Elem, char_traits< _Elem >, allocator< _Elem > > _Mystr
Definition: xlocnum:1086
_Diff _Count
Definition: algorithm:1941
#define _CSTD
Definition: yvals.h:559
static const _Fmtflags adjustfield
Definition: xiosbase:76
static const _Fmtflags left
Definition: xiosbase:62
void _Fill(_FwdIt _First, _FwdIt _Last, const _Ty &_Val)
Definition: xutility:2597