#pragma once
#ifndef _IOSFWD_
#define _IOSFWD_
#ifndef RC_INVOKED
#include <cstdio>
#include <cstring>
#include <cwchar>
#include <xstddef>
#include <yvals.h>
#include <crtdbg.h>
#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
using
=
long
long
;
using
=
long
long
;
template
<
class
>
class
{
public
:
(
=
0
)
: _Myoff(
), _Fpos(
0
), _Mystate()
{
}
(
,
)
: _Myoff(
), _Fpos(
0
), _Mystate(
)
{
}
_NODISCARD _Statetype state() const
{
return
(
);
}
void
(
)
{
=
;
}
()
const
{
return
(
+
);
}
#ifndef _REMOVE_FPOS_SEEKPOS
_DEPRECATE_FPOS_SEEKPOS fpos_t seekpos() const noexcept
[[deprecated(
"warning STL4019: "
"The member std::fpos::seekpos() is non-Standard, and is preserved only for compatibility with "
"workarounds for old versions of Visual C++. It will be removed in a future release, and in this "
"release always returns 0. Please use standards-conforming mechanisms to manipulate fpos, such as "
"conversions to and from streamoff, or an integral type, instead. If you are receiving this message "
"while compiling Boost.IOStreams, a fix has been submitted upstream to make Boost use "
"standards-conforming mechanisms, as it does for other compilers. You can define "
"_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING to acknowledge that you have received this warning, "
"or define _REMOVE_FPOS_SEEKPOS to remove std::fpos::seekpos entirely."
)]]
()
const
noexcept
{
return
{};
}
#endif // _REMOVE_FPOS_SEEKPOS
_NODISCARD streamoff operator-(const fpos& _Right) const
{
return
(
static_cast
<
>(*
this
) -
static_cast
<
>(
));
}
&
(
)
{
+=
;
return
(*
this
);
}
&
(
)
{
-=
;
return
(*
this
);
}
_NODISCARD fpos operator+(streamoff _Off) const
{
= *
this
;
_Tmp
;
return
(
_Tmp
);
}
_NODISCARD fpos operator-(streamoff _Off) const
{
= *
this
;
_Tmp
;
return
(
_Tmp
);
}
_NODISCARD bool operator==(const fpos& _Right) const
{
return
(
static_cast
<
>(*
this
)
static_cast
<
>(
));
}
template
<
class
,
<
<
>,
int
> =
0
>
_NODISCARD friend bool operator==(const fpos& _Left, const _Int _Right)
friend
bool
(
const
&
,
const
)
{
return
(
static_cast
<
>(
) ==
);
}
template
<
class
,
<
<
>,
int
> =
0
>
_NODISCARD friend bool operator==(const _Int _Left, const fpos& _Right)
friend
bool
(
const
,
const
&
)
{
return
(
==
static_cast
<
>(
));
}
_NODISCARD bool operator!=(const fpos& _Right) const
{
return
(
static_cast
<
>(*
this
)
static_cast
<
>(
));
}
template
<
class
,
<
<
>,
int
> =
0
>
_NODISCARD friend bool operator!=(const fpos& _Left, const _Int _Right)
friend
bool
(
const
&
,
const
)
{
return
(
static_cast
<
>(
) !=
);
}
template
<
class
,
<
<
>,
int
> =
0
>
_NODISCARD friend bool operator!=(const _Int _Left, const fpos& _Right)
friend
bool
(
const
,
const
&
)
{
return
(
!=
static_cast
<
>(
));
}
private
:
;
;
;
};
using
=
<
>;
using
=
;
template
<
class
,
class
>
struct
{
using
=
;
using
=
;
using
=
;
using
=
;
using
=
;
_NODISCARD static _CONSTEXPR17 int compare(_In_reads_(_Count) const _Elem * _First1,
static
inline
int
(
const
*
,
_In_reads_(_Count) const _Elem * _First2, size_t _Count) noexcept // strengthened
{
for
(;
0
; --
, ++
, ++
)
{
if
(*
!= *
)
{
return
(*
< *
? -
1
: +
1
);
}
}
return
(
0
);
}
_NODISCARD static _CONSTEXPR17 size_t length(_In_z_ const _Elem * _First) noexcept // strengthened
static
inline
(
const
*
)
noexcept
{
=
0
;
while
(*
!=
())
{
++
_Count
;
++
;
}
return
(
_Count
);
}
static _Elem * copy(_Out_writes_all_(_Count) _Elem * const _First1,
_In_reads_(_Count) const _Elem * _First2, size_t _Count) noexcept // strengthened
{
return (static_cast<_Elem *>(_CSTD memcpy(_First1, _First2, _Count * sizeof(_Elem))));
return
(
static_cast
<
*>(::
(
,
,
*
sizeof
(
))));
}
_Pre_satisfies_(_Dest_size >= _Count) static _Elem * _Copy_s(
_Out_writes_all_(_Dest_size) _Elem * const _First1, const size_t _Dest_size,
_In_reads_(_Count) const _Elem * const _First2, const size_t _Count) noexcept
const
*
const
,
const
)
noexcept
{
_STL_VERIFY(_Count <= _Dest_size, "invalid argument");
do
{
if
(
<=
) { }
else
{
do
{ (
void
) ((
1
(
2
,
"c:\\program files (x86)\\microsoft visual studio\\2017\\professional\\vc\\tools\\msvc\\14.16.27023\\include\\iosfwd"
,
190
,
0
,
"%s"
,
"invalid argument"
)) || (__debugbreak(),
0
)); ::
(
L"\"invalid argument\""
, __LPREFIX( __FUNCTION__),
L"c:\\program files (x86)\\microsoft visual studio\\2017\\professional\\vc\\tools\\msvc\\14.16.27023\\include\\iosfwd"
,
190
,
0
); }
while
(
false
); } ; }
while
(
false
);
return
(
(
,
,
));
}
_NODISCARD static _CONSTEXPR17 const _Elem * find(_In_reads_(_Count) const _Elem * _First,
static
inline
const
*
(
const
*
,
,
const
&
)
noexcept
{
for
(;
0
; --
, ++
)
{
if
(*
==
)
{
return
(
);
}
}
return
(
nullptr
);
}
static _Elem * move(_Out_writes_all_(_Count) _Elem * const _First1,
_In_reads_(_Count) const _Elem * _First2, size_t _Count) noexcept // strengthened
{
return (static_cast<_Elem *>(_CSTD memmove(_First1, _First2, _Count * sizeof(_Elem))));
return
(
static_cast
<
*>(::
(
,
,
*
sizeof
(
))));
}
static _Elem * assign(_Out_writes_all_(_Count) _Elem * const _First,
,
const
)
noexcept
{
*
=
;
for
(;
0
; --
, ++
_Next
)
{
*
_Next
=
;
}
return
(
);
}
static _CONSTEXPR17 void assign(_Elem& _Left, const _Elem& _Right) noexcept
static
inline
void
(
&
,
const
&
)
noexcept
{
=
;
}
_NODISCARD static constexpr bool eq(const _Elem& _Left, const _Elem& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
==
);
}
_NODISCARD static constexpr bool lt(const _Elem& _Left, const _Elem& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
<
);
}
_NODISCARD static constexpr _Elem to_char_type(const int_type& _Meta) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
static_cast
<
>(
));
}
_NODISCARD static constexpr int_type to_int_type(const _Elem& _Ch) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
static_cast
<
>(
));
}
_NODISCARD static constexpr bool eq_int_type(const int_type& _Left, const int_type& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
==
);
}
_NODISCARD static constexpr int_type not_eof(const int_type& _Meta) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
!=
() ?
: !
());
}
_NODISCARD static constexpr int_type eof() noexcept
static
constexpr
()
noexcept
{
return (static_cast<int_type>(EOF));
return
(
static_cast
<
>((-
1
)));
}
};
template
<
class
>
struct
{
using
=
;
using
=
unsigned
short
;
using
=
;
using
=
;
using
=
;
_NODISCARD static _CONSTEXPR17 int compare(_In_reads_(_Count) const _Elem * const _First1,
static
inline
int
(
const
*
const
,
_In_reads_(_Count) const _Elem * const _First2, const size_t _Count) noexcept // strengthened
const
*
const
,
const
)
noexcept
{
#if _HAS_CXX17
if constexpr (is_same_v<_Elem, wchar_t>)
{
return (__builtin_wmemcmp(_First1, _First2, _Count));
}
else
{
return (_Char_traits<_Elem, unsigned short>::compare(_First1, _First2, _Count));
}
#else /* _HAS_CXX17 */
return (_CSTD wmemcmp(reinterpret_cast<const wchar_t *>(_First1),
return
(::
(
reinterpret_cast
<
const
wchar_t
*>(
),
reinterpret_cast
<
const
wchar_t
*>(
),
));
#endif /* _HAS_CXX17 */
}
_NODISCARD static _CONSTEXPR17 size_t length(_In_z_ const _Elem * _First) noexcept // strengthened
static
inline
(
const
*
)
noexcept
{
#if _HAS_CXX17
if constexpr (is_same_v<_Elem, wchar_t>)
{
return (__builtin_wcslen(_First));
}
else
{
return (_Char_traits<_Elem, unsigned short>::length(_First));
}
#else /* _HAS_CXX17 */
return (_CSTD wcslen(reinterpret_cast<const wchar_t *>(_First)));
#endif /* _HAS_CXX17 */
return
(::
(
reinterpret_cast
<
const
wchar_t
*>(
)));
}
static _Elem * copy(_Out_writes_all_(_Count) _Elem * const _First1,
_In_reads_(_Count) const _Elem * const _First2, const size_t _Count) noexcept // strengthened
const
*
const
,
const
)
noexcept
{
return (reinterpret_cast<_Elem *>(_CSTD wmemcpy(reinterpret_cast<wchar_t *>(_First1),
return
(
reinterpret_cast
<
*>(::
(
reinterpret_cast
<
wchar_t
*>(
),
reinterpret_cast
<
const
wchar_t
*>(
),
)));
}
_Pre_satisfies_(_Size_in_words >= _Count) static _Elem * _Copy_s(
_Out_writes_all_(_Size_in_words) _Elem * const _First1, const size_t _Size_in_words,
_In_reads_(_Count) const _Elem * const _First2, const size_t _Count) noexcept
const
*
const
,
const
)
noexcept
{
_STL_VERIFY(_Count <= _Size_in_words, "invalid argument");
do
{
if
(
<=
) { }
else
{
do
{ (
void
) ((
1
(
2
,
"c:\\program files (x86)\\microsoft visual studio\\2017\\professional\\vc\\tools\\msvc\\14.16.27023\\include\\iosfwd"
,
322
,
0
,
"%s"
,
"invalid argument"
)) || (__debugbreak(),
0
)); ::
(
L"\"invalid argument\""
, __LPREFIX( __FUNCTION__),
L"c:\\program files (x86)\\microsoft visual studio\\2017\\professional\\vc\\tools\\msvc\\14.16.27023\\include\\iosfwd"
,
322
,
0
); }
while
(
false
); } ; }
while
(
false
);
return
(
(
,
,
));
}
_NODISCARD static _CONSTEXPR17 const _Elem * find(_In_reads_(_Count) const _Elem * _First,
static
inline
const
*
(
const
*
,
const
,
const
&
)
noexcept
{
#if _HAS_CXX17
if constexpr (is_same_v<_Elem, wchar_t>)
{
return (__builtin_wmemchr(_First, _Ch, _Count));
}
else
{
return (_Char_traits<_Elem, unsigned short>::find(_First, _Count, _Ch));
}
#else /* _HAS_CXX17 */
return (reinterpret_cast<const _Elem *>(_CSTD wmemchr(
return
(
reinterpret_cast
<
const
*>(::
(
reinterpret_cast
<
const
wchar_t
*>(
),
,
)));
#endif /* _HAS_CXX17 */
}
static _Elem * move(_Out_writes_all_(_Count) _Elem * const _First1,
_In_reads_(_Count) const _Elem * const _First2, const size_t _Count) noexcept // strengthened
const
*
const
,
const
)
noexcept
{
return (reinterpret_cast<_Elem *>(_CSTD wmemmove(reinterpret_cast<wchar_t *>(_First1),
return
(
reinterpret_cast
<
*>(::
(
reinterpret_cast
<
wchar_t
*>(
),
reinterpret_cast
<
const
wchar_t
*>(
),
)));
}
static _Elem * assign(_Out_writes_all_(_Count) _Elem * const _First, size_t _Count, _Elem _Ch)
noexcept
{
return (reinterpret_cast<_Elem *>(_CSTD wmemset(reinterpret_cast<wchar_t *>(_First), _Ch, _Count)));
return
(
reinterpret_cast
<
*>(::
(
reinterpret_cast
<
wchar_t
*>(
),
,
)));
}
static _CONSTEXPR17 void assign(_Elem& _Left, const _Elem& _Right) noexcept
static
inline
void
(
&
,
const
&
)
noexcept
{
=
;
}
_NODISCARD static constexpr bool eq(const _Elem& _Left, const _Elem& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
==
);
}
_NODISCARD static constexpr bool lt(const _Elem& _Left, const _Elem& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
<
);
}
_NODISCARD static constexpr _Elem to_char_type(const int_type& _Meta) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
);
}
_NODISCARD static constexpr int_type to_int_type(const _Elem& _Ch) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
);
}
_NODISCARD static constexpr bool eq_int_type(const int_type& _Left, const int_type& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
);
}
_NODISCARD static constexpr int_type not_eof(const int_type& _Meta) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
() ?
:
static_cast
<
>(!
()));
}
_NODISCARD static constexpr int_type eof() noexcept
static
constexpr
()
noexcept
{
}
};
template
<
class
>
struct
:
<
,
long
>
{
};
template
<>
struct
<
char16_t
>
:
<
char16_t
>
{
};
using
=
;
template
<>
struct
<
char32_t
>
:
<
char32_t
,
unsigned
int
>
{
};
using
=
;
template
<>
struct
<
wchar_t
>
:
<
wchar_t
>
{
};
#ifdef _NATIVE_WCHAR_T_DEFINED
template
<>
struct
<
unsigned
short
>
:
<
unsigned
short
>
{
};
#endif /* _NATIVE_WCHAR_T_DEFINED */
template
<>
struct
<
char
>
{
using
=
char
;
using
=
int
;
using
=
;
using
=
;
using
=
;
_NODISCARD static _CONSTEXPR17 int compare(_In_reads_(_Count) const char * const _First1,
static
inline
int
(
const
char
*
const
,
_In_reads_(_Count) const char * const _First2, const size_t _Count) noexcept // strengthened
const
char
*
const
,
const
)
noexcept
{
#if _HAS_CXX17
return (__builtin_memcmp(_First1, _First2, _Count));
#else /* _HAS_CXX17 */
return (_CSTD memcmp(_First1, _First2, _Count));
#endif /* _HAS_CXX17 */
}
_NODISCARD static _CONSTEXPR17 size_t length(_In_z_ const char * const _First) noexcept // strengthened
static
inline
(
const
char
*
const
)
noexcept
{
#if _HAS_CXX17
return (__builtin_strlen(_First));
#else /* _HAS_CXX17 */
return (_CSTD strlen(_First));
#endif /* _HAS_CXX17 */
}
static char * copy(_Out_writes_(_Count) char * const _First1,
static
char
*
(
char
*
const
,
_In_reads_(_Count) const char * const _First2, const size_t _Count) noexcept // strengthened
const
char
*
const
,
const
)
noexcept
{
return (static_cast<char *>(_CSTD memcpy(_First1, _First2, _Count)));
return
(
static_cast
<
char
*>(::
(
,
,
)));
}
_Pre_satisfies_(_Size_in_bytes >= _Count) static char * _Copy_s(
_Out_writes_all_(_Size_in_bytes) char * const _First1, const size_t _Size_in_bytes,
_In_reads_(_Count) const char * const _First2, const size_t _Count) noexcept
const
char
*
const
,
const
)
noexcept
{
_STL_VERIFY(_Count <= _Size_in_bytes, "invalid argument");
do
{
if
(
<=
) { }
else
{
do
{ (
void
) ((
1
(
2
,
"c:\\program files (x86)\\microsoft visual studio\\2017\\professional\\vc\\tools\\msvc\\14.16.27023\\include\\iosfwd"
,
478
,
0
,
"%s"
,
"invalid argument"
)) || (__debugbreak(),
0
)); ::
(
L"\"invalid argument\""
, __LPREFIX( __FUNCTION__),
L"c:\\program files (x86)\\microsoft visual studio\\2017\\professional\\vc\\tools\\msvc\\14.16.27023\\include\\iosfwd"
,
478
,
0
); }
while
(
false
); } ; }
while
(
false
);
return
(
(
,
,
));
}
_NODISCARD static _CONSTEXPR17 const char * find(_In_reads_(_Count) const char * const _First,
static
inline
const
char
*
(
const
char
*
const
,
const
,
const
char
&
)
noexcept
{
#if _HAS_CXX17
return (__builtin_char_memchr(_First, _Ch, _Count));
#else /* _HAS_CXX17 */
return (static_cast<const char *>(_CSTD memchr(_First, _Ch, _Count)));
#endif /* _HAS_CXX17 */
return
(
static_cast
<
const
char
*>(::
(
,
,
)));
}
static char * move(_Out_writes_all_(_Count) char * const _First1,
static
char
*
(
char
*
const
,
_In_reads_(_Count) const char * const _First2, const size_t _Count) noexcept // strengthened
const
char
*
const
,
const
)
noexcept
{
return (static_cast<char *>(_CSTD memmove(_First1, _First2, _Count)));
return
(
static_cast
<
char
*>(::
(
,
,
)));
}
static char * assign(_Out_writes_all_(_Count) char * const _First,
static
char
*
(
char
*
const
,
const
,
const
char
)
noexcept
{
return (static_cast<char *>(_CSTD memset(_First, _Ch, _Count)));
return
(
static_cast
<
char
*>(::
(
,
,
)));
}
static _CONSTEXPR17 void assign(char& _Left, const char& _Right) noexcept
static
inline
void
(
char
&
,
const
char
&
)
noexcept
{
=
;
}
_NODISCARD static constexpr bool eq(const char& _Left, const char& _Right) noexcept
static
constexpr
bool
(
const
char
&
,
const
char
&
)
noexcept
{
return
(
);
}
_NODISCARD static constexpr bool lt(const char& _Left, const char& _Right) noexcept
static
constexpr
bool
(
const
char
&
,
const
char
&
)
noexcept
{
return
(
static_cast
<
unsigned
char
>(
)
static_cast
<
unsigned
char
>(
));
}
_NODISCARD static constexpr char to_char_type(const int_type& _Meta) noexcept
static
constexpr
char
(
const
&
)
noexcept
{
return
(
static_cast
<
char
>(
));
}
_NODISCARD static constexpr int_type to_int_type(const char& _Ch) noexcept
static
constexpr
(
const
char
&
)
noexcept
{
return
(
static_cast
<
unsigned
char
>(
));
}
_NODISCARD static constexpr bool eq_int_type(const int_type& _Left, const int_type& _Right) noexcept
static
constexpr
bool
(
const
&
,
const
&
)
noexcept
{
return
(
);
}
_NODISCARD static constexpr int_type not_eof(const int_type& _Meta) noexcept
static
constexpr
(
const
&
)
noexcept
{
return
(
() ?
: !
());
}
_NODISCARD static constexpr int_type eof() noexcept
static
constexpr
()
noexcept
{
}
};
template
<
class
>
class
;
class
;
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
#pragma vtordisp(push, 2) // compiler bug workaround
#pragma vtordisp(push,
2
)
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
#pragma vtordisp(pop) // compiler bug workaround
#pragma vtordisp(pop)
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
template
<
class
,
class
=
<
>>
class
;
#if defined(_DLL_CPPLIB)
template
<
class
,
class
>
class
;
template
<
class
,
class
>
class
;
template
<
class
>
class
;
#endif /* defined(_DLL_CPPLIB) */
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>,
<
char
>>;
using
=
<
char
,
<
char
>,
<
char
>>;
using
=
<
char
,
<
char
>,
<
char
>>;
using
=
<
char
,
<
char
>,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
char
,
<
char
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
using
=
<
wchar_t
,
<
wchar_t
>>;
#if defined(_CRTBLD)
// unsigned short TYPEDEFS
using ushistream = basic_istream<unsigned short, char_traits<unsigned short>>;
using ushostream = basic_ostream<unsigned short, char_traits<unsigned short>>;
using ushfilebuf = basic_filebuf<unsigned short, char_traits<unsigned short>>;
#endif /* defined(_CRTBLD) */
#pragma pop_macro("new")
_STL_RESTORE_CLANG_WARNINGS
#pragma warning(pop)
#pragma warning(pop)
#pragma pack(pop)
#endif /* RC_INVOKED */
#endif /* _IOSFWD_ */
#pragma pack(pop)