#pragma once
#ifndef _XLOCMON_
#define _XLOCMON_
#ifndef RC_INVOKED
#include <xlocnum>
#pragma pack(push,_CRT_PACKING)
#pragma warning(push,_STL_WARNING_LEVEL)
#pragma warning(disable: _STL_DISABLED_WARNINGS)
#pragma warning(disable:
4455
4494
4619
4643
4702
4984
4988
)
_STL_DISABLE_CLANG_WARNINGS
#pragma push_macro("new")
#undef new
struct
:
public
::
{
enum
{
=
'$'
,
=
'+'
,
=
' '
,
=
'v'
,
=
'x'
};
typedef
int
;
struct
{
char
[
4
];
};
(
=
0
)
:
::
(
)
{
}
};
template
<
class
>
class
:
public
{
public
:
typedef
;
typedef
<
,
<
>,
<
> >
;
()
const
{
return
(
());
}
()
const
{
return
(
());
}
()
const
{
return
(
());
}
()
const
{
return
(
());
}
()
const
{
return
(
());
}
()
const
{
return
(
());
}
int
()
const
{
return
(
());
}
()
const
{
return
(
());
}
()
const
{
return
(
());
}
explicit
(
,
bool
)
:
(
), _International(
)
{
(
_Lobj
);
}
(
const
&
,
,
bool
,
bool
=
false
)
:
(
), _International(
)
{
(
,
);
}
protected
:
(
const
char
*
,
,
bool
,
bool
=
false
)
:
(
), _International(
)
{
_BEGIN_LOCINFO(_Lobj(_Locname))
(
_Lobj
,
);
}
virtual __CLR_OR_THIS_CALL ~_Mpunct() noexcept
{
();
}
template
<
class
>
void
(
,
const
*
)
{
=
(
?
->
:
->
,
static_cast
<
*>(
nullptr
),
);
=
(
4
(
unsigned
int
)
->
?
""
:
->
,
static_cast
<
*>(
nullptr
),
);
=
(
4
(
unsigned
int
)
->
?
"-"
:
->
,
static_cast
<
*>(
nullptr
),
);
=
(
->
[
0
],
static_cast
<
*>(
nullptr
),
);
=
(
->
[
0
],
static_cast
<
*>(
nullptr
),
);
}
void
(
wchar_t
,
const
*
)
{
= (
const
*)
(
?
->
:
->
);
= (
const
*)
(
4
(
unsigned
int
)
->
?
L""
:
->
);
= (
const
*)
(
4
(
unsigned
int
)
->
?
L"-"
:
->
);
= (
)
->
[
0
];
= (
)
->
[
0
];
}
void
(
const
&
,
bool
=
false
)
{
.
();
const
*
=
.
();
=
nullptr
;
=
nullptr
;
=
nullptr
;
=
nullptr
;
=
(
_Ptr
->
,
static_cast
<
char
*>(
nullptr
),
);
((
)
0
,
_Ptr
);
();
=
?
_Ptr
->
:
_Ptr
->
;
if (_Fracdigits < 0 || CHAR_MAX <= _Fracdigits)
=
0
;
(
,
static_cast
<
unsigned
int
>(
_Ptr
->
),
static_cast
<
unsigned
int
>(
_Ptr
->
),
static_cast
<
unsigned
int
>(
_Ptr
->
));
(
,
static_cast
<
unsigned
int
>(
_Ptr
->
),
static_cast
<
unsigned
int
>(
_Ptr
->
),
static_cast
<
unsigned
int
>(
_Ptr
->
));
if
(
)
{
_CSTD memcpy(&_Plusformat, "$+xv", 4);
_CSTD memcpy(&_Minusformat, "$+xv", 4);
}
}
virtual _Elem __CLR_OR_THIS_CALL do_decimal_point() const
{
return
(
);
}
virtual _Elem __CLR_OR_THIS_CALL do_thousands_sep() const
{
return
(
);
}
virtual string __CLR_OR_THIS_CALL do_grouping() const
{
return
(
(
));
}
virtual string_type __CLR_OR_THIS_CALL do_curr_symbol() const
{
return
(
(
));
}
virtual string_type __CLR_OR_THIS_CALL do_positive_sign() const
{
return
(
(
));
}
virtual string_type __CLR_OR_THIS_CALL do_negative_sign() const
{
return
(
(
));
}
virtual int __CLR_OR_THIS_CALL do_frac_digits() const
{
return
(
);
}
virtual pattern __CLR_OR_THIS_CALL do_pos_format() const
{
return
(
);
}
virtual pattern __CLR_OR_THIS_CALL do_neg_format() const
{
return
(
);
}
private
:
void
(
&
,
unsigned
int
,
unsigned
int
,
unsigned
int
)
{
const
char
*
=
||
2
||
1
||
4
?
"$+xv"
: &(
"+v$x"
"+v$x"
"v$+x"
"v+$x"
"v$+x"
"+$vx"
"+$vx"
"$v+x"
"+$vx"
"$+vx"
"+v $"
"+v $"
"v $+"
"v +$"
"v $+"
"+$ v"
"+$ v"
"$ v+"
"+$ v"
"$+ v"
"+xv$"
"+ v$"
"v$ +"
"v+ $"
"v$ +"
"+x$v"
"+ $v"
"$v +"
"+ $v"
"$ +v"
)
[
*
4
+
*
20
+
*
40
];
_CSTD memcpy(_Pattern.field, _Ptr, sizeof(_Pattern.field));
}
void
()
{
_CSTD free((void *)_Grouping);
_CSTD free((void *)_Currencysign);
_CSTD free((void *)_Plussign);
_CSTD free((void *)_Minussign);
}
const
char
*
;
;
;
const
*
;
const
*
;
const
*
;
int
;
;
;
bool
;
::
;
};
template
<
class
,
bool
=
false
>
class
:
public
<
>
{
public
:
_PGLOBAL _CRTIMP2_PURE_IMPORT static const bool intl; // true if international
__declspec
(dllimport)
static
const
bool
;
__PURE_APPDOMAIN_GLOBAL _CRTIMP2_PURE_IMPORT static locale::id id; // unique facet id
__declspec
(dllimport)
static
::
;
explicit
(
=
0
)
:
<
>(
,
)
{
}
(
const
&
,
=
0
,
bool
=
false
)
:
<
>(
,
,
,
)
{
}
static
(
const
::
**
=
nullptr
,
const
*
=
nullptr
)
{
if
(
!=
nullptr
&& *
==
nullptr
)
*
=
new
<
,
>(
(
->
()),
0
,
true
);
}
protected
:
(
const
char
*
,
=
0
)
:
<
>(
,
,
)
{
}
virtual __CLR_OR_THIS_CALL ~moneypunct() noexcept
{
}
};
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdllimport-static-field-def"
#endif /* __clang__ */
template
<
class
,
bool
>
_PGLOBAL const bool moneypunct<_Elem, _Intl>::intl = _Intl;
template
<
class
,
bool
>
__PURE_APPDOMAIN_GLOBAL locale::id moneypunct<_Elem, _Intl>::id;
#ifdef __clang__
#pragma clang diagnostic pop
#endif /* __clang__ */
template
<
class
,
bool
=
false
>
class
:
public
<
,
>
{
public
:
explicit
(
const
char
*
,
=
0
)
:
<
,
>(
,
)
{
}
explicit
(
const
&
,
=
0
)
:
<
,
>(
.
(),
)
{
}
protected
:
virtual __CLR_OR_THIS_CALL ~moneypunct_byname() noexcept
{
}
};
template
<
class
,
class
=
<
,
<
> > >
class
:
public
::
{
typedef
<
,
false
>
;
typedef
<
,
true
>
;
public
:
typedef
;
typedef
;
typedef
<
,
<
>,
<
> >
;
(
,
,
bool
,
&
,
::
&
,
long
double
&
)
const
{
return
(
(
,
,
,
,
,
));
}
(
,
,
bool
,
&
,
::
&
,
&
)
const
{
return
(
(
,
,
,
,
,
));
}
__PURE_APPDOMAIN_GLOBAL _CRTIMP2_PURE_IMPORT static locale::id id; // unique facet id
__declspec
(dllimport)
static
::
;
explicit
(
=
0
)
:
::
(
)
{
(
_Lobj
);
}
(
const
&
,
=
0
)
:
::
(
)
{
(
);
}
static
(
const
::
**
=
nullptr
,
const
*
=
nullptr
)
{
if
(
!=
nullptr
&& *
==
nullptr
)
*
=
new
<
,
>(
(
->
()));
}
protected
:
virtual __CLR_OR_THIS_CALL ~money_get() noexcept
{
}
void
(
const
&)
{
}
virtual _InIt __CLR_OR_THIS_CALL do_get(_InIt _First, _InIt _Last,
bool
,
&
,
::
&
,
long
double
&
)
const
{
[
sizeof
(
"0123456789-"
)];
=
(
,
,
,
,
_Atoms
);
if
(
==
)
|=
::
;
if
(
_Str
.
()
0
)
|=
::
;
else
{
const
char
*
=
_Str
.
();
char
*
;
int
=
0
;
const
long
double
=
(
_Eb
, &
_Ep
,
0
, &
_Errno
);
if
(
_Ep
_Eb
||
_Errno
0
)
|=
::
;
else
=
_Ans
;
}
return
(
);
}
virtual _InIt __CLR_OR_THIS_CALL do_get(_InIt _First, _InIt _Last,
bool
,
&
,
::
&
,
&
)
const
{
[
sizeof
(
"0123456789-"
)];
=
(
,
,
,
,
_Atoms
);
=
_Str
.
();
if
(
==
)
|=
::
;
if
(
_Len
0
)
|=
::
;
else
{
=
0
;
.
(
_Len
);
if
(
_Str
0
]
'-'
)
_Idx
++] =
_Atoms
[
10
];
for
(;
_Idx
_Len
; ++
_Idx
)
_Idx
] =
_Atoms
[
_Str
_Idx
] -
'0'
];
}
return
(
);
}
private
:
(
&
,
&
,
bool
,
&
,
(&
)[
12
])
const
{
(
,
);
const
<
> *
;
if
(
)
{
_Ppunct_fac = _STD addressof(_STD use_facet<_Mypunct1>(_Iosbase.getloc())); // international
_Ppunct_fac
= ::
std
::
(::
std
::
<
>(
.
()));
}
else
{
_Ppunct_fac = _STD addressof(_STD use_facet<_Mypunct0>(_Iosbase.getloc())); // local
_Ppunct_fac
= ::
std
::
(::
std
::
<
>(
.
()));
}
bool
=
false
,
=
false
;
;
const
::
=
_Ppunct_fac
->
();
;
;
static
constexpr
char
[] = {
"0123456789-"
};
const ctype<_Elem>& _Ctype_fac = _STD use_facet<ctype<_Elem>>(_Iosbase.getloc());
const
<
>&
= ::
std
::
<
<
>>(
.
());
_Ctype_fac
.
(&
_Src
[
0
], &
_Src
[
sizeof
(
_Src
)],
);
for
(
=
0
; !
_Bad
&&
_Off
4
; ++
_Off
)
switch
(
_Pattern
.
[
_Off
])
{
case
::
:
{
=
_Ppunct_fac
->
();
typename
::
;
if
((!(
.
() &
::
)
&&
!=
&& *
!= *
_Symbol
.
())
|| (
_Off
3
&&
_Sign
.
() <=
1
&& (
==
|| *
!= *
_Symbol
.
())))
{
_Symbol
.
();
}
_Source
_Symbol
.
();
while
(
!=
&&
_Source
!=
_Symbol
.
()
&& *
==
_Source
)
{
_Source
;
++
;
}
if
(
_Source
_Symbol
.
())
{
_Bad
=
true
;
}
break
;
}
case
::
:
if
(
!=
)
{
if
(
0
_Ppunct_fac
->
().
()
&&
_Ppunct_fac
->
()
0
] == *
)
{
++
;
_Sign
_Ppunct_fac
->
();
}
else
if
(
0
_Ppunct_fac
->
().
()
&&
_Ppunct_fac
->
()
0
] == *
)
{
++
;
_Sign
_Ppunct_fac
->
();
_Neg
=
true
;
}
else
if
(
0
_Ppunct_fac
->
().
() &&
0
==
_Ppunct_fac
->
().
())
{
_Neg
=
true
;
}
}
break
;
case
::
:
{
int
=
0
;
int
=
_Ppunct_fac
->
();
const
=
_Ppunct_fac
->
();
const
=
_Grouping
.
()
0
? (
)
0
:
_Ppunct_fac
->
();
if
(
_Kseparator
== (
)
0
|| CHAR_MAX <= (unsigned char)*_Grouping.c_str())
||
127
<= (
unsigned
char
)*
_Grouping
.
())
for
(;
!=
&& (
_Idx
=
(
, *
)) <
10
;
++
)
_Val
_Src
[
_Idx
];
else
{
;
_Groups
.
(
'\0'
);
=
0
;
for
(;
!=
; ++
)
if
((
_Idx
=
(
, *
))
10
)
{
_Val
_Src
[
_Idx
];
if (_Groups[_Group] != CHAR_MAX)
++
_Groups
_Group
];
}
else
if
(
_Groups
_Group
]
'\0'
|| *
!=
_Kseparator
)
break
;
else
{
_Groups
.
(
'\0'
);
++
_Group
;
}
if
(
_Group
0
)
{
if
(
'\0'
_Groups
_Group
])
{
++
_Group
;
}
else
{
_Bad
=
true
;
}
}
for
(
const
char
*
=
_Grouping
.
(); !
_Bad
&&
0
<
_Group
; )
{
{
break
;
}
if
((
0
--
_Group
&& *
_Pg
_Groups
_Group
])
|| (
0
_Group
&& *
_Pg
_Groups
_Group
]))
{
_Bad
=
true
;
}
else
if
(
'\0'
_Pg
[
1
])
{
++
_Pg
;
}
}
if
(
_Bad
)
{
break
;
}
}
const
=
_Ppunct_fac
->
();
if
(
!=
&&
_Point
!= (
)
0
&& *
==
_Point
)
{
while
(++
!=
&&
_Fracdigseen
<
_Fracdigits
&& (
_Idx
=
(
, *
)) <
10
)
{
_Val
_Src
[
_Idx
];
++
_Fracdigseen
;
}
if
(
_Fracdigseen
_Fracdigits
)
_Bad
=
true
;
}
if
(
_Val
.
()
0
)
_Bad
=
true
;
else
for
(;
_Fracdigseen
_Fracdigits
; ++
_Fracdigseen
)
_Val
'0'
;
break
;
}
case
::
:
case
::
:
{
if
(
_Off
3
)
{
break
;
}
bool
=
false
;
for
(;
!=
&&
_Ctype_fac
.
(
::
, *
); ++
)
{
_Seen
=
true
;
}
if
(
_Pattern
.
[
_Off
]
::
&& !
_Seen
)
{
_Bad
=
true
;
}
}
}
if
(!
_Bad
&&
1
_Sign
.
())
{
auto
=
_Sign
.
();
while
(
_Source
_Sign
.
() &&
!=
&& *
==
_Source
)
{
++
;
}
if
(
_Source
_Sign
.
())
{
_Bad
=
true
;
}
}
if
(
_Bad
)
{
_Val
.
();
}
else
if
(
_Neg
)
{
_Val
.
((
)
0
, (
)
1
,
'-'
);
}
return
(
_Val
);
}
};
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdllimport-static-field-def"
#endif /* __clang__ */
template
<
class
,
class
>
__PURE_APPDOMAIN_GLOBAL locale::id money_get<_Elem, _InIt>::id;
#ifdef __clang__
#pragma clang diagnostic pop
#endif /* __clang__ */
template
<
class
,
class
=
<
,
<
> > >
class
:
public
::
{
typedef
<
,
false
>
;
typedef
<
,
true
>
;
public
:
typedef
;
typedef
;
typedef
<
,
<
>,
<
> >
;
(
,
bool
,
&
,
,
long
double
)
const
{
return
(
(
,
,
,
,
));
}
(
,
bool
,
&
,
,
const
&
)
const
{
return
(
(
,
,
,
,
));
}
__PURE_APPDOMAIN_GLOBAL _CRTIMP2_PURE_IMPORT static locale::id id; // unique facet id
__declspec
(dllimport)
static
::
;
explicit
(
=
0
)
:
::
(
)
{
(
_Lobj
);
}
(
const
&
,
=
0
)
:
::
(
)
{
(
);
}
static
(
const
::
**
=
nullptr
,
const
*
=
nullptr
)
{
if
(
!=
nullptr
&& *
==
nullptr
)
*
=
new
<
,
>(
(
->
()));
}
protected
:
virtual __CLR_OR_THIS_CALL ~money_put() noexcept
{
}
void
(
const
&)
{
}
virtual _OutIt __CLR_OR_THIS_CALL do_put(_OutIt _Dest,
bool
,
&
,
,
long
double
)
const
{
bool
=
false
;
if
(
0
)
{
_Negative
=
true
;
= -
;
}
;
for
(
_Exp
=
0
;
1e35
<=
&&
_Exp
5000
;
_Exp
+=
10
)
/=
1e10
;
char
[
40
];
const auto _Count = static_cast<size_t>(_CSTD sprintf_s(_Buf, sizeof (_Buf), "%.0Lf", _Val));
const
auto
=
static_cast
<
>(::
(
_Buf
,
sizeof
(
_Buf
),
"%.0Lf"
,
));
if
(
_Count
0
)
return
(
);
const ctype<_Elem>& _Ctype_fac = _STD use_facet<ctype<_Elem>>(_Iosbase.getloc());
const
<
>&
= ::
std
::
<
<
>>(
.
());
const
=
_Ctype_fac
.
(
'0'
);
(
_Count
, (
)
0
);
_Ctype_fac
.
(&
_Buf
[
0
], &
_Buf
[
_Count
], &
_Val2
0
]);
_Val2
.
(
_Exp
,
_E0
);
return
(
(
,
,
,
,
_Negative
,
_Val2
,
_E0
));
}
virtual _OutIt __CLR_OR_THIS_CALL do_put(_OutIt _Dest,
bool
,
&
,
,
const
&
)
const
{
static
constexpr
char
[] = {
"0123456789-"
};
[
sizeof
(
_Src
)];
const ctype<_Elem>& _Ctype_fac = _STD use_facet<ctype<_Elem>>(_Iosbase.getloc());
const
<
>&
= ::
std
::
<
<
>>(
.
());
_Ctype_fac
.
(&
_Src
[
0
], &
_Src
[
sizeof
(
_Src
)],
_Atoms
);
bool
=
false
;
=
0
;
if
(!
.
() &&
0
] ==
_Atoms
[
10
])
{
_Negative
=
true
;
++
_Idx0
;
}
=
.
();
=
_Idx0
;
for
(;
_Idx
_Size
&&
(
_Atoms
,
_Idx
]) <
10
; ++
_Idx
)
{
}
(&
_Idx0
], (
)(
_Idx
-
_Idx0
));
if
(
_Val2
.
())
{
_Val2
.
(
_Atoms
[
0
]);
}
return
(
(
,
,
,
,
_Negative
,
_Val2
,
_Atoms
[
0
]));
}
private
:
(
,
bool
,
&
,
,
bool
,
,
)
const
{
const
<
> *
;
if
(
)
{
_Ppunct_fac = _STD addressof(_STD use_facet<_Mypunct1>(_Iosbase.getloc())); // international
_Ppunct_fac
= ::
std
::
(::
std
::
<
>(
.
()));
}
else
{
_Ppunct_fac = _STD addressof(_STD use_facet<_Mypunct0>(_Iosbase.getloc())); // local
_Ppunct_fac
= ::
std
::
(::
std
::
<
>(
.
()));
}
const
=
_Ppunct_fac
->
();
int
=
_Ppunct_fac
->
();
const
auto
=
static_cast
<
unsigned
int
>(
_Ifracdigits
0
? -
_Ifracdigits
:
_Ifracdigits
);
if
(
.
() <=
_Fracdigits
)
.
((
)
0
,
_Fracdigits
-
.
() +
1
,
);
else if (*_Grouping.c_str() != CHAR_MAX && '\0' < *_Grouping.c_str())
else
if
(*
_Grouping
.
()
127
&&
'\0'
*
_Grouping
.
())
{
const
=
_Ppunct_fac
->
();
const
char
*
=
_Grouping
.
();
=
.
() -
_Fracdigits
;
while (*_Pg != CHAR_MAX && '\0' < *_Pg
while
(*
_Pg
127
&&
'\0'
*
_Pg
&& (
)*
_Pg
_Off
)
{
.
(
_Off
-= *
_Pg
, (
)
1
,
_Kseparator
);
if
(
'\0'
_Pg
[
1
])
++
_Pg
;
}
}
::
;
;
if
(
)
{
_Pattern
_Ppunct_fac
->
();
_Sign
_Ppunct_fac
->
();
}
else
{
_Pattern
_Ppunct_fac
->
();
_Sign
_Ppunct_fac
->
();
}
;
if
(
.
() &
::
)
_Symbol
_Ppunct_fac
->
();
bool
=
false
;
,
;
for
(
_Fillcount
=
0
,
_Off
=
0
;
_Off
4
; ++
_Off
)
switch
(
_Pattern
.
[
_Off
])
{
case
::
:
_Fillcount
+=
_Symbol
.
();
break
;
case
::
:
_Fillcount
+=
_Sign
.
();
break
;
case
::
:
_Fillcount
+=
.
() + (
0
_Fracdigits
?
1
:
0
)
+ (
.
() <=
_Fracdigits
?
_Fracdigits
-
.
() +
1
:
0
);
break
;
case
::
:
++
_Fillcount
;
case
::
:
if
(
_Off
3
)
_Intern
=
true
;
break
;
}
_Fillcount
=
.
() <=
0
|| (
)
.
() <=
_Fillcount
?
0
: (
)
.
() -
_Fillcount
;
::
=
.
() &
::
;
if
(
_Afl
::
&& (
_Afl
::
|| !
_Intern
))
{
=
(
,
,
_Fillcount
);
_Fillcount
=
0
;
}
for
(
_Off
=
0
;
_Off
4
; ++
_Off
)
switch
(
_Pattern
.
[
_Off
])
{
case
::
:
=
(
,
_Symbol
.
(),
_Symbol
.
());
break
;
case
::
:
if
(
0
_Sign
.
())
=
(
,
_Sign
.
(),
1
);
break
;
case
::
:
if
(
_Fracdigits
0
)
=
(
,
.
(),
.
());
else
if
(
.
() <=
_Fracdigits
)
{
*
++ =
;
*
++ =
_Ppunct_fac
->
();
=
(
,
,
_Fracdigits
-
.
());
=
(
,
.
(),
.
());
}
else
{
=
(
,
.
(),
.
() -
_Fracdigits
);
*
++ =
_Ppunct_fac
->
();
=
(
,
.
()
static_cast
<
>(
_Fracdigits
),
_Fracdigits
);
}
break
;
case
::
:
=
(
,
,
1
);
case
::
:
if
(
_Afl
::
)
{
=
(
,
,
_Fillcount
);
_Fillcount
=
0
;
}
}
if
(
1
_Sign
.
())
=
(
,
_Sign
.
()
1
,
_Sign
.
() -
1
);
.
(
0
);
return
(
(
,
,
_Fillcount
));
}
static
(
,
typename
::
,
)
{
for
(;
0
; --
, (
void
)++
,
)
*
=
;
return
(
);
}
static
(
,
,
)
{
for
(;
0
; --
, (
void
)++
)
*
=
;
return
(
);
}
};
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdllimport-static-field-def"
#endif /* __clang__ */
template
<
class
,
class
>
__PURE_APPDOMAIN_GLOBAL locale::id money_put<_Elem, _OutIt>::id;
#if defined(_DLL_CPPLIB)
#if !defined(_CRTBLD) || defined(__FORCE_INSTANCE)
template _PGLOBAL const bool moneypunct<char, true>::intl;
template
const
bool
<
char
,
true
>::intl;
template _PGLOBAL const bool moneypunct<char, false>::intl;
template
const
bool
<
char
,
false
>::intl;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
char
,
true
>::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
char
,
false
>::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
char
,
<
char
,
<
char
> > >::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
char
,
<
char
,
<
char
> > >::id;
template _PGLOBAL const bool moneypunct<wchar_t, true>::intl;
template
const
bool
<
wchar_t
,
true
>::intl;
template _PGLOBAL const bool moneypunct<wchar_t, false>::intl;
template
const
bool
<
wchar_t
,
false
>::intl;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
wchar_t
,
true
>::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
wchar_t
,
false
>::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
wchar_t
,
<
wchar_t
,
<
wchar_t
> > >::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
<
wchar_t
,
<
wchar_t
,
<
wchar_t
> > >::id;
#endif /* !defined(_CRTBLD) || defined(__FORCE_INSTANCE) */
#ifdef __FORCE_INSTANCE
template _PGLOBAL const bool moneypunct<unsigned short, true>::intl;
template _PGLOBAL const bool moneypunct<unsigned short, false>::intl;
template __PURE_APPDOMAIN_GLOBAL locale::id
moneypunct<unsigned short, true>::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
moneypunct<unsigned short, false>::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
money_get<unsigned short, istreambuf_iterator<unsigned short,
char_traits<unsigned short> > >::id;
template __PURE_APPDOMAIN_GLOBAL locale::id
money_put<unsigned short, ostreambuf_iterator<unsigned short,
char_traits<unsigned short> > >::id;
#endif /* __FORCE_INSTANCE */
#endif /* defined(_DLL_CPPLIB) */
#ifdef __clang__
#pragma clang diagnostic pop
#endif /* __clang__ */
#pragma pop_macro("new")
_STL_RESTORE_CLANG_WARNINGS
#pragma warning(pop)
#pragma warning(pop)
#pragma pack(pop)
#endif /* RC_INVOKED */
#endif /* _XLOCMON_ */
#pragma pack(pop)