#pragma once
#ifndef _ISTREAM_
#define _ISTREAM_
#ifndef RC_INVOKED
#include <ostream>
#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
#pragma vtordisp(push, 2) // compiler bug workaround
#pragma vtordisp(push,
2
)
template
<
class
,
class
>
class
:
virtual
public
<
,
>
{
public
:
typedef
<
,
>
;
typedef
<
,
>
;
typedef
<
,
>
;
typedef
<
>
;
typedef
<
,
>
;
#if defined(__FORCE_INSTANCE)
explicit __CLR_OR_THIS_CALL basic_istream(_Mysb *_Strbuf,
bool _Isstd, bool _Noinit)
: _Chcount(0)
{ // construct from stream buffer pointer
if (!_Noinit)
_Myios::init(_Strbuf, _Isstd);
}
#endif /* defined(__FORCE_INSTANCE) */
explicit __CLR_OR_THIS_CALL basic_istream(_Mysb *_Strbuf,
bool
=
false
)
: _Chcount(
0
)
{
::
(
,
);
}
__CLR_OR_THIS_CALL basic_istream(_Uninitialized)
{
this
->
(
this
);
}
protected
:
__CLR_OR_THIS_CALL basic_istream(basic_istream&& _Right)
: _Chcount(
.
)
{
::
();
_Myios::move(_STD move(_Right));
.
=
0
;
}
basic_istream& __CLR_OR_THIS_CALL operator=(basic_istream&& _Right)
{
this
->
(
);
return
(*
this
);
}
void __CLR_OR_THIS_CALL swap(basic_istream& _Right)
{
::
(
);
_STD swap(_Chcount, _Right._Chcount);
}
public
:
__CLR_OR_THIS_CALL basic_istream(const basic_istream&) = delete;
basic_istream& __CLR_OR_THIS_CALL operator=(const basic_istream&) = delete;
virtual __CLR_OR_THIS_CALL ~basic_istream() noexcept
{
}
typedef
typename
::int_type
;
typedef
typename
::pos_type
;
typedef
typename
::off_type
;
class
{
public
:
__CLR_OR_THIS_CALL _Sentry_base(basic_istream& _Istr)
: _Myistr(
)
{
if
(
.
() !=
nullptr
)
.
()->_Lock();
}
__CLR_OR_THIS_CALL ~_Sentry_base() noexcept
{
if
(
.
() !=
nullptr
)
.
()->_Unlock();
}
&
;
&
(
const
&) =
delete
;
};
class
:
public
{
public
:
explicit __CLR_OR_THIS_CALL sentry(basic_istream& _Istr, bool _Noskip = false)
explicit
(
&
,
bool
=
false
)
:
(
)
{
=
this
->
.
(
);
}
explicit __CLR_OR_THIS_CALL operator bool() const
{
return
(
);
}
__CLR_OR_THIS_CALL sentry(const sentry&) = delete;
sentry& __CLR_OR_THIS_CALL operator=(const sentry&) = delete;
private
:
bool
;
};
bool __CLR_OR_THIS_CALL _Ipfx(bool _Noskip = false)
{
if
(
this
->
())
{
if
(
::
() !=
nullptr
)
::
()->flush();
if
(!
&&
this
->
() &
::
)
{
const _Ctype& _Ctype_fac = _STD use_facet<_Ctype>(this->getloc());
const
&
= ::
std
::
<
>(
this
->
());
=
::
()->sgetc();
for
(; ;
_Meta
=
::
()->snextc())
if
(
::eq_int_type(
::eof(),
_Meta
))
{
::
(
::
);
break
;
}
else
if
(!
_Ctype_fac
.
(
::
,
::to_char_type(
_Meta
)))
break
;
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
if
(
this
->
())
return
(
true
);
}
::
(
::
);
return
(
false
);
}
bool __CLR_OR_THIS_CALL ipfx(bool _Noskip = false)
{
return
(
(
));
}
void __CLR_OR_THIS_CALL isfx()
{
}
#ifdef _M_CEE_PURE
basic_istream& __CLR_OR_THIS_CALL operator>>(basic_istream& (__clrcall *_Pfn)(basic_istream&))
{ // call basic_istream manipulator
return ((*_Pfn)(*this));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(_Myios& (__clrcall *_Pfn)(_Myios&))
{ // call basic_ios manipulator
(*_Pfn)(*(_Myios *)this);
return (*this);
}
basic_istream& __CLR_OR_THIS_CALL operator>>(ios_base& (__clrcall *_Pfn)(ios_base&))
{ // call ios_base manipulator
(*_Pfn)(*(ios_base *)this);
return (*this);
}
#endif /* _M_CEE_PURE */
basic_istream& __CLR_OR_THIS_CALL operator>>(basic_istream& (__cdecl *_Pfn)(basic_istream&))
{
return
((*
)(*
this
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(_Myios& (__cdecl *_Pfn)(_Myios&))
{
(*
)(*(
*)
this
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL operator>>(ios_base& (__cdecl *_Pfn)(ios_base&))
{
(*
)(*(
*)
this
);
return
(*
this
);
}
private
:
template
<
class
>
& (
& )
{
::
=
::
;
const
(*
this
);
if
(
_Ok
)
{
_STD use_facet<_Nget>(this->getloc()).get(*this, {}, *this, _Err, _Val);
::
std
::
<
>(
this
->
()).
(*
this
, {}, *
this
,
_Err
,
);
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_Err
);
return
(*
this
);
}
public
:
basic_istream& __CLR_OR_THIS_CALL operator>>(bool& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(short& _Val)
{
::
=
::
;
const
(*
this
);
if
(
_Ok
)
{
long
;
_STD use_facet<_Nget>(this->getloc()).get(*this, {}, *this, _Err, _Lval);
::
std
::
<
>(
this
->
()).
(*
this
, {}, *
this
,
_Err
,
_Lval
);
{
_Err
|=
::
;
}
else if (_Lval > SHRT_MAX)
{
_Err
|=
::
;
}
else
{
=
static_cast
<
short
>(
_Lval
);
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_Err
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL operator>>(unsigned short& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(int& _Val)
{
static_assert
(
sizeof
(
int
)
sizeof
(
long
),
"Bad overflow assumptions due to sizeof(int) != sizeof(long)"
);
long
=
;
_Common_extract_with_num_get
(
_Result
);
=
_Result
;
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL operator>>(unsigned int& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(long& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(unsigned long& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(long long& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(unsigned long long& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(float& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(double& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(long double& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(void *& _Val)
{
return
(
_Common_extract_with_num_get
(
));
}
basic_istream& __CLR_OR_THIS_CALL operator>>(_Mysb * _Strbuf)
{
=
0
;
const
(*
this
,
true
);
::
=
::
;
if
(
_Ok
&&
!=
nullptr
)
{
for
(
=
::
()->sgetc(); ;
_Meta
=
::
()->snextc())
{
if
(
::eq_int_type(
::eof(),
_Meta
))
{
_State
|=
::
;
break
;
}
if
(
::eq_int_type(
::eof(),
->
(
::to_char_type(
_Meta
))))
{
break
;
}
break
;
++
;
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
if
(
0
)
{
_State
=
::
;
}
::
(
_State
);
return
(*
this
);
}
int_type __CLR_OR_THIS_CALL get()
{
=
0
;
::
=
::
;
=
0
;
const
(*
this
,
true
);
if
(!
_Ok
)
_Meta
=
::eof();
else
{
_Meta
=
::
()->sgetc();
if
(
::eq_int_type(
::eof(),
_Meta
))
_State
|=
::
|
::
;
else
{
::
()->sbumpc();
++
;
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_State
);
return
(
_Meta
);
}
basic_istream& __CLR_OR_THIS_CALL get(_Elem *_Str, streamsize _Count)
{
return
(
(
,
,
::
(
'\n'
)));
}
basic_istream& __CLR_OR_THIS_CALL get(_Elem *_Str,
,
)
{
::
=
::
;
=
0
;
const
(*
this
,
true
);
if
(
_Ok
&&
0
<
)
{
=
::
()->sgetc();
for
(;
0
--
;
_Meta
=
::
()->snextc())
if
(
::eq_int_type(
::eof(),
_Meta
))
{
_State
|=
::
;
break
;
}
else
if
(
::to_char_type(
_Meta
) ==
)
break
;
else
{
*
++ =
::to_char_type(
_Meta
);
++
;
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
0
?
_State
|
::
:
_State
);
*
=
();
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL get(_Elem& _Ch)
{
=
();
if
(!
::eq_int_type(
::eof(),
_Meta
))
=
::to_char_type(
_Meta
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL get(_Mysb& _Strbuf)
{
return
(
(
,
::
(
'\n'
)));
}
basic_istream& __CLR_OR_THIS_CALL get(_Mysb& _Strbuf, _Elem _Delim)
{
::
=
::
;
=
0
;
const
(*
this
,
true
);
if
(
_Ok
)
{
=
::
()->sgetc();
for
(; ;
_Meta
=
::
()->snextc())
if
(
::eq_int_type(
::eof(),
_Meta
))
{
_State
|=
::
;
break
;
}
else
{
=
::to_char_type(
_Meta
);
if
(
_Ch
==
||
::eq_int_type(
::eof(),
.
(
_Ch
)))
break
;
break
;
++
;
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
if
(
0
)
_State
|=
::
;
::
(
_State
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL getline(_Elem *_Str, streamsize _Count)
{
return
(
(
,
,
::
(
'\n'
)));
}
basic_istream& __CLR_OR_THIS_CALL getline(_Elem *_Str,
,
)
{
::
=
::
;
=
0
;
const
(*
this
,
true
);
if
(
_Ok
&&
0
<
)
{
=
::to_int_type(
);
=
::
()->sgetc();
for
(; ;
_Meta
=
::
()->snextc())
if
(
::eq_int_type(
::eof(),
_Meta
))
{
_State
|=
::
;
break
;
}
else
if
(
_Meta
==
_Metadelim
)
{
++
;
::
()->sbumpc();
break
;
}
else
if
(--
<=
0
)
{
_State
|=
::
;
break
;
}
else
{
*
++ =
::to_char_type(
_Meta
);
++
;
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
*
=
();
::
(
0
?
_State
|
::
:
_State
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL ignore(streamsize _Count = 1,
=
::eof())
{
::
=
::
;
=
0
;
const
(*
this
,
true
);
if
(
_Ok
&&
0
<
)
{
for
(;;)
{
;
if
(
(
<
>::
)()
&& --
0
)
break
;
else
if
(
::eq_int_type(
::eof(),
_Meta
=
::
()->sbumpc()))
{
_State
|=
::
;
break
;
}
else
{
++
;
if
(
_Meta
==
)
break
;
}
}
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_State
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL read(_Elem *_Str, streamsize _Count)
{
::
=
::
;
=
0
;
const
(*
this
,
true
);
if
(
_Ok
&&
0
<
)
{
const
=
::
()->sgetn(
,
);
+=
_Num
;
if
(
_Num
)
_State
|=
::
|
::
;
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_State
);
return
(*
this
);
}
streamsize __CLR_OR_THIS_CALL readsome(_Elem *_Str,
)
{
::
=
::
;
=
0
;
const
(*
this
,
true
);
;
if
(!
_Ok
)
_State
|=
::
;
else
if
((
_Num
=
::
()->in_avail()) <
0
)
_State
|=
::
;
else
if
(
0
&&
0
<
_Num
)
{
(
,
_Num
?
_Num
:
);
}
::
(
_State
);
return
(
());
}
int_type __CLR_OR_THIS_CALL peek()
{
::
=
::
;
=
0
;
=
0
;
const
(*
this
,
true
);
if
(!
_Ok
)
_Meta
=
::eof();
else
{
if
(
::eq_int_type(
::eof(),
_Meta
=
::
()->sgetc()))
_State
|=
::
;
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_State
);
return
(
_Meta
);
}
basic_istream& __CLR_OR_THIS_CALL putback(_Elem _Ch)
{
=
0
;
::
=
::
;
::
=
::
();
::
(
_Oldstate
& ~
::
);
const
(*
this
,
true
);
if
(
_Ok
)
{
if
(
::eq_int_type(
::eof(),
::
()->sputbackc(
)))
_State
|=
::
|
_Oldstate
;
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_State
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL unget()
{
=
0
;
::
=
::
;
::
=
::
();
::
(
_Oldstate
& ~
::
);
const
(*
this
,
true
);
if
(
_Ok
)
{
if
(
::eq_int_type(
::eof(),
::
()->sungetc()))
_State
|=
::
|
_Oldstate
;
_CATCH_IO_END
}
catch
(...) {
::
(
::
,
true
); }
}
::
(
_State
);
return
(*
this
);
}
_NODISCARD streamsize __CLR_OR_THIS_CALL gcount() const
{
return
(
);
}
int __CLR_OR_THIS_CALL sync()
{
const
(*
this
,
true
);
if
(
::
() ==
nullptr
)
return
(-
1
);
else
if
(
::
()->pubsync() == -
1
)
{
::
(
::
);
return
(-
1
);
}
else
return
(
0
);
}
basic_istream& __CLR_OR_THIS_CALL seekg(pos_type _Pos)
{
::
=
::
;
::
=
::
();
::
(
_Oldstate
& ~
::
);
const
(*
this
,
true
);
if
(!
this
->
()
&& (
)
::
()->pubseekpos(
,
::
) == -
1
)
::
(
_State
|
::
);
return
(*
this
);
}
basic_istream& __CLR_OR_THIS_CALL seekg(off_type _Off, ios_base::seekdir _Way)
{
::
=
::
;
::
=
::
();
::
(
_Oldstate
& ~
::
);
const
(*
this
,
true
);
if
(!
this
->
()
&& (
)
::
()->pubseekoff(
,
,
::
) == -
1
)
::
(
_State
|
::
);
return
(*
this
);
}
pos_type __CLR_OR_THIS_CALL tellg()
{
const
(*
this
,
true
);
if
(!
this
->
())
return
(
::
()->pubseekoff(
0
,
::
,
::
));
else
return
(
(-
1
));
}
private
:
;
};
#pragma vtordisp(pop) // compiler bug workaround
#pragma vtordisp(pop)
#ifndef _NATIVE_WCHAR_T_DEFINED
template<class _Elem,
class _Traits> inline
basic_istream<_Elem, _Traits>& operator>>(
basic_istream<_Elem, _Traits>& _Istr, _Elem& _Ch);
/* NOTE:
If you are not using native wchar_t, the following explicit
specialization will mask the member function (above) that treats
an unsigned short as an integer.
To read or write unsigned shorts as integers with wchar_t streams,
make wchar_t a native type with the command line option /Zc:wchar_t.
*/
template<> inline
basic_istream<unsigned short, char_traits<unsigned short> >&
__CLR_OR_THIS_CALL basic_istream<unsigned short,
char_traits<unsigned short> >::operator>>(unsigned short& _Ch)
{ // extract a character
return (_STD operator>>(*this, _Ch));
}
#endif /* _NATIVE_WCHAR_T_DEFINED */
#if defined(_DLL_CPPLIB)
#if !defined(_CRTBLD) || defined(__FORCE_INSTANCE)
template class _CRTIMP2_PURE_IMPORT basic_istream<char, char_traits<char> >;
template
class
__declspec
(dllimport)
<
char
,
<
char
> >;
template class _CRTIMP2_PURE_IMPORT basic_istream<wchar_t, char_traits<wchar_t> >;
#endif /* !defined(_CRTBLD) || defined(__FORCE_INSTANCE) */
template
class
__declspec
(dllimport)
<
wchar_t
,
<
wchar_t
> >;
#ifdef __FORCE_INSTANCE
template class _CRTIMP2_PURE_IMPORT basic_istream<unsigned short,
char_traits<unsigned short> >;
#endif /* __FORCE_INSTANCE */
#endif /* defined(_DLL_CPPLIB) */
template
<
class
,
class
>
class
:
public
<
,
>,
public
<
,
>
{
public
:
typedef
<
,
>
;
typedef
<
,
>
;
typedef
<
,
>
;
typedef
;
typedef
;
typedef
typename
::int_type
;
typedef
typename
::pos_type
;
typedef
typename
::off_type
;
explicit __CLR_OR_THIS_CALL basic_iostream(basic_streambuf<_Elem, _Traits> *_Strbuf)
:
(
,
false
),
(
,
false
)
{
}
protected
:
__CLR_OR_THIS_CALL basic_iostream(basic_iostream&& _Right)
:
(
.
(),
false
),
(
,
false
)
{
::
();
_Myios::move(_STD move(_Right));
}
basic_iostream& __CLR_OR_THIS_CALL operator=(basic_iostream&& _Right)
{
this
->
(
);
return
(*
this
);
}
void __CLR_OR_THIS_CALL swap(basic_iostream& _Right)
{
if (this != _STD addressof(_Right))
::
(
);
}
public
:
__CLR_OR_THIS_CALL basic_iostream(const basic_iostream&) = delete;
basic_iostream& __CLR_OR_THIS_CALL operator=(const basic_iostream&) = delete;
virtual __CLR_OR_THIS_CALL ~basic_iostream() noexcept
{
}
};
#if defined(_DLL_CPPLIB)
#if !defined(_CRTBLD) || defined(__FORCE_INSTANCE)
template class _CRTIMP2_PURE_IMPORT basic_iostream<char, char_traits<char> >;
template
class
__declspec
(dllimport)
<
char
,
<
char
> >;
template class _CRTIMP2_PURE_IMPORT basic_iostream<wchar_t, char_traits<wchar_t> >;
#endif /* !defined(_CRTBLD) || defined(__FORCE_INSTANCE) */
template
class
__declspec
(dllimport)
<
wchar_t
,
<
wchar_t
> >;
#ifdef __FORCE_INSTANCE
template class _CRTIMP2_PURE_IMPORT basic_iostream<unsigned short,
char_traits<unsigned short> >;
#endif /* __FORCE_INSTANCE */
#endif /* defined(_DLL_CPPLIB) */
template
<
class
,
class
>
inline
<
,
>&
(
<
,
>&
,
*
)
{
typedef
<
,
>
;
typedef
<
>
;
::
=
::
;
*
=
;
const
typename
::
(
);
if
(
_Ok
)
{
const _Ctype& _Ctype_fac = _STD use_facet<_Ctype>(_Istr.getloc());
const
&
= ::
std
::
<
>(
.
());
=
0
<
.
() ?
.
()
: (
<
>::
)();
typename
::
=
.
()->sgetc();
;
for
(;
0
--
_Count
;
_Meta
=
.
()->snextc())
if
(
::eq_int_type(
::eof(),
_Meta
))
{
_State
|=
::
;
break
;
}
else
if
(
_Ctype_fac
.
(
::
,
_Ch
=
::to_char_type(
_Meta
))
||
_Ch
==
())
break
;
else
*
++ =
::to_char_type(
_Meta
);
_CATCH_IO_(_Istr)
}
catch
(...) { (
).
(
::
,
true
); }
}
*
=
();
.
(
0
);
.
(
_Str0
?
_State
|
::
:
_State
);
return
(
);
}
template
<
class
,
class
>
inline
<
,
>&
(
<
,
>&
,
&
)
{
typedef
<
,
>
;
typename
::
;
::
=
::
;
const
typename
::
(
);
if
(
_Ok
)
{
_Meta
=
.
()->sbumpc();
if
(
::eq_int_type(
::eof(),
_Meta
))
_State
|=
::
|
::
;
else
=
::to_char_type(
_Meta
);
_CATCH_IO_(_Istr)
}
catch
(...) { (
).
(
::
,
true
); }
}
.
(
_State
);
return
(
);
}
template
<
class
>
inline
<
char
,
>&
(
<
char
,
>&
,
signed
char
*
)
{
return
(
>> (
char
*)
);
}
template
<
class
>
inline
<
char
,
>&
(
<
char
,
>&
,
signed
char
&
)
{
return
(
>> (
char
&)
);
}
template
<
class
>
inline
<
char
,
>&
(
<
char
,
>&
,
unsigned
char
*
)
{
return
(
>> (
char
*)
);
}
template
<
class
>
inline
<
char
,
>&
(
<
char
,
>&
,
unsigned
char
&
)
{
return
(
>> (
char
&)
);
}
template
<
class
,
class
,
class
=
void
>
struct
:
{
};
template
<
class
,
class
>
struct _Can_stream_in<_Istr, _Ty, void_t<decltype(_STD declval<_Istr&>() >> _STD declval<_Ty>())>>
struct
<
,
,
<
decltype
(::
std
::
<
&>() >> ::
std
::
<
>())>>
:
{
};
template
<
class
,
class
,
<
<
<
<
>>,
<
,
>,
<
,
>>,
int
> =
0
>
inline
&&
(
&&
,
&&
)
{
_Is >> _STD forward<_Ty>(_Val);
}
template
<
class
,
class
>
inline
<
,
>&
__CLRCALL_OR_CDECL ws(basic_istream<_Elem, _Traits>& _Istr)
{
const
typename
<
,
>::
(
,
true
);
if
(
_Ok
)
{
::
=
::
;
const auto& _Ctype_fac = _STD use_facet<ctype<_Elem>>(_Istr.getloc());
const
auto
&
= ::
std
::
<
<
>>(
.
());
for
(
typename
::int_type
=
.
()->sgetc(); ;
_Meta
=
.
()->snextc())
{
if
(
::eq_int_type(
::eof(),
_Meta
))
{
_State
|=
::
;
break
;
}
else
if
(!
_Ctype_fac
.
(
<
>::
,
::to_char_type(
_Meta
)))
{
break
;
}
}
_CATCH_IO_(_Istr)
}
catch
(...) { (
).
(
::
,
true
); }
.
(
_State
);
}
return
(
);
}
#pragma pop_macro("new")
_STL_RESTORE_CLANG_WARNINGS
#pragma warning(pop)
#pragma warning(pop)
#pragma pack(pop)
#endif /* RC_INVOKED */
#endif /* _ISTREAM_ */
#pragma pack(pop)