;
; Definition file of MSVCRT10.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "MSVCRT10.dll"
EXPORTS

#include "msvcrt-common.def.in"

; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
??0Iostream_init@@QAE@AAVios@@H@Z ; has WINAPI (@8)
; public: __thiscall Iostream_init::Iostream_init(void)
??0Iostream_init@@QAE@XZ
; public: __thiscall filebuf::filebuf(class filebuf const &)
??0filebuf@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall filebuf::filebuf(int)
??0filebuf@@QAE@H@Z ; has WINAPI (@4)
; public: __thiscall filebuf::filebuf(int,char *,int)
??0filebuf@@QAE@HPADH@Z ; has WINAPI (@12)
; public: __thiscall filebuf::filebuf(void)
??0filebuf@@QAE@XZ
; public: __thiscall fstream::fstream(class fstream const &)
??0fstream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall fstream::fstream(int)
??0fstream@@QAE@H@Z ; has WINAPI (@8)
; public: __thiscall fstream::fstream(int,char *,int)
??0fstream@@QAE@HPADH@Z ; has WINAPI (@16)
; public: __thiscall fstream::fstream(char const *,int,int)
??0fstream@@QAE@PBDHH@Z ; has WINAPI (@16)
; public: __thiscall fstream::fstream(void)
??0fstream@@QAE@XZ ; has WINAPI (@4)
; public: __thiscall ifstream::ifstream(class ifstream const &)
??0ifstream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall ifstream::ifstream(int)
??0ifstream@@QAE@H@Z ; has WINAPI (@8)
; public: __thiscall ifstream::ifstream(int,char *,int)
??0ifstream@@QAE@HPADH@Z ; has WINAPI (@16)
; public: __thiscall ifstream::ifstream(char const *,int,int)
??0ifstream@@QAE@PBDHH@Z ; has WINAPI (@16)
; public: __thiscall ifstream::ifstream(void)
??0ifstream@@QAE@XZ ; has WINAPI (@4)
; protected: __thiscall ios::ios(class ios const &)
??0ios@@IAE@ABV0@@Z ; has WINAPI (@4)
; protected: __thiscall ios::ios(void)
??0ios@@IAE@XZ
; public: __thiscall ios::ios(class streambuf *)
??0ios@@QAE@PAVstreambuf@@@Z ; has WINAPI (@4)
; protected: __thiscall iostream::iostream(class iostream const &)
??0iostream@@IAE@ABV0@@Z ; has WINAPI (@8)
; protected: __thiscall iostream::iostream(void)
??0iostream@@IAE@XZ ; has WINAPI (@4)
; public: __thiscall iostream::iostream(class streambuf *)
??0iostream@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
; protected: __thiscall istream::istream(class istream const &)
??0istream@@IAE@ABV0@@Z ; has WINAPI (@8)
; protected: __thiscall istream::istream(void)
??0istream@@IAE@XZ ; has WINAPI (@4)
; public: __thiscall istream::istream(class streambuf *)
??0istream@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
??0istream_withassign@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
??0istream_withassign@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
; public: __thiscall istream_withassign::istream_withassign(void)
??0istream_withassign@@QAE@XZ ; has WINAPI (@4)
; public: __thiscall istrstream::istrstream(class istrstream const &)
??0istrstream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall istrstream::istrstream(char *)
??0istrstream@@QAE@PAD@Z ; has WINAPI (@8)
; public: __thiscall istrstream::istrstream(char *,int)
??0istrstream@@QAE@PADH@Z ; has WINAPI (@12)
; public: __thiscall ofstream::ofstream(class ofstream const &)
??0ofstream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall ofstream::ofstream(int)
??0ofstream@@QAE@H@Z ; has WINAPI (@8)
; public: __thiscall ofstream::ofstream(int,char *,int)
??0ofstream@@QAE@HPADH@Z ; has WINAPI (@16)
; public: __thiscall ofstream::ofstream(char const *,int,int)
??0ofstream@@QAE@PBDHH@Z ; has WINAPI (@16)
; public: __thiscall ofstream::ofstream(void)
??0ofstream@@QAE@XZ ; has WINAPI (@4)
; protected: __thiscall ostream::ostream(class ostream const &)
??0ostream@@IAE@ABV0@@Z ; has WINAPI (@8)
; protected: __thiscall ostream::ostream(void)
??0ostream@@IAE@XZ ; has WINAPI (@4)
; public: __thiscall ostream::ostream(class streambuf *)
??0ostream@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
??0ostream_withassign@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
??0ostream_withassign@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
; public: __thiscall ostream_withassign::ostream_withassign(void)
??0ostream_withassign@@QAE@XZ ; has WINAPI (@4)
; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
??0ostrstream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall ostrstream::ostrstream(char *,int,int)
??0ostrstream@@QAE@PADHH@Z ; has WINAPI (@16)
; public: __thiscall ostrstream::ostrstream(void)
??0ostrstream@@QAE@XZ ; has WINAPI (@4)
; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
??0stdiobuf@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
??0stdiobuf@@QAE@PAU_iobuf@@@Z ; has WINAPI (@4)
; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
??0stdiostream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
??0stdiostream@@QAE@PAU_iobuf@@@Z ; has WINAPI (@8)
; protected: __thiscall streambuf::streambuf(char *,int)
??0streambuf@@IAE@PADH@Z ; has WINAPI (@8)
; protected: __thiscall streambuf::streambuf(void)
??0streambuf@@IAE@XZ
; public: __thiscall streambuf::streambuf(class streambuf const &)
??0streambuf@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall strstream::strstream(class strstream const &)
??0strstream@@QAE@ABV0@@Z ; has WINAPI (@8)
; public: __thiscall strstream::strstream(char *,int,int)
??0strstream@@QAE@PADHH@Z ; has WINAPI (@16)
; public: __thiscall strstream::strstream(void)
??0strstream@@QAE@XZ ; has WINAPI (@4)
; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
??0strstreambuf@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall strstreambuf::strstreambuf(int)
??0strstreambuf@@QAE@H@Z ; has WINAPI (@4)
; public: __thiscall strstreambuf::strstreambuf(void *(__cdecl *)(long),void(__cdecl *)(void *))
??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z ; has WINAPI (@8)
; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
??0strstreambuf@@QAE@PADH0@Z ; has WINAPI (@12)
; public: __thiscall strstreambuf::strstreambuf(void)
??0strstreambuf@@QAE@XZ
; public: __thiscall Iostream_init::~Iostream_init(void)
??1Iostream_init@@QAE@XZ
; public: virtual __thiscall filebuf::~filebuf(void)
??1filebuf@@UAE@XZ
; public: virtual __thiscall fstream::~fstream(void)
??1fstream@@UAE@XZ
; public: virtual __thiscall ifstream::~ifstream(void)
??1ifstream@@UAE@XZ
; public: virtual __thiscall ios::~ios(void)
??1ios@@UAE@XZ
; public: virtual __thiscall iostream::~iostream(void)
??1iostream@@UAE@XZ
; public: virtual __thiscall istream::~istream(void)
??1istream@@UAE@XZ
; public: virtual __thiscall istream_withassign::~istream_withassign(void)
??1istream_withassign@@UAE@XZ
; public: virtual __thiscall istrstream::~istrstream(void)
??1istrstream@@UAE@XZ
; public: virtual __thiscall ofstream::~ofstream(void)
??1ofstream@@UAE@XZ
; public: virtual __thiscall ostream::~ostream(void)
??1ostream@@UAE@XZ
; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
??1ostream_withassign@@UAE@XZ
; public: virtual __thiscall ostrstream::~ostrstream(void)
??1ostrstream@@UAE@XZ
; public: virtual __thiscall stdiobuf::~stdiobuf(void)
??1stdiobuf@@UAE@XZ
; public: virtual __thiscall stdiostream::~stdiostream(void)
??1stdiostream@@UAE@XZ
; public: virtual __thiscall streambuf::~streambuf(void)
??1streambuf@@UAE@XZ
; public: virtual __thiscall strstream::~strstream(void)
??1strstream@@UAE@XZ
; public: virtual __thiscall strstreambuf::~strstreambuf(void)
??1strstreambuf@@UAE@XZ
; void *__cdecl operator new(unsigned int)
??2@YAPAXI@Z
; void __cdecl operator delete(void *)
??3@YAXPAX@Z
; public: class Iostream_init &__thiscall Iostream_init::operator =(class Iostream_init const &)
??4Iostream_init@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class filebuf &__thiscall filebuf::operator =(class filebuf const &)
??4filebuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class fstream &__thiscall fstream::operator =(class fstream &)
??4fstream@@QAEAAV0@AAV0@@Z ; has WINAPI (@4)
; public: class ifstream &__thiscall ifstream::operator =(class ifstream const &)
??4ifstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; protected: class ios &__thiscall ios::operator =(class ios const &)
??4ios@@IAEAAV0@ABV0@@Z ; has WINAPI (@4)
; protected: class iostream &__thiscall iostream::operator =(class iostream &)
??4iostream@@IAEAAV0@AAV0@@Z ; has WINAPI (@4)
; protected: class iostream &__thiscall iostream::operator =(class streambuf *)
??4iostream@@IAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
; protected: class istream &__thiscall istream::operator =(class istream const &)
??4istream@@IAEAAV0@ABV0@@Z ; has WINAPI (@4)
; protected: class istream &__thiscall istream::operator =(class streambuf *)
??4istream@@IAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
; public: class istream_withassign &__thiscall istream_withassign::operator =(class istream_withassign const &)
??4istream_withassign@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream_withassign::operator =(class istream const &)
??4istream_withassign@@QAEAAVistream@@ABV1@@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream_withassign::operator =(class streambuf *)
??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z ; has WINAPI (@4)
; public: class istrstream &__thiscall istrstream::operator =(class istrstream const &)
??4istrstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class ofstream &__thiscall ofstream::operator =(class ofstream const &)
??4ofstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; protected: class ostream &__thiscall ostream::operator =(class ostream const &)
??4ostream@@IAEAAV0@ABV0@@Z ; has WINAPI (@4)
; protected: class ostream &__thiscall ostream::operator =(class streambuf *)
??4ostream@@IAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
; public: class ostream_withassign &__thiscall ostream_withassign::operator =(class ostream_withassign const &)
??4ostream_withassign@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream_withassign::operator =(class ostream const &)
??4ostream_withassign@@QAEAAVostream@@ABV1@@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream_withassign::operator =(class streambuf *)
??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z ; has WINAPI (@4)
; public: class ostrstream &__thiscall ostrstream::operator =(class ostrstream const &)
??4ostrstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class stdiobuf &__thiscall stdiobuf::operator =(class stdiobuf const &)
??4stdiobuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class stdiostream &__thiscall stdiostream::operator =(class stdiostream &)
??4stdiostream@@QAEAAV0@AAV0@@Z ; has WINAPI (@4)
; public: class streambuf &__thiscall streambuf::operator =(class streambuf const &)
??4streambuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class strstream &__thiscall strstream::operator =(class strstream &)
??4strstream@@QAEAAV0@AAV0@@Z ; has WINAPI (@4)
; public: class strstreambuf &__thiscall strstreambuf::operator =(class strstreambuf const &)
??4strstreambuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(signed char &)
??5istream@@QAEAAV0@AAC@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(char &)
??5istream@@QAEAAV0@AAD@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(unsigned char &)
??5istream@@QAEAAV0@AAE@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(short &)
??5istream@@QAEAAV0@AAF@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(unsigned short &)
??5istream@@QAEAAV0@AAG@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(int &)
??5istream@@QAEAAV0@AAH@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(unsigned int &)
??5istream@@QAEAAV0@AAI@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(long &)
??5istream@@QAEAAV0@AAJ@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(unsigned long &)
??5istream@@QAEAAV0@AAK@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(float &)
??5istream@@QAEAAV0@AAM@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(double &)
??5istream@@QAEAAV0@AAN@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(long double &)
??5istream@@QAEAAV0@AAO@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(class istream &(__cdecl *)(class istream &))
??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(class ios &(__cdecl *)(class ios &))
??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(signed char *)
??5istream@@QAEAAV0@PAC@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(char *)
??5istream@@QAEAAV0@PAD@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(unsigned char *)
??5istream@@QAEAAV0@PAE@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::operator >>(class streambuf *)
??5istream@@QAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(signed char)
??6ostream@@QAEAAV0@C@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(char)
??6ostream@@QAEAAV0@D@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(unsigned char)
??6ostream@@QAEAAV0@E@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(short)
??6ostream@@QAEAAV0@F@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(unsigned short)
??6ostream@@QAEAAV0@G@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(int)
??6ostream@@QAEAAV0@H@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(unsigned int)
??6ostream@@QAEAAV0@I@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(long)
??6ostream@@QAEAAV0@J@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(unsigned long)
??6ostream@@QAEAAV0@K@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(float)
??6ostream@@QAEAAV0@M@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(double)
??6ostream@@QAEAAV0@N@Z ; has WINAPI (@8)
; public: class ostream &__thiscall ostream::operator <<(long double)
??6ostream@@QAEAAV0@O@Z ; has WINAPI (@8)
; public: class ostream &__thiscall ostream::operator <<(class ostream &(__cdecl *)(class ostream &))
??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(class ios &(__cdecl *)(class ios &))
??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(class streambuf *)
??6ostream@@QAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(signed char const *)
??6ostream@@QAEAAV0@PBC@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(char const *)
??6ostream@@QAEAAV0@PBD@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(unsigned char const *)
??6ostream@@QAEAAV0@PBE@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::operator <<(void const *)
??6ostream@@QAEAAV0@PBX@Z ; has WINAPI (@4)
; public: int __thiscall ios::operator !(void)const 
??7ios@@QBEHXZ
; public: void __cdecl ios::operator void *(...)const throw()
??Bios@@QBAPAXXZ
; const filebuf::$vftable
??_7filebuf@@6B@ DATA
; const fstream::$vftable
??_7fstream@@6B@ DATA
; const ifstream::$vftable
??_7ifstream@@6B@ DATA
; const ios::$vftable
??_7ios@@6B@ DATA
; const iostream::$vftable
??_7iostream@@6B@ DATA
; const istream::$vftable
??_7istream@@6B@ DATA
; const istream_withassign::$vftable
??_7istream_withassign@@6B@ DATA
; const istrstream::$vftable
??_7istrstream@@6B@ DATA
; const ofstream::$vftable
??_7ofstream@@6B@ DATA
; const ostream::$vftable
??_7ostream@@6B@ DATA
; const ostream_withassign::$vftable
??_7ostream_withassign@@6B@ DATA
; const ostrstream::$vftable
??_7ostrstream@@6B@ DATA
; const stdiobuf::$vftable
??_7stdiobuf@@6B@ DATA
; const stdiostream::$vftable
??_7stdiostream@@6B@ DATA
; const streambuf::$vftable
??_7streambuf@@6B@ DATA
; const strstream::$vftable
??_7strstream@@6B@ DATA
; const strstreambuf::$vftable
??_7strstreambuf@@6B@ DATA
; const fstream::$vbtable {for 'istream' }
??_8fstream@@7Bistream@@@ DATA
; const fstream::$vbtable {for 'ostream' }
??_8fstream@@7Bostream@@@ DATA
; const ifstream::$vbtable
??_8ifstream@@7B@ DATA
; const iostream::$vbtable {for 'istream' }
??_8iostream@@7Bistream@@@ DATA
; const iostream::$vbtable {for 'ostream' }
??_8iostream@@7Bostream@@@ DATA
; const istream::$vbtable
??_8istream@@7B@ DATA
; const istream_withassign::$vbtable
??_8istream_withassign@@7B@ DATA
; const istrstream::$vbtable
??_8istrstream@@7B@ DATA
; const ofstream::$vbtable
??_8ofstream@@7B@ DATA
; const ostream::$vbtable
??_8ostream@@7B@ DATA
; const ostream_withassign::$vbtable
??_8ostream_withassign@@7B@ DATA
; const ostrstream::$vbtable
??_8ostrstream@@7B@ DATA
; const stdiostream::$vbtable {for 'istream' }
??_8stdiostream@@7Bistream@@@ DATA
; const stdiostream::$vbtable {for 'ostream' }
??_8stdiostream@@7Bostream@@@ DATA
; const strstream::$vbtable {for 'istream' }
??_8strstream@@7Bistream@@@ DATA
; const strstream::$vbtable {for 'ostream' }
??_8strstream@@7Bostream@@@ DATA
; public: void __thiscall fstream::vbase_destructor(void)
??_Dfstream@@QAEXXZ
; public: void __thiscall ifstream::vbase_destructor(void)
??_Difstream@@QAEXXZ
; public: void __thiscall iostream::vbase_destructor(void)
??_Diostream@@QAEXXZ
; public: void __thiscall istream::vbase_destructor(void)
??_Distream@@QAEXXZ
; public: void __thiscall istream_withassign::vbase_destructor(void)
??_Distream_withassign@@QAEXXZ
; public: void __thiscall istrstream::vbase_destructor(void)
??_Distrstream@@QAEXXZ
; public: void __thiscall ofstream::vbase_destructor(void)
??_Dofstream@@QAEXXZ
; public: void __thiscall ostream::vbase_destructor(void)
??_Dostream@@QAEXXZ
; public: void __thiscall ostream_withassign::vbase_destructor(void)
??_Dostream_withassign@@QAEXXZ
; public: void __thiscall ostrstream::vbase_destructor(void)
??_Dostrstream@@QAEXXZ
; public: void __thiscall stdiostream::vbase_destructor(void)
??_Dstdiostream@@QAEXXZ
; public: void __thiscall strstream::vbase_destructor(void)
??_Dstrstream@@QAEXXZ
; public: void *__thiscall Iostream_init::__vecDelDtor(unsigned int)
??_EIostream_init@@QAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall filebuf::__vecDelDtor(unsigned int)
??_Efilebuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall fstream::__vecDelDtor(unsigned int)
??_Efstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ifstream::__vecDelDtor(unsigned int)
??_Eifstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ios::__vecDelDtor(unsigned int)
??_Eios@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall iostream::__vecDelDtor(unsigned int)
??_Eiostream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall istream::__vecDelDtor(unsigned int)
??_Eistream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall istream_withassign::__vecDelDtor(unsigned int)
??_Eistream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall istrstream::__vecDelDtor(unsigned int)
??_Eistrstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ofstream::__vecDelDtor(unsigned int)
??_Eofstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ostream::__vecDelDtor(unsigned int)
??_Eostream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ostream_withassign::__vecDelDtor(unsigned int)
??_Eostream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ostrstream::__vecDelDtor(unsigned int)
??_Eostrstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall stdiobuf::__vecDelDtor(unsigned int)
??_Estdiobuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall stdiostream::__vecDelDtor(unsigned int)
??_Estdiostream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall streambuf::__vecDelDtor(unsigned int)
??_Estreambuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall strstream::__vecDelDtor(unsigned int)
??_Estrstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall strstreambuf::__vecDelDtor(unsigned int)
??_Estrstreambuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: void *__thiscall Iostream_init::__delDtor(unsigned int)
??_GIostream_init@@QAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall filebuf::__delDtor(unsigned int)
??_Gfilebuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall fstream::__delDtor(unsigned int)
??_Gfstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ifstream::__delDtor(unsigned int)
??_Gifstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ios::__delDtor(unsigned int)
??_Gios@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall iostream::__delDtor(unsigned int)
??_Giostream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall istream::__delDtor(unsigned int)
??_Gistream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall istream_withassign::__delDtor(unsigned int)
??_Gistream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall istrstream::__delDtor(unsigned int)
??_Gistrstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ofstream::__delDtor(unsigned int)
??_Gofstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ostream::__delDtor(unsigned int)
??_Gostream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ostream_withassign::__delDtor(unsigned int)
??_Gostream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall ostrstream::__delDtor(unsigned int)
??_Gostrstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall stdiobuf::__delDtor(unsigned int)
??_Gstdiobuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall stdiostream::__delDtor(unsigned int)
??_Gstdiostream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall streambuf::__delDtor(unsigned int)
??_Gstreambuf@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall strstream::__delDtor(unsigned int)
??_Gstrstream@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall strstreambuf::__delDtor(unsigned int)
??_Gstrstreambuf@@UAEPAXI@Z ; has WINAPI (@4)
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int(__cdecl *)(unsigned int))
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
; public: static long const ios::adjustfield
?adjustfield@ios@@2JB DATA
; protected: int __thiscall streambuf::allocate(void)
?allocate@streambuf@@IAEHXZ
; public: class filebuf *__thiscall filebuf::attach(int)
?attach@filebuf@@QAEPAV1@H@Z ; has WINAPI (@4)
; public: void __thiscall fstream::attach(int)
?attach@fstream@@QAEXH@Z ; has WINAPI (@4)
; public: void __thiscall ifstream::attach(int)
?attach@ifstream@@QAEXH@Z ; has WINAPI (@4)
; public: void __thiscall ofstream::attach(int)
?attach@ofstream@@QAEXH@Z ; has WINAPI (@4)
; public: int __thiscall ios::bad(void)const 
?bad@ios@@QBEHXZ
; protected: char *__thiscall streambuf::base(void)const 
?base@streambuf@@IBEPADXZ
; public: static long const ios::basefield
?basefield@ios@@2JB DATA
; public: static int const filebuf::binary
?binary@filebuf@@2HB DATA
; public: static long __cdecl ios::bitalloc(void)
?bitalloc@ios@@SAJXZ
; protected: int __thiscall streambuf::blen(void)const 
?blen@streambuf@@IBEHXZ
; class ostream_withassign cerr
?cerr@@3Vostream_withassign@@A DATA
; class istream_withassign cin
?cin@@3Vistream_withassign@@A DATA
; public: void __thiscall ios::clear(int)
?clear@ios@@QAEXH@Z ; has WINAPI (@4)
; class ostream_withassign clog
?clog@@3Vostream_withassign@@A DATA
; public: class filebuf *__thiscall filebuf::close(void)
?close@filebuf@@QAEPAV1@XZ
; public: void __thiscall fstream::close(void)
?close@fstream@@QAEXXZ
; public: void __thiscall ifstream::close(void)
?close@ifstream@@QAEXXZ
; public: void __thiscall ofstream::close(void)
?close@ofstream@@QAEXXZ
; public: void __thiscall ios::clrlock(void)
?clrlock@ios@@QAEXXZ
; public: void __thiscall streambuf::clrlock(void)
?clrlock@streambuf@@QAEXXZ
; class ostream_withassign cout
?cout@@3Vostream_withassign@@A DATA
; public: void __thiscall streambuf::dbp(void)
?dbp@streambuf@@QAEXXZ
; class ios &__cdecl dec(class ios &)
?dec@@YAAAVios@@AAV1@@Z
; public: void __thiscall ios::delbuf(int)
?delbuf@ios@@QAEXH@Z ; has WINAPI (@4)
; public: int __thiscall ios::delbuf(void)const 
?delbuf@ios@@QBEHXZ
; protected: virtual int __thiscall streambuf::doallocate(void)
?doallocate@streambuf@@MAEHXZ
; protected: virtual int __thiscall strstreambuf::doallocate(void)
?doallocate@strstreambuf@@MAEHXZ
; public: void __thiscall istream::eatwhite(void)
?eatwhite@istream@@QAEXXZ
; protected: char *__thiscall streambuf::eback(void)const 
?eback@streambuf@@IBEPADXZ
; protected: char *__thiscall streambuf::ebuf(void)const 
?ebuf@streambuf@@IBEPADXZ
; protected: char *__thiscall streambuf::egptr(void)const 
?egptr@streambuf@@IBEPADXZ
; class ostream &__cdecl endl(class ostream &)
?endl@@YAAAVostream@@AAV1@@Z
; class ostream &__cdecl ends(class ostream &)
?ends@@YAAAVostream@@AAV1@@Z
; public: int __thiscall ios::eof(void)const 
?eof@ios@@QBEHXZ
; protected: char *__thiscall streambuf::epptr(void)const 
?epptr@streambuf@@IBEPADXZ
; private: static int ios::fLockcInit
?fLockcInit@ios@@0HA DATA
; public: int __thiscall ios::fail(void)const 
?fail@ios@@QBEHXZ
; public: int __thiscall filebuf::fd(void)const 
?fd@filebuf@@QBEHXZ
; public: int __thiscall fstream::fd(void)const 
?fd@fstream@@QBEHXZ
; public: int __thiscall ifstream::fd(void)const 
?fd@ifstream@@QBEHXZ
; public: int __thiscall ofstream::fd(void)const 
?fd@ofstream@@QBEHXZ
; public: char __thiscall ios::fill(char)
?fill@ios@@QAEDD@Z ; has WINAPI (@4)
; public: char __thiscall ios::fill(void)const 
?fill@ios@@QBEDXZ
; public: long __thiscall ios::flags(long)
?flags@ios@@QAEJJ@Z ; has WINAPI (@4)
; public: long __thiscall ios::flags(void)const 
?flags@ios@@QBEJXZ
; public: static long const ios::floatfield
?floatfield@ios@@2JB DATA
; class ostream &__cdecl flush(class ostream &)
?flush@@YAAAVostream@@AAV1@@Z
; public: class ostream &__thiscall ostream::flush(void)
?flush@ostream@@QAEAAV1@XZ
; public: void __thiscall strstreambuf::freeze(int)
?freeze@strstreambuf@@QAEXH@Z ; has WINAPI (@4)
; protected: void __thiscall streambuf::gbump(int)
?gbump@streambuf@@IAEXH@Z ; has WINAPI (@4)
; public: int __thiscall istream::gcount(void)const 
?gcount@istream@@QBEHXZ
; public: class istream &__thiscall istream::get(signed char &)
?get@istream@@QAEAAV1@AAC@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::get(char &)
?get@istream@@QAEAAV1@AAD@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::get(unsigned char &)
?get@istream@@QAEAAV1@AAE@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::get(class streambuf &,char)
?get@istream@@QAEAAV1@AAVstreambuf@@D@Z ; has WINAPI (@8)
; public: class istream &__thiscall istream::get(signed char *,int,char)
?get@istream@@QAEAAV1@PACHD@Z ; has WINAPI (@12)
; public: class istream &__thiscall istream::get(char *,int,char)
?get@istream@@QAEAAV1@PADHD@Z ; has WINAPI (@12)
; public: class istream &__thiscall istream::get(unsigned char *,int,char)
?get@istream@@QAEAAV1@PAEHD@Z ; has WINAPI (@12)
; public: int __thiscall istream::get(void)
?get@istream@@QAEHXZ
; private: int __thiscall istream::getdouble(char *,int)
?getdouble@istream@@AAEHPADH@Z ; has WINAPI (@8)
; private: int __thiscall istream::getint(char *)
?getint@istream@@AAEHPAD@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::getline(signed char *,int,char)
?getline@istream@@QAEAAV1@PACHD@Z ; has WINAPI (@12)
; public: class istream &__thiscall istream::getline(char *,int,char)
?getline@istream@@QAEAAV1@PADHD@Z ; has WINAPI (@12)
; public: class istream &__thiscall istream::getline(unsigned char *,int,char)
?getline@istream@@QAEAAV1@PAEHD@Z ; has WINAPI (@12)
; public: int __thiscall ios::good(void)const 
?good@ios@@QBEHXZ
; protected: char *__thiscall streambuf::gptr(void)const 
?gptr@streambuf@@IBEPADXZ
; class ios &__cdecl hex(class ios &)
?hex@@YAAAVios@@AAV1@@Z
; public: class istream &__thiscall istream::ignore(int,int)
?ignore@istream@@QAEAAV1@HH@Z ; has WINAPI (@8)
; public: int __thiscall streambuf::in_avail(void)const 
?in_avail@streambuf@@QBEHXZ
; protected: void __thiscall ios::init(class streambuf *)
?init@ios@@IAEXPAVstreambuf@@@Z ; has WINAPI (@4)
; public: int __thiscall istream::ipfx(int)
?ipfx@istream@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall filebuf::is_open(void)const 
?is_open@filebuf@@QBEHXZ
; public: int __thiscall fstream::is_open(void)const 
?is_open@fstream@@QBEHXZ
; public: int __thiscall ifstream::is_open(void)const 
?is_open@ifstream@@QBEHXZ
; public: int __thiscall ofstream::is_open(void)const 
?is_open@ofstream@@QBEHXZ
; public: void __thiscall istream::isfx(void)
?isfx@istream@@QAEXXZ
; public: long &__thiscall ios::iword(int)const 
?iword@ios@@QBEAAJH@Z ; has WINAPI (@4)
; public: void __thiscall ios::lock(void)
?lock@ios@@QAEXXZ
; public: void __thiscall streambuf::lock(void)
?lock@streambuf@@QAEXXZ
; public: void __thiscall ios::lockbuf(void)
?lockbuf@ios@@QAEXXZ
; protected: static void __cdecl ios::lockc(void)
?lockc@ios@@KAXXZ
; protected: struct _RTL_CRITICAL_SECTION *__thiscall ios::lockptr(void)
?lockptr@ios@@IAEPAU_RTL_CRITICAL_SECTION@@XZ
; protected: struct _RTL_CRITICAL_SECTION *__thiscall streambuf::lockptr(void)
?lockptr@streambuf@@IAEPAU_RTL_CRITICAL_SECTION@@XZ
; class ios &__cdecl oct(class ios &)
?oct@@YAAAVios@@AAV1@@Z
; public: class filebuf *__thiscall filebuf::open(char const *,int,int)
?open@filebuf@@QAEPAV1@PBDHH@Z ; has WINAPI (@12)
; public: void __thiscall fstream::open(char const *,int,int)
?open@fstream@@QAEXPBDHH@Z ; has WINAPI (@12)
; public: void __thiscall ifstream::open(char const *,int,int)
?open@ifstream@@QAEXPBDHH@Z ; has WINAPI (@12)
; public: void __thiscall ofstream::open(char const *,int,int)
?open@ofstream@@QAEXPBDHH@Z ; has WINAPI (@12)
; public: static int const filebuf::openprot
?openprot@filebuf@@2HB DATA
; public: int __thiscall ostream::opfx(void)
?opfx@ostream@@QAEHXZ
; public: void __thiscall ostream::osfx(void)
?osfx@ostream@@QAEXXZ
; public: int __thiscall streambuf::out_waiting(void)const 
?out_waiting@streambuf@@QBEHXZ
; public: virtual int __thiscall filebuf::overflow(int)
?overflow@filebuf@@UAEHH@Z ; has WINAPI (@4)
; public: virtual int __thiscall stdiobuf::overflow(int)
?overflow@stdiobuf@@UAEHH@Z ; has WINAPI (@4)
; public: virtual int __thiscall strstreambuf::overflow(int)
?overflow@strstreambuf@@UAEHH@Z ; has WINAPI (@4)
; public: virtual int __thiscall stdiobuf::pbackfail(int)
?pbackfail@stdiobuf@@UAEHH@Z ; has WINAPI (@4)
; public: virtual int __thiscall streambuf::pbackfail(int)
?pbackfail@streambuf@@UAEHH@Z ; has WINAPI (@4)
; protected: char *__thiscall streambuf::pbase(void)const 
?pbase@streambuf@@IBEPADXZ
; protected: void __thiscall streambuf::pbump(int)
?pbump@streambuf@@IAEXH@Z ; has WINAPI (@4)
; public: int __thiscall ostrstream::pcount(void)const 
?pcount@ostrstream@@QBEHXZ
; public: int __thiscall strstream::pcount(void)const 
?pcount@strstream@@QBEHXZ
; public: int __thiscall istream::peek(void)
?peek@istream@@QAEHXZ
; protected: char *__thiscall streambuf::pptr(void)const 
?pptr@streambuf@@IBEPADXZ
; public: int __thiscall ios::precision(int)
?precision@ios@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall ios::precision(void)const 
?precision@ios@@QBEHXZ
; public: class ostream &__thiscall ostream::put(signed char)
?put@ostream@@QAEAAV1@C@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::put(char)
?put@ostream@@QAEAAV1@D@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::put(unsigned char)
?put@ostream@@QAEAAV1@E@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::putback(char)
?putback@istream@@QAEAAV1@D@Z ; has WINAPI (@4)
; public: void *&__thiscall ios::pword(int)const 
?pword@ios@@QBEAAPAXH@Z ; has WINAPI (@4)
; public: class filebuf *__thiscall fstream::rdbuf(void)const 
?rdbuf@fstream@@QBEPAVfilebuf@@XZ
; public: class filebuf *__thiscall ifstream::rdbuf(void)const 
?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
; public: class streambuf *__thiscall ios::rdbuf(void)const 
?rdbuf@ios@@QBEPAVstreambuf@@XZ
; public: class strstreambuf *__thiscall istrstream::rdbuf(void)const 
?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
; public: class filebuf *__thiscall ofstream::rdbuf(void)const 
?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
; public: class strstreambuf *__thiscall ostrstream::rdbuf(void)const 
?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
; public: class stdiobuf *__thiscall stdiostream::rdbuf(void)const 
?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
; public: class strstreambuf *__thiscall strstream::rdbuf(void)const 
?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
; public: int __thiscall ios::rdstate(void)const 
?rdstate@ios@@QBEHXZ
; public: class istream &__thiscall istream::read(signed char *,int)
?read@istream@@QAEAAV1@PACH@Z ; has WINAPI (@8)
; public: class istream &__thiscall istream::read(char *,int)
?read@istream@@QAEAAV1@PADH@Z ; has WINAPI (@8)
; public: class istream &__thiscall istream::read(unsigned char *,int)
?read@istream@@QAEAAV1@PAEH@Z ; has WINAPI (@8)
; public: int __thiscall streambuf::sbumpc(void)
?sbumpc@streambuf@@QAEHXZ
; public: class istream &__thiscall istream::seekg(long)
?seekg@istream@@QAEAAV1@J@Z ; has WINAPI (@4)
; public: class istream &__thiscall istream::seekg(long,enum ios::seek_dir)
?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z ; has WINAPI (@8)
; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
; public: class ostream &__thiscall ostream::seekp(long)
?seekp@ostream@@QAEAAV1@J@Z ; has WINAPI (@4)
; public: class ostream &__thiscall ostream::seekp(long,enum ios::seek_dir)
?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z ; has WINAPI (@8)
; public: virtual long __thiscall streambuf::seekpos(long,int)
?seekpos@streambuf@@UAEJJH@Z ; has WINAPI (@8)
; protected: void __thiscall streambuf::setb(char *,char *,int)
?setb@streambuf@@IAEXPAD0H@Z ; has WINAPI (@12)
; public: virtual class streambuf *__thiscall filebuf::setbuf(char *,int)
?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
; public: class streambuf *__thiscall fstream::setbuf(char *,int)
?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
; public: class streambuf *__thiscall ifstream::setbuf(char *,int)
?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
; public: class streambuf *__thiscall ofstream::setbuf(char *,int)
?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
; public: virtual class streambuf *__thiscall streambuf::setbuf(char *,int)
?setbuf@streambuf@@UAEPAV1@PADH@Z ; has WINAPI (@8)
; public: virtual class streambuf *__thiscall strstreambuf::setbuf(char *,int)
?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
; public: long __thiscall ios::setf(long)
?setf@ios@@QAEJJ@Z ; has WINAPI (@4)
; public: long __thiscall ios::setf(long,long)
?setf@ios@@QAEJJJ@Z ; has WINAPI (@8)
; protected: void __thiscall streambuf::setg(char *,char *,char *)
?setg@streambuf@@IAEXPAD00@Z ; has WINAPI (@12)
; public: void __thiscall ios::setlock(void)
?setlock@ios@@QAEXXZ
; public: void __thiscall streambuf::setlock(void)
?setlock@streambuf@@QAEXXZ
; public: int __thiscall filebuf::setmode(int)
?setmode@filebuf@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall fstream::setmode(int)
?setmode@fstream@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall ifstream::setmode(int)
?setmode@ifstream@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall ofstream::setmode(int)
?setmode@ofstream@@QAEHH@Z ; has WINAPI (@4)
; protected: void __thiscall streambuf::setp(char *,char *)
?setp@streambuf@@IAEXPAD0@Z ; has WINAPI (@8)
; public: int __thiscall stdiobuf::setrwbuf(int,int)
?setrwbuf@stdiobuf@@QAEHHH@Z ; has WINAPI (@8)
; public: int __thiscall streambuf::sgetc(void)
?sgetc@streambuf@@QAEHXZ
; public: int __thiscall streambuf::sgetn(char *,int)
?sgetn@streambuf@@QAEHPADH@Z ; has WINAPI (@8)
; public: static int const filebuf::sh_none
?sh_none@filebuf@@2HB DATA
; public: static int const filebuf::sh_read
?sh_read@filebuf@@2HB DATA
; public: static int const filebuf::sh_write
?sh_write@filebuf@@2HB DATA
; public: int __thiscall streambuf::snextc(void)
?snextc@streambuf@@QAEHXZ
; public: int __thiscall streambuf::sputbackc(char)
?sputbackc@streambuf@@QAEHD@Z ; has WINAPI (@4)
; public: int __thiscall streambuf::sputc(int)
?sputc@streambuf@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall streambuf::sputn(char const *,int)
?sputn@streambuf@@QAEHPBDH@Z ; has WINAPI (@8)
; public: struct _iobuf *__thiscall stdiobuf::stdiofile(void)
?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
; public: void __thiscall streambuf::stossc(void)
?stossc@streambuf@@QAEXXZ
; public: char *__thiscall istrstream::str(void)
?str@istrstream@@QAEPADXZ
; public: char *__thiscall ostrstream::str(void)
?str@ostrstream@@QAEPADXZ
; public: char *__thiscall strstream::str(void)
?str@strstream@@QAEPADXZ
; public: char *__thiscall strstreambuf::str(void)
?str@strstreambuf@@QAEPADXZ
; private: static int ios::sunk_with_stdio
?sunk_with_stdio@ios@@0HA DATA
; public: virtual int __thiscall filebuf::sync(void)
?sync@filebuf@@UAEHXZ
; public: int __thiscall istream::sync(void)
?sync@istream@@QAEHXZ
; public: virtual int __thiscall stdiobuf::sync(void)
?sync@stdiobuf@@UAEHXZ
; public: virtual int __thiscall streambuf::sync(void)
?sync@streambuf@@UAEHXZ
; public: virtual int __thiscall strstreambuf::sync(void)
?sync@strstreambuf@@UAEHXZ
; public: static void __cdecl ios::sync_with_stdio(void)
?sync_with_stdio@ios@@SAXXZ
; public: long __thiscall istream::tellg(void)
?tellg@istream@@QAEJXZ
; public: long __thiscall ostream::tellp(void)
?tellp@ostream@@QAEJXZ
; public: static int const filebuf::text
?text@filebuf@@2HB DATA
; public: class ostream *__thiscall ios::tie(class ostream *)
?tie@ios@@QAEPAVostream@@PAV2@@Z ; has WINAPI (@4)
; public: class ostream *__thiscall ios::tie(void)const 
?tie@ios@@QBEPAVostream@@XZ
; protected: void __thiscall streambuf::unbuffered(int)
?unbuffered@streambuf@@IAEXH@Z ; has WINAPI (@4)
; protected: int __thiscall streambuf::unbuffered(void)const 
?unbuffered@streambuf@@IBEHXZ
; public: virtual int __thiscall filebuf::underflow(void)
?underflow@filebuf@@UAEHXZ
; public: virtual int __thiscall stdiobuf::underflow(void)
?underflow@stdiobuf@@UAEHXZ
; public: virtual int __thiscall strstreambuf::underflow(void)
?underflow@strstreambuf@@UAEHXZ
; public: void __thiscall ios::unlock(void)
?unlock@ios@@QAEXXZ
; public: void __thiscall streambuf::unlock(void)
?unlock@streambuf@@QAEXXZ
; public: void __thiscall ios::unlockbuf(void)
?unlockbuf@ios@@QAEXXZ
; protected: static void __cdecl ios::unlockc(void)
?unlockc@ios@@KAXXZ
; public: long __thiscall ios::unsetf(long)
?unsetf@ios@@QAEJJ@Z ; has WINAPI (@4)
; public: int __thiscall ios::width(int)
?width@ios@@QAEHH@Z ; has WINAPI (@4)
; public: int __thiscall ios::width(void)const 
?width@ios@@QBEHXZ
; public: class ostream &__thiscall ostream::write(signed char const *,int)
?write@ostream@@QAEAAV1@PBCH@Z ; has WINAPI (@8)
; public: class ostream &__thiscall ostream::write(char const *,int)
?write@ostream@@QAEAAV1@PBDH@Z ; has WINAPI (@8)
; public: class ostream &__thiscall ostream::write(unsigned char const *,int)
?write@ostream@@QAEAAV1@PBEH@Z ; has WINAPI (@8)
; private: class ostream &__thiscall ostream::writepad(char const *,char const *)
?writepad@ostream@@AAEAAV1@PBD0@Z ; has WINAPI (@8)
; class istream &__cdecl ws(class istream &)
?ws@@YAAAVistream@@AAV1@@Z
; private: static int ios::x_curindex
?x_curindex@ios@@0HA DATA
; private: static struct _RTL_CRITICAL_SECTION ios::x_lockc
?x_lockc@ios@@0U_RTL_CRITICAL_SECTION@@A DATA
; private: static long ios::x_maxbit
?x_maxbit@ios@@0JA DATA
; private: static long *const ios::x_statebuf
?x_statebuf@ios@@0QAJA DATA
; public: static int __cdecl ios::xalloc(void)
?xalloc@ios@@SAHXZ
; public: virtual int __thiscall streambuf::xsgetn(char *,int)
?xsgetn@streambuf@@UAEHPADH@Z ; has WINAPI (@8)
; public: virtual int __thiscall streambuf::xsputn(char const *,int)
?xsputn@streambuf@@UAEHPBDH@Z ; has WINAPI (@8)
$I10_OUTPUT
_CIacos
_CIasin
_CIatan
_CIatan2
_CIcos
_CIcosh
_CIexp
_CIfmod
_CIlog
_CIlog10
_CIpow
_CIsin
_CIsinh
_CIsqrt
_CItan
_CItanh
_HUGE DATA
_XcptFilter
__STRINGTOLD
__argc DATA
__argv DATA
__dllonexit
__doserrno
__fpecode
__getmainargs
__isascii
__iscsym
__iscsymf
__mb_cur_max DATA
__pxcptinfoptrs
__threadhandle
__threadid
__toascii
_abnormal_termination
_access
_acmdln DATA
_aexit_rtn DATA
_amsg_exit
_assert
_beginthread
_c_exit
_cabs
_cexit
_cgets
_chdir
_chdrive
_chgsign
_chmod
_chsize
_clearfp
_close
_commit
_commode DATA
_control87
_controlfp
_copysign
_cprintf
_cputs
_creat
_cscanf
_ctype DATA
_cwait
_daylight DATA
_dup
_dup2
_ecvt
_endthread
_environ DATA
_eof
_errno
_except_handler2
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_fcloseall
_fcvt
_fdopen
_fgetchar
_fgetwchar
_filbuf
_fileinfo DATA
_filelength
_fileno
_findclose
_findfirst
_findnext
_finite
_flsbuf
_flushall
_fmode DATA
_fpclass
_fpieee_flt
_fpreset
_fputchar
_fputwchar
_fsopen
_fstat
_ftime
_ftol
_fullpath
_futime
_gcvt
_get_osfhandle
_getch
_getche
_getcwd
_getdcwd
_getdiskfree
_getdrive
_getdrives
_getpid
_getw
_global_unwind2
_heapadd
_heapchk
_heapmin
_heapset
_heapwalk
_hypot
_initterm
_iob DATA
_isatty
_isctype
_isnan
_itoa
_j0
_j1
_jn
_kbhit
_lconv_init
_lfind
_local_unwind2
_locking
_logb
_lrotl
_lrotr
_lsearch
_lseek
_ltoa
_makepath
_matherr
_mbstrlen
_memccpy
_memicmp
_mkdir
_mktemp
_msize
_mtlock
_mtlockinit
_mtunlock
_nextafter
_onexit
_open
_open_osfhandle
_osver DATA
_pclose
_pctype DATA
_pgmptr DATA
_pipe
_popen
_purecall
_putch
_putenv
_putw
_pwctype DATA
_read
_rmdir
_rmtmp
_rotl
_rotr
_scalb
_searchenv
_setjmp
_setmode
_snprintf
_snwprintf
_sopen
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_splitpath
_stat
_statusfp
_strcmpi
_strdate
_strdup
_strerror
_stricmp
_stricoll
_strlwr
_strnicmp
_strnset
_strrev
_strset
_strtime
_strupr
_swab
_sys_errlist DATA
_sys_nerr DATA
_tell
_tempnam
_timezone DATA
_tolower
_toupper
_tzname DATA
_tzset
_ultoa
_umask
_ungetch
_unlink
_utime
_vsnprintf
_vsnwprintf
_wcsdup
_wcsicmp
_wcsicoll
_wcslwr
_wcsnicmp
_wcsnset
_wcsrev
_wcsset
_wcsupr
_winmajor DATA
_winminor DATA
_winver DATA
_write
_y0
_y1
_yn
abort
abs
acos
asctime
asin
atan
atan2
atexit
atof
atoi
atol
bsearch
calloc
ceil
clearerr
clock
cos
cosh
ctime
difftime
div
exit
exp
fabs
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
floor
fmod
fopen
fprintf
fputc
fputs
fputwc
fread
free
freopen
frexp
fscanf
fseek
fsetpos
ftell
fwprintf
fwrite
fwscanf
getc
getchar
getenv
gets
gmtime
isalnum
isalpha
iscntrl
isdigit
isgraph
isleadbyte
islower
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp
ldiv
localeconv
localtime
log
log10
longjmp
malloc
mblen
mbstowcs
mbtowc
memchr
memcmp
memcpy
memmove
memset
mktime
modf
perror
pow
printf
putc
putchar
puts
qsort
raise
rand
realloc
remove
rename
rewind
scanf
setbuf
setlocale
setvbuf
signal
sin
sinh
sprintf
sqrt
srand
sscanf
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strerror
strftime
strlen
strncat
strncmp
strncpy
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtol
strtoul
strxfrm
swprintf
swscanf
system
tan
tanh
time
tmpfile
tmpnam
tolower
toupper
towlower
towupper
ungetc
ungetwc
vfprintf
vfwprintf
vprintf
vsprintf
vswprintf
vwprintf
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstod
wcstok
wcstol
wcstombs
wcstoul
wcsxfrm
wctomb
wprintf
wscanf
