📄 iosfwd
字号:
}
static int_type __CLRCALL_OR_CDECL not_eof(const int_type& _Meta)
{ // return anything but EOF
return (_Meta != eof() ? _Meta : !eof());
}
static int_type __CLRCALL_OR_CDECL eof()
{ // return end-of-file metacharacter
return (WEOF);
}
};
#ifdef _NATIVE_WCHAR_T_DEFINED
// STRUCT char_traits<unsigned short>
template<> struct char_traits<unsigned short>
{ // properties of a string or stream unsigned short element
typedef unsigned short _Elem;
typedef _Elem char_type; // for overloads
typedef wint_t int_type;
typedef streampos pos_type;
typedef streamoff off_type;
typedef _Mbstatet state_type;
static int __CLRCALL_OR_CDECL compare(const _Elem *_First1, const _Elem *_First2,
size_t _Count)
{ // compare [_First1, _First1 + _Count) with [_First2, ...)
return (_CSTD wmemcmp((const wchar_t *)_First1,
(const wchar_t *)_First2, _Count));
}
static size_t __CLRCALL_OR_CDECL length(const _Elem *_First)
{ // find length of null-terminated sequence
return (_CSTD wcslen((const wchar_t *)_First));
}
static _Elem *__CLRCALL_OR_CDECL copy(_Elem *_First1, const _Elem *_First2,
size_t _Count)
{ // copy [_First1, _First1 + _Count) to [_First2, ...)
return ((_Elem *)_CSTD wmemcpy((wchar_t *)_First1,
(const wchar_t *)_First2, _Count));
}
static _Elem *__CLRCALL_OR_CDECL _Copy_s(
_Out_cap_(_Size_in_words) _Elem *_First1, size_t _Size_in_words,
_In_count_(_Count) const _Elem *_First2, size_t _Count)
{ // copy [_First1, _First1 + _Count) to [_First2, ...)
_CRT_SECURE_WMEMCPY((wchar_t *)_First1, _Size_in_words, (const wchar_t *)_First2, _Count);
return _First1;
}
static const _Elem *__CLRCALL_OR_CDECL find(const _Elem *_First, size_t _Count,
const _Elem& _Ch)
{ // look for _Ch in [_First, _First + _Count)
return ((const _Elem *)_CSTD wmemchr((const wchar_t *)_First,
_Ch, _Count));
}
static _Elem *__CLRCALL_OR_CDECL move(_Elem *_First1, const _Elem *_First2,
size_t _Count)
{ // copy [_First1, _First1 + _Count) to [_First2, ...)
return ((_Elem *)_CSTD wmemmove((wchar_t *)_First1,
(const wchar_t *)_First2, _Count));
}
static _Elem *__CLRCALL_OR_CDECL assign(_Elem *_First, size_t _Count, _Elem _Ch)
{ // assign _Count * _Ch to [_First, ...)
return ((_Elem *)_CSTD wmemset((wchar_t *)_First, _Ch, _Count));
}
static void __CLRCALL_OR_CDECL assign(_Elem& _Left, const _Elem& _Right)
{ // assign an element
_Left = _Right;
}
static bool __CLRCALL_OR_CDECL eq(const _Elem& _Left, const _Elem& _Right)
{ // test for element equality
return (_Left == _Right);
}
static bool __CLRCALL_OR_CDECL lt(const _Elem& _Left, const _Elem& _Right)
{ // test if _Left precedes _Right
return (_Left < _Right);
}
static _Elem __CLRCALL_OR_CDECL to_char_type(const int_type& _Meta)
{ // convert metacharacter to character
return (_Meta);
}
static int_type __CLRCALL_OR_CDECL to_int_type(const _Elem& _Ch)
{ // convert character to metacharacter
return (_Ch);
}
static bool __CLRCALL_OR_CDECL eq_int_type(const int_type& _Left,
const int_type& _Right)
{ // test for metacharacter equality
return (_Left == _Right);
}
static int_type __CLRCALL_OR_CDECL not_eof(const int_type& _Meta)
{ // return anything but EOF
return (_Meta != eof() ? _Meta : !eof());
}
static int_type __CLRCALL_OR_CDECL eof()
{ // return end-of-file metacharacter
return (WEOF);
}
};
#endif /* _NATIVE_WCHAR_T_DEFINED */
// STRUCT char_traits<char> (FROM <string>)
template<> struct char_traits<char>
{ // properties of a string or stream char element
typedef char _Elem;
typedef _Elem char_type;
typedef int int_type;
typedef streampos pos_type;
typedef streamoff off_type;
typedef _Mbstatet state_type;
static int __CLRCALL_OR_CDECL compare(const _Elem *_First1, const _Elem *_First2,
size_t _Count)
{ // compare [_First1, _First1 + _Count) with [_First2, ...)
return (_CSTD memcmp(_First1, _First2, _Count));
}
static size_t __CLRCALL_OR_CDECL length(const _Elem *_First)
{ // find length of null-terminated string
return (_CSTD strlen(_First));
}
static _Elem *__CLRCALL_OR_CDECL copy(_Elem *_First1, const _Elem *_First2,
size_t _Count)
{ // copy [_First1, _First1 + _Count) to [_First2, ...)
return ((_Elem *)_CSTD memcpy(_First1, _First2, _Count));
}
static _Elem *__CLRCALL_OR_CDECL _Copy_s(
_Out_cap_(_Size_in_bytes) _Elem *_First1, size_t _Size_in_bytes,
_In_count_(_Count) const _Elem *_First2, size_t _Count)
{ // copy [_First1, _First1 + _Count) to [_First2, ...)
_CRT_SECURE_MEMCPY(_First1, _Size_in_bytes, _First2, _Count);
return _First1;
}
static const _Elem *__CLRCALL_OR_CDECL find(const _Elem *_First, size_t _Count,
const _Elem& _Ch)
{ // look for _Ch in [_First, _First + _Count)
return ((const _Elem *)_CSTD memchr(_First, _Ch, _Count));
}
static _Elem *__CLRCALL_OR_CDECL move(_Elem *_First1, const _Elem *_First2,
size_t _Count)
{ // copy [_First1, _First1 + _Count) to [_First2, ...)
return ((_Elem *)_CSTD memmove(_First1, _First2, _Count));
}
static _Elem *__CLRCALL_OR_CDECL assign(_Elem *_First, size_t _Count, _Elem _Ch)
{ // assign _Count * _Ch to [_First, ...)
return ((_Elem *)_CSTD memset(_First, _Ch, _Count));
}
static void __CLRCALL_OR_CDECL assign(_Elem& _Left, const _Elem& _Right)
{ // assign an element
_Left = _Right;
}
static bool __CLRCALL_OR_CDECL eq(const _Elem& _Left, const _Elem& _Right)
{ // test for element equality
return (_Left == _Right);
}
static bool __CLRCALL_OR_CDECL lt(const _Elem& _Left, const _Elem& _Right)
{ // test if _Left precedes _Right
return ((unsigned char)_Left < (unsigned char)_Right);
}
static _Elem __CLRCALL_OR_CDECL to_char_type(const int_type& _Meta)
{ // convert metacharacter to character
return ((_Elem)_Meta);
}
static int_type __CLRCALL_OR_CDECL to_int_type(const _Elem& _Ch)
{ // convert character to metacharacter
return ((unsigned char)_Ch);
}
static bool __CLRCALL_OR_CDECL eq_int_type(const int_type& _Left,
const int_type& _Right)
{ // test for metacharacter equality
return (_Left == _Right);
}
static int_type __CLRCALL_OR_CDECL not_eof(const int_type& _Meta)
{ // return anything but EOF
return (_Meta != eof() ? _Meta : !eof());
}
static int_type __CLRCALL_OR_CDECL eof()
{ // return end-of-file metacharacter
return (EOF);
}
};
// FORWARD REFERENCES
template<class _Ty>
class allocator;
class ios_base;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_ios;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class istreambuf_iterator;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class ostreambuf_iterator;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_streambuf;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_istream;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_ostream;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_iostream;
template<class _Elem,
class _Traits = char_traits<_Elem>,
class _Alloc = allocator<_Elem> >
class basic_stringbuf;
template<class _Elem,
class _Traits = char_traits<_Elem>,
class _Alloc = allocator<_Elem> >
class basic_istringstream;
template<class _Elem,
class _Traits = char_traits<_Elem>,
class _Alloc = allocator<_Elem> >
class basic_ostringstream;
template<class _Elem,
class _Traits = char_traits<_Elem>,
class _Alloc = allocator<_Elem> >
class basic_stringstream;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_filebuf;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_ifstream;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_ofstream;
template<class _Elem,
class _Traits = char_traits<_Elem> >
class basic_fstream;
#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE)
template<class _Elem,
class _InIt >
class num_get;
template<class _Elem,
class _OutIt >
class num_put;
template<class _Elem>
class collate;
#endif /* defined(_DLL_CPPLIB) etc. */
// char TYPEDEFS
typedef basic_ios<char, char_traits<char> > ios;
typedef basic_streambuf<char, char_traits<char> > streambuf;
typedef basic_istream<char, char_traits<char> > istream;
typedef basic_ostream<char, char_traits<char> > ostream;
typedef basic_iostream<char, char_traits<char> > iostream;
typedef basic_stringbuf<char, char_traits<char>,
allocator<char> > stringbuf;
typedef basic_istringstream<char, char_traits<char>,
allocator<char> > istringstream;
typedef basic_ostringstream<char, char_traits<char>,
allocator<char> > ostringstream;
typedef basic_stringstream<char, char_traits<char>,
allocator<char> > stringstream;
typedef basic_filebuf<char, char_traits<char> > filebuf;
typedef basic_ifstream<char, char_traits<char> > ifstream;
typedef basic_ofstream<char, char_traits<char> > ofstream;
typedef basic_fstream<char, char_traits<char> > fstream;
// wchat_t TYPEDEFS
typedef basic_ios<wchar_t, char_traits<wchar_t> > wios;
typedef basic_streambuf<wchar_t, char_traits<wchar_t> >
wstreambuf;
typedef basic_istream<wchar_t, char_traits<wchar_t> > wistream;
typedef basic_ostream<wchar_t, char_traits<wchar_t> > wostream;
typedef basic_iostream<wchar_t, char_traits<wchar_t> > wiostream;
typedef basic_stringbuf<wchar_t, char_traits<wchar_t>,
allocator<wchar_t> > wstringbuf;
typedef basic_istringstream<wchar_t, char_traits<wchar_t>,
allocator<wchar_t> > wistringstream;
typedef basic_ostringstream<wchar_t, char_traits<wchar_t>,
allocator<wchar_t> > wostringstream;
typedef basic_stringstream<wchar_t, char_traits<wchar_t>,
allocator<wchar_t> > wstringstream;
typedef basic_filebuf<wchar_t, char_traits<wchar_t> > wfilebuf;
typedef basic_ifstream<wchar_t, char_traits<wchar_t> > wifstream;
typedef basic_ofstream<wchar_t, char_traits<wchar_t> > wofstream;
typedef basic_fstream<wchar_t, char_traits<wchar_t> > wfstream;
#ifdef _CRTBLD_NATIVE_WCHAR_T
// unsigned short TYPEDEFS
typedef basic_ios<unsigned short, char_traits<unsigned short> > ushios;
typedef basic_streambuf<unsigned short, char_traits<unsigned short> >
ushstreambuf;
typedef basic_istream<unsigned short, char_traits<unsigned short> > ushistream;
typedef basic_ostream<unsigned short, char_traits<unsigned short> > ushostream;
typedef basic_iostream<unsigned short, char_traits<unsigned short> > ushiostream;
typedef basic_stringbuf<unsigned short, char_traits<unsigned short>,
allocator<unsigned short> > ushstringbuf;
typedef basic_istringstream<unsigned short, char_traits<unsigned short>,
allocator<unsigned short> > ushistringstream;
typedef basic_ostringstream<unsigned short, char_traits<unsigned short>,
allocator<unsigned short> > ushostringstream;
typedef basic_stringstream<unsigned short, char_traits<unsigned short>,
allocator<unsigned short> > ushstringstream;
typedef basic_filebuf<unsigned short, char_traits<unsigned short> > ushfilebuf;
typedef basic_ifstream<unsigned short, char_traits<unsigned short> > ushifstream;
typedef basic_ofstream<unsigned short, char_traits<unsigned short> > ushofstream;
typedef basic_fstream<unsigned short, char_traits<unsigned short> > ushfstream;
#endif /* _CRTBLD_NATIVE_WCHAR_T */
#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE)
typedef num_get<char, istreambuf_iterator<char, char_traits<char> > >
numget;
typedef num_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >
wnumget;
typedef num_put<char, ostreambuf_iterator<char, char_traits<char> > >
numput;
typedef num_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >
wnumput;
typedef collate<char> ncollate;
typedef collate<wchar_t> wcollate;
#endif /* defined(_DLL_CPPLIB) etc. */
_STD_END
#pragma warning(pop)
#pragma pack(pop)
#endif /* RC_INVOKED */
#endif /* _IOSFWD_ */
/*
* Copyright (c) 1992-2009 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
V5.20:0009 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -