; 
; Exports of file MSVCRT40.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY MSVCRT40.dll
EXPORTS
; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
??0Iostream_init@@QAE@AAVios@@H@Z
; public: __thiscall Iostream_init::Iostream_init(void)
??0Iostream_init@@QAE@XZ
; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
??0__non_rtti_object@@QAE@ABV0@@Z
; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
??0__non_rtti_object@@QAE@PBD@Z
; public: __thiscall bad_cast::bad_cast(char const * const &)
??0bad_cast@@QAE@ABQBD@Z
; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
??0bad_cast@@QAE@ABV0@@Z
; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
??0bad_typeid@@QAE@ABV0@@Z
; public: __thiscall bad_typeid::bad_typeid(char const *)
??0bad_typeid@@QAE@PBD@Z
; public: __thiscall exception::exception(char const * const &)
??0exception@@QAE@ABQBD@Z
; public: __thiscall exception::exception(class exception const &)
??0exception@@QAE@ABV0@@Z
; public: __thiscall exception::exception(void)
??0exception@@QAE@XZ
; public: __thiscall filebuf::filebuf(class filebuf const &)
??0filebuf@@QAE@ABV0@@Z
; public: __thiscall filebuf::filebuf(int)
??0filebuf@@QAE@H@Z
; public: __thiscall filebuf::filebuf(int,char *,int)
??0filebuf@@QAE@HPADH@Z
; public: __thiscall filebuf::filebuf(void)
??0filebuf@@QAE@XZ
; public: __thiscall fstream::fstream(class fstream const &)
??0fstream@@QAE@ABV0@@Z
; public: __thiscall fstream::fstream(int)
??0fstream@@QAE@H@Z
; public: __thiscall fstream::fstream(int,char *,int)
??0fstream@@QAE@HPADH@Z
; public: __thiscall fstream::fstream(char const *,int,int)
??0fstream@@QAE@PBDHH@Z
; public: __thiscall fstream::fstream(void)
??0fstream@@QAE@XZ
; public: __thiscall ifstream::ifstream(class ifstream const &)
??0ifstream@@QAE@ABV0@@Z
; public: __thiscall ifstream::ifstream(int)
??0ifstream@@QAE@H@Z
; public: __thiscall ifstream::ifstream(int,char *,int)
??0ifstream@@QAE@HPADH@Z
; public: __thiscall ifstream::ifstream(char const *,int,int)
??0ifstream@@QAE@PBDHH@Z
; public: __thiscall ifstream::ifstream(void)
??0ifstream@@QAE@XZ
; protected: __thiscall ios::ios(class ios const &)
??0ios@@IAE@ABV0@@Z
; protected: __thiscall ios::ios(void)
??0ios@@IAE@XZ
; public: __thiscall ios::ios(class streambuf *)
??0ios@@QAE@PAVstreambuf@@@Z
; protected: __thiscall iostream::iostream(class iostream const &)
??0iostream@@IAE@ABV0@@Z
; protected: __thiscall iostream::iostream(void)
??0iostream@@IAE@XZ
; public: __thiscall iostream::iostream(class streambuf *)
??0iostream@@QAE@PAVstreambuf@@@Z
; protected: __thiscall istream::istream(class istream const &)
??0istream@@IAE@ABV0@@Z
; protected: __thiscall istream::istream(void)
??0istream@@IAE@XZ
; public: __thiscall istream::istream(class streambuf *)
??0istream@@QAE@PAVstreambuf@@@Z
; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
??0istream_withassign@@QAE@ABV0@@Z
; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
??0istream_withassign@@QAE@PAVstreambuf@@@Z
; public: __thiscall istream_withassign::istream_withassign(void)
??0istream_withassign@@QAE@XZ
; public: __thiscall istrstream::istrstream(class istrstream const &)
??0istrstream@@QAE@ABV0@@Z
; public: __thiscall istrstream::istrstream(char *)
??0istrstream@@QAE@PAD@Z
; public: __thiscall istrstream::istrstream(char *,int)
??0istrstream@@QAE@PADH@Z
; public: __thiscall logic_error::logic_error(char const * const &)
??0logic_error@@QAE@ABQBD@Z
; public: __thiscall logic_error::logic_error(class logic_error const &)
??0logic_error@@QAE@ABV0@@Z
; public: __thiscall ofstream::ofstream(class ofstream const &)
??0ofstream@@QAE@ABV0@@Z
; public: __thiscall ofstream::ofstream(int)
??0ofstream@@QAE@H@Z
; public: __thiscall ofstream::ofstream(int,char *,int)
??0ofstream@@QAE@HPADH@Z
; public: __thiscall ofstream::ofstream(char const *,int,int)
??0ofstream@@QAE@PBDHH@Z
; public: __thiscall ofstream::ofstream(void)
??0ofstream@@QAE@XZ
; protected: __thiscall ostream::ostream(class ostream const &)
??0ostream@@IAE@ABV0@@Z
; protected: __thiscall ostream::ostream(void)
??0ostream@@IAE@XZ
; public: __thiscall ostream::ostream(class streambuf *)
??0ostream@@QAE@PAVstreambuf@@@Z
; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
??0ostream_withassign@@QAE@ABV0@@Z
; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
??0ostream_withassign@@QAE@PAVstreambuf@@@Z
; public: __thiscall ostream_withassign::ostream_withassign(void)
??0ostream_withassign@@QAE@XZ
; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
??0ostrstream@@QAE@ABV0@@Z
; public: __thiscall ostrstream::ostrstream(char *,int,int)
??0ostrstream@@QAE@PADHH@Z
; public: __thiscall ostrstream::ostrstream(void)
??0ostrstream@@QAE@XZ
; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
??0stdiobuf@@QAE@ABV0@@Z
; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
??0stdiobuf@@QAE@PAU_iobuf@@@Z
; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
??0stdiostream@@QAE@ABV0@@Z
; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
??0stdiostream@@QAE@PAU_iobuf@@@Z
; protected: __thiscall streambuf::streambuf(char *,int)
??0streambuf@@IAE@PADH@Z
; protected: __thiscall streambuf::streambuf(void)
??0streambuf@@IAE@XZ
; public: __thiscall streambuf::streambuf(class streambuf const &)
??0streambuf@@QAE@ABV0@@Z
; public: __thiscall strstream::strstream(class strstream const &)
??0strstream@@QAE@ABV0@@Z
; public: __thiscall strstream::strstream(char *,int,int)
??0strstream@@QAE@PADHH@Z
; public: __thiscall strstream::strstream(void)
??0strstream@@QAE@XZ
; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
??0strstreambuf@@QAE@ABV0@@Z
; public: __thiscall strstreambuf::strstreambuf(int)
??0strstreambuf@@QAE@H@Z
; public: __thiscall strstreambuf::strstreambuf(void * (__cdecl*)(long),void (__cdecl*)(void *))
??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z
; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
??0strstreambuf@@QAE@PADH0@Z
; public: __thiscall strstreambuf::strstreambuf(void)
??0strstreambuf@@QAE@XZ
; public: __thiscall Iostream_init::~Iostream_init(void)
??1Iostream_init@@QAE@XZ
; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
??1__non_rtti_object@@UAE@XZ
; public: virtual __thiscall bad_cast::~bad_cast(void)
??1bad_cast@@UAE@XZ
; public: virtual __thiscall bad_typeid::~bad_typeid(void)
??1bad_typeid@@UAE@XZ
; public: virtual __thiscall exception::~exception(void)
??1exception@@UAE@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 logic_error::~logic_error(void)
??1logic_error@@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
; public: virtual __thiscall type_info::~type_info(void)
??1type_info@@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
; public: class __non_rtti_object & __thiscall __non_rtti_object::operator=(class __non_rtti_object const &)
??4__non_rtti_object@@QAEAAV0@ABV0@@Z
; public: class bad_cast & __thiscall bad_cast::operator=(class bad_cast const &)
??4bad_cast@@QAEAAV0@ABV0@@Z
; public: class bad_typeid & __thiscall bad_typeid::operator=(class bad_typeid const &)
??4bad_typeid@@QAEAAV0@ABV0@@Z
; public: class exception & __thiscall exception::operator=(class exception const &)
??4exception@@QAEAAV0@ABV0@@Z
; public: class filebuf & __thiscall filebuf::operator=(class filebuf const &)
??4filebuf@@QAEAAV0@ABV0@@Z
; public: class fstream & __thiscall fstream::operator=(class fstream &)
??4fstream@@QAEAAV0@AAV0@@Z
; public: class ifstream & __thiscall ifstream::operator=(class ifstream const &)
??4ifstream@@QAEAAV0@ABV0@@Z
; protected: class ios & __thiscall ios::operator=(class ios const &)
??4ios@@IAEAAV0@ABV0@@Z
; protected: class iostream & __thiscall iostream::operator=(class iostream &)
??4iostream@@IAEAAV0@AAV0@@Z
; protected: class iostream & __thiscall iostream::operator=(class streambuf *)
??4iostream@@IAEAAV0@PAVstreambuf@@@Z
; protected: class istream & __thiscall istream::operator=(class istream const &)
??4istream@@IAEAAV0@ABV0@@Z
; protected: class istream & __thiscall istream::operator=(class streambuf *)
??4istream@@IAEAAV0@PAVstreambuf@@@Z
; public: class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
??4istream_withassign@@QAEAAV0@ABV0@@Z
; public: class istream & __thiscall istream_withassign::operator=(class istream const &)
??4istream_withassign@@QAEAAVistream@@ABV1@@Z
; public: class istream & __thiscall istream_withassign::operator=(class streambuf *)
??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z
; public: class istrstream & __thiscall istrstream::operator=(class istrstream const &)
??4istrstream@@QAEAAV0@ABV0@@Z
; public: class logic_error & __thiscall logic_error::operator=(class logic_error const &)
??4logic_error@@QAEAAV0@ABV0@@Z
; public: class ofstream & __thiscall ofstream::operator=(class ofstream const &)
??4ofstream@@QAEAAV0@ABV0@@Z
; protected: class ostream & __thiscall ostream::operator=(class ostream const &)
??4ostream@@IAEAAV0@ABV0@@Z
; protected: class ostream & __thiscall ostream::operator=(class streambuf *)
??4ostream@@IAEAAV0@PAVstreambuf@@@Z
; public: class ostream_withassign & __thiscall ostream_withassign::operator=(class ostream_withassign const &)
??4ostream_withassign@@QAEAAV0@ABV0@@Z
; public: class ostream & __thiscall ostream_withassign::operator=(class ostream const &)
??4ostream_withassign@@QAEAAVostream@@ABV1@@Z
; public: class ostream & __thiscall ostream_withassign::operator=(class streambuf *)
??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
; public: class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
??4ostrstream@@QAEAAV0@ABV0@@Z
; public: class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
??4stdiobuf@@QAEAAV0@ABV0@@Z
; public: class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
??4stdiostream@@QAEAAV0@AAV0@@Z
; public: class streambuf & __thiscall streambuf::operator=(class streambuf const &)
??4streambuf@@QAEAAV0@ABV0@@Z
; public: class strstream & __thiscall strstream::operator=(class strstream &)
??4strstream@@QAEAAV0@AAV0@@Z
; public: class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &)
??4strstreambuf@@QAEAAV0@ABV0@@Z
; public: class istream & __thiscall istream::operator>>(signed char &)
??5istream@@QAEAAV0@AAC@Z
; public: class istream & __thiscall istream::operator>>(char &)
??5istream@@QAEAAV0@AAD@Z
; public: class istream & __thiscall istream::operator>>(unsigned char &)
??5istream@@QAEAAV0@AAE@Z
; public: class istream & __thiscall istream::operator>>(short &)
??5istream@@QAEAAV0@AAF@Z
; public: class istream & __thiscall istream::operator>>(unsigned short &)
??5istream@@QAEAAV0@AAG@Z
; public: class istream & __thiscall istream::operator>>(int &)
??5istream@@QAEAAV0@AAH@Z
; public: class istream & __thiscall istream::operator>>(unsigned int &)
??5istream@@QAEAAV0@AAI@Z
; public: class istream & __thiscall istream::operator>>(long &)
??5istream@@QAEAAV0@AAJ@Z
; public: class istream & __thiscall istream::operator>>(unsigned long &)
??5istream@@QAEAAV0@AAK@Z
; public: class istream & __thiscall istream::operator>>(float &)
??5istream@@QAEAAV0@AAM@Z
; public: class istream & __thiscall istream::operator>>(double &)
??5istream@@QAEAAV0@AAN@Z
; public: class istream & __thiscall istream::operator>>(long double &)
??5istream@@QAEAAV0@AAO@Z
; public: class istream & __thiscall istream::operator>>(class istream & (__cdecl*)(class istream &))
??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
; public: class istream & __thiscall istream::operator>>(class ios & (__cdecl*)(class ios &))
??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
; public: class istream & __thiscall istream::operator>>(signed char *)
??5istream@@QAEAAV0@PAC@Z
; public: class istream & __thiscall istream::operator>>(char *)
??5istream@@QAEAAV0@PAD@Z
; public: class istream & __thiscall istream::operator>>(unsigned char *)
??5istream@@QAEAAV0@PAE@Z
; public: class istream & __thiscall istream::operator>>(class streambuf *)
??5istream@@QAEAAV0@PAVstreambuf@@@Z
; public: class ostream & __thiscall ostream::operator<<(signed char)
??6ostream@@QAEAAV0@C@Z
; public: class ostream & __thiscall ostream::operator<<(char)
??6ostream@@QAEAAV0@D@Z
; public: class ostream & __thiscall ostream::operator<<(unsigned char)
??6ostream@@QAEAAV0@E@Z
; public: class ostream & __thiscall ostream::operator<<(short)
??6ostream@@QAEAAV0@F@Z
; public: class ostream & __thiscall ostream::operator<<(unsigned short)
??6ostream@@QAEAAV0@G@Z
; public: class ostream & __thiscall ostream::operator<<(int)
??6ostream@@QAEAAV0@H@Z
; public: class ostream & __thiscall ostream::operator<<(unsigned int)
??6ostream@@QAEAAV0@I@Z
; public: class ostream & __thiscall ostream::operator<<(long)
??6ostream@@QAEAAV0@J@Z
; public: class ostream & __thiscall ostream::operator<<(unsigned long)
??6ostream@@QAEAAV0@K@Z
; public: class ostream & __thiscall ostream::operator<<(float)
??6ostream@@QAEAAV0@M@Z
; public: class ostream & __thiscall ostream::operator<<(double)
??6ostream@@QAEAAV0@N@Z
; public: class ostream & __thiscall ostream::operator<<(long double)
??6ostream@@QAEAAV0@O@Z
; public: class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z
; public: class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z
; public: class ostream & __thiscall ostream::operator<<(class streambuf *)
??6ostream@@QAEAAV0@PAVstreambuf@@@Z
; public: class ostream & __thiscall ostream::operator<<(signed char const *)
??6ostream@@QAEAAV0@PBC@Z
; public: class ostream & __thiscall ostream::operator<<(char const *)
??6ostream@@QAEAAV0@PBD@Z
; public: class ostream & __thiscall ostream::operator<<(unsigned char const *)
??6ostream@@QAEAAV0@PBE@Z
; public: class ostream & __thiscall ostream::operator<<(void const *)
??6ostream@@QAEAAV0@PBX@Z
; public: int __thiscall ios::operator!(void)const 
??7ios@@QBEHXZ
; public: int __thiscall type_info::operator==(class type_info const &)const 
??8type_info@@QBEHABV0@@Z
; public: int __thiscall type_info::operator!=(class type_info const &)const 
??9type_info@@QBEHABV0@@Z
; public: __thiscall ios::operator void *(void)const 
??Bios@@QBEPAXXZ
; const  __non_rtti_object::`vftable'
??_7__non_rtti_object@@6B@
; const  bad_cast::`vftable'
??_7bad_cast@@6B@
; const  bad_typeid::`vftable'
??_7bad_typeid@@6B@
; const  exception::`vftable'
??_7exception@@6B@
; const  filebuf::`vftable'
??_7filebuf@@6B@
; const  fstream::`vftable'
??_7fstream@@6B@
; const  ifstream::`vftable'
??_7ifstream@@6B@
; const  ios::`vftable'
??_7ios@@6B@
; const  iostream::`vftable'
??_7iostream@@6B@
; const  istream::`vftable'
??_7istream@@6B@
; const  istream_withassign::`vftable'
??_7istream_withassign@@6B@
; const  istrstream::`vftable'
??_7istrstream@@6B@
; const  logic_error::`vftable'
??_7logic_error@@6B@
; const  ofstream::`vftable'
??_7ofstream@@6B@
; const  ostream::`vftable'
??_7ostream@@6B@
; const  ostream_withassign::`vftable'
??_7ostream_withassign@@6B@
; const  ostrstream::`vftable'
??_7ostrstream@@6B@
; const  stdiobuf::`vftable'
??_7stdiobuf@@6B@
; const  stdiostream::`vftable'
??_7stdiostream@@6B@
; const  streambuf::`vftable'
??_7streambuf@@6B@
; const  strstream::`vftable'
??_7strstream@@6B@
; const  strstreambuf::`vftable'
??_7strstreambuf@@6B@
; const  fstream::`vbtable'{for `istream'}
??_8fstream@@7Bistream@@@
; const  fstream::`vbtable'{for `ostream'}
??_8fstream@@7Bostream@@@
; const  ifstream::`vbtable'
??_8ifstream@@7B@
; const  iostream::`vbtable'{for `istream'}
??_8iostream@@7Bistream@@@
; const  iostream::`vbtable'{for `ostream'}
??_8iostream@@7Bostream@@@
; const  istream::`vbtable'
??_8istream@@7B@
; const  istream_withassign::`vbtable'
??_8istream_withassign@@7B@
; const  istrstream::`vbtable'
??_8istrstream@@7B@
; const  ofstream::`vbtable'
??_8ofstream@@7B@
; const  ostream::`vbtable'
??_8ostream@@7B@
; const  ostream_withassign::`vbtable'
??_8ostream_withassign@@7B@
; const  ostrstream::`vbtable'
??_8ostrstream@@7B@
; const  stdiostream::`vbtable'{for `istream'}
??_8stdiostream@@7Bistream@@@
; const  stdiostream::`vbtable'{for `ostream'}
??_8stdiostream@@7Bostream@@@
; const  strstream::`vbtable'{for `istream'}
??_8strstream@@7Bistream@@@
; const  strstream::`vbtable'{for `ostream'}
??_8strstream@@7Bostream@@@
; 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::`vector deleting destructor'(unsigned int)
??_EIostream_init@@QAEPAXI@Z
; public: virtual void * __thiscall __non_rtti_object::`vector deleting destructor'(unsigned int)
??_E__non_rtti_object@@UAEPAXI@Z
; public: virtual void * __thiscall bad_cast::`vector deleting destructor'(unsigned int)
??_Ebad_cast@@UAEPAXI@Z
; public: virtual void * __thiscall bad_typeid::`vector deleting destructor'(unsigned int)
??_Ebad_typeid@@UAEPAXI@Z
; public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
??_Eexception@@UAEPAXI@Z
; public: virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
??_Efilebuf@@UAEPAXI@Z
; public: virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
??_Efstream@@UAEPAXI@Z
; public: virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
??_Eifstream@@UAEPAXI@Z
; public: virtual void * __thiscall ios::`vector deleting destructor'(unsigned int)
??_Eios@@UAEPAXI@Z
; public: virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
??_Eiostream@@UAEPAXI@Z
; public: virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
??_Eistream@@UAEPAXI@Z
; public: virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
??_Eistream_withassign@@UAEPAXI@Z
; public: virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
??_Eistrstream@@UAEPAXI@Z
; public: virtual void * __thiscall logic_error::`vector deleting destructor'(unsigned int)
??_Elogic_error@@UAEPAXI@Z
; public: virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
??_Eofstream@@UAEPAXI@Z
; public: virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
??_Eostream@@UAEPAXI@Z
; public: virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
??_Eostream_withassign@@UAEPAXI@Z
; public: virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
??_Eostrstream@@UAEPAXI@Z
; public: virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
??_Estdiobuf@@UAEPAXI@Z
; public: virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
??_Estdiostream@@UAEPAXI@Z
; public: virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
??_Estreambuf@@UAEPAXI@Z
; public: virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
??_Estrstream@@UAEPAXI@Z
; public: virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
??_Estrstreambuf@@UAEPAXI@Z
; public: void * __thiscall Iostream_init::`scalar deleting destructor'(unsigned int)
??_GIostream_init@@QAEPAXI@Z
; public: virtual void * __thiscall __non_rtti_object::`scalar deleting destructor'(unsigned int)
??_G__non_rtti_object@@UAEPAXI@Z
; public: virtual void * __thiscall bad_cast::`scalar deleting destructor'(unsigned int)
??_Gbad_cast@@UAEPAXI@Z
; public: virtual void * __thiscall bad_typeid::`scalar deleting destructor'(unsigned int)
??_Gbad_typeid@@UAEPAXI@Z
; public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
??_Gexception@@UAEPAXI@Z
; public: virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
??_Gfilebuf@@UAEPAXI@Z
; public: virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
??_Gfstream@@UAEPAXI@Z
; public: virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
??_Gifstream@@UAEPAXI@Z
; public: virtual void * __thiscall ios::`scalar deleting destructor'(unsigned int)
??_Gios@@UAEPAXI@Z
; public: virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
??_Giostream@@UAEPAXI@Z
; public: virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
??_Gistream@@UAEPAXI@Z
; public: virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
??_Gistream_withassign@@UAEPAXI@Z
; public: virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
??_Gistrstream@@UAEPAXI@Z
; public: virtual void * __thiscall logic_error::`scalar deleting destructor'(unsigned int)
??_Glogic_error@@UAEPAXI@Z
; public: virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
??_Gofstream@@UAEPAXI@Z
; public: virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
??_Gostream@@UAEPAXI@Z
; public: virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
??_Gostream_withassign@@UAEPAXI@Z
; public: virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
??_Gostrstream@@UAEPAXI@Z
; public: virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
??_Gstdiobuf@@UAEPAXI@Z
; public: virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
??_Gstdiostream@@UAEPAXI@Z
; public: virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int)
??_Gstreambuf@@UAEPAXI@Z
; public: virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
??_Gstrstream@@UAEPAXI@Z
; public: virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int)
??_Gstrstreambuf@@UAEPAXI@Z
; int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
?_query_new_handler@@YAP6AHI@ZXZ
; int __cdecl _query_new_mode(void)
?_query_new_mode@@YAHXZ
; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
; int __cdecl _set_new_mode(int)
?_set_new_mode@@YAHH@Z
; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; public: static long const  ios::adjustfield
?adjustfield@ios@@2JB
; protected: int __thiscall streambuf::allocate(void)
?allocate@streambuf@@IAEHXZ
; public: class filebuf * __thiscall filebuf::attach(int)
?attach@filebuf@@QAEPAV1@H@Z
; public: void __thiscall fstream::attach(int)
?attach@fstream@@QAEXH@Z
; public: void __thiscall ifstream::attach(int)
?attach@ifstream@@QAEXH@Z
; public: void __thiscall ofstream::attach(int)
?attach@ofstream@@QAEXH@Z
; 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
; public: int __thiscall type_info::before(class type_info const &)const 
?before@type_info@@QBEHABV1@@Z
; public: static int const  filebuf::binary
?binary@filebuf@@2HB
; 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
; class istream_withassign  cin
?cin@@3Vistream_withassign@@A
; public: void __thiscall ios::clear(int)
?clear@ios@@QAEXH@Z
; class ostream_withassign  clog
?clog@@3Vostream_withassign@@A
; 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 __cdecl ios::clrlock(void)
?clrlock@ios@@QAAXXZ
; public: void __thiscall streambuf::clrlock(void)
?clrlock@streambuf@@QAEXXZ
; class ostream_withassign  cout
?cout@@3Vostream_withassign@@A
; 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
; 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
; 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
; public: char __thiscall ios::fill(void)const 
?fill@ios@@QBEDXZ
; public: long __thiscall ios::flags(long)
?flags@ios@@QAEJJ@Z
; public: long __thiscall ios::flags(void)const 
?flags@ios@@QBEJXZ
; public: static long const  ios::floatfield
?floatfield@ios@@2JB
; 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
; protected: void __thiscall streambuf::gbump(int)
?gbump@streambuf@@IAEXH@Z
; public: int __thiscall istream::gcount(void)const 
?gcount@istream@@QBEHXZ
; protected: class istream & __thiscall istream::get(char *,int,int)
?get@istream@@IAEAAV1@PADHH@Z
; public: class istream & __thiscall istream::get(signed char &)
?get@istream@@QAEAAV1@AAC@Z
; public: class istream & __thiscall istream::get(char &)
?get@istream@@QAEAAV1@AAD@Z
; public: class istream & __thiscall istream::get(unsigned char &)
?get@istream@@QAEAAV1@AAE@Z
; public: class istream & __thiscall istream::get(class streambuf &,char)
?get@istream@@QAEAAV1@AAVstreambuf@@D@Z
; public: class istream & __thiscall istream::get(signed char *,int,char)
?get@istream@@QAEAAV1@PACHD@Z
; public: class istream & __thiscall istream::get(char *,int,char)
?get@istream@@QAEAAV1@PADHD@Z
; public: class istream & __thiscall istream::get(unsigned char *,int,char)
?get@istream@@QAEAAV1@PAEHD@Z
; public: int __thiscall istream::get(void)
?get@istream@@QAEHXZ
; private: int __thiscall istream::getdouble(char *,int)
?getdouble@istream@@AAEHPADH@Z
; private: int __thiscall istream::getint(char *)
?getint@istream@@AAEHPAD@Z
; public: class istream & __thiscall istream::getline(signed char *,int,char)
?getline@istream@@QAEAAV1@PACHD@Z
; public: class istream & __thiscall istream::getline(char *,int,char)
?getline@istream@@QAEAAV1@PADHD@Z
; public: class istream & __thiscall istream::getline(unsigned char *,int,char)
?getline@istream@@QAEAAV1@PAEHD@Z
; 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
; public: int __thiscall streambuf::in_avail(void)const 
?in_avail@streambuf@@QBEHXZ
; protected: void __thiscall ios::init(class streambuf *)
?init@ios@@IAEXPAVstreambuf@@@Z
; public: int __thiscall istream::ipfx(int)
?ipfx@istream@@QAEHH@Z
; 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
; public: void __cdecl ios::lock(void)
?lock@ios@@QAAXXZ
; public: void __thiscall streambuf::lock(void)
?lock@streambuf@@QAEXXZ
; public: void __cdecl ios::lockbuf(void)
?lockbuf@ios@@QAAXXZ
; protected: static void __cdecl ios::lockc(void)
?lockc@ios@@KAXXZ
; protected: struct _CRT_CRITICAL_SECTION * __thiscall ios::lockptr(void)
?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
; protected: struct _CRT_CRITICAL_SECTION * __thiscall streambuf::lockptr(void)
?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
; public: char const * __thiscall type_info::name(void)const 
?name@type_info@@QBEPBDXZ
; 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
; public: void __thiscall fstream::open(char const *,int,int)
?open@fstream@@QAEXPBDHH@Z
; public: void __thiscall ifstream::open(char const *,int,int)
?open@ifstream@@QAEXPBDHH@Z
; public: void __thiscall ofstream::open(char const *,int,int)
?open@ofstream@@QAEXPBDHH@Z
; public: static int const  filebuf::openprot
?openprot@filebuf@@2HB
; 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
; public: virtual int __thiscall stdiobuf::overflow(int)
?overflow@stdiobuf@@UAEHH@Z
; public: virtual int __thiscall strstreambuf::overflow(int)
?overflow@strstreambuf@@UAEHH@Z
; public: virtual int __thiscall stdiobuf::pbackfail(int)
?pbackfail@stdiobuf@@UAEHH@Z
; public: virtual int __thiscall streambuf::pbackfail(int)
?pbackfail@streambuf@@UAEHH@Z
; protected: char * __thiscall streambuf::pbase(void)const 
?pbase@streambuf@@IBEPADXZ
; protected: void __thiscall streambuf::pbump(int)
?pbump@streambuf@@IAEXH@Z
; 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
; public: int __thiscall ios::precision(void)const 
?precision@ios@@QBEHXZ
; public: class ostream & __thiscall ostream::put(signed char)
?put@ostream@@QAEAAV1@C@Z
; public: class ostream & __thiscall ostream::put(char)
?put@ostream@@QAEAAV1@D@Z
; public: class ostream & __thiscall ostream::put(unsigned char)
?put@ostream@@QAEAAV1@E@Z
; public: class istream & __thiscall istream::putback(char)
?putback@istream@@QAEAAV1@D@Z
; public: void * & __thiscall ios::pword(int)const 
?pword@ios@@QBEAAPAXH@Z
; public: char const * __thiscall type_info::raw_name(void)const 
?raw_name@type_info@@QBEPBDXZ
; 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
; public: class istream & __thiscall istream::read(char *,int)
?read@istream@@QAEAAV1@PADH@Z
; public: class istream & __thiscall istream::read(unsigned char *,int)
?read@istream@@QAEAAV1@PAEH@Z
; public: int __thiscall streambuf::sbumpc(void)
?sbumpc@streambuf@@QAEHXZ
; public: class istream & __thiscall istream::seekg(long)
?seekg@istream@@QAEAAV1@J@Z
; public: class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z
; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z
; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z
; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z
; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z
; public: class ostream & __thiscall ostream::seekp(long)
?seekp@ostream@@QAEAAV1@J@Z
; public: class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir)
?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z
; public: virtual long __thiscall streambuf::seekpos(long,int)
?seekpos@streambuf@@UAEJJH@Z
; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
?set_new_handler@@YAP6AXXZP6AXXZ@Z
; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
?set_terminate@@YAP6AXXZP6AXXZ@Z
; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
?set_unexpected@@YAP6AXXZP6AXXZ@Z
; protected: void __thiscall streambuf::setb(char *,char *,int)
?setb@streambuf@@IAEXPAD0H@Z
; public: virtual class streambuf * __thiscall filebuf::setbuf(char *,int)
?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z
; public: class streambuf * __thiscall fstream::setbuf(char *,int)
?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z
; public: class streambuf * __thiscall ifstream::setbuf(char *,int)
?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z
; public: class streambuf * __thiscall ofstream::setbuf(char *,int)
?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z
; public: virtual class streambuf * __thiscall streambuf::setbuf(char *,int)
?setbuf@streambuf@@UAEPAV1@PADH@Z
; public: virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int)
?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z
; public: long __thiscall ios::setf(long)
?setf@ios@@QAEJJ@Z
; public: long __thiscall ios::setf(long,long)
?setf@ios@@QAEJJJ@Z
; protected: void __thiscall streambuf::setg(char *,char *,char *)
?setg@streambuf@@IAEXPAD00@Z
; public: void __cdecl ios::setlock(void)
?setlock@ios@@QAAXXZ
; public: void __thiscall streambuf::setlock(void)
?setlock@streambuf@@QAEXXZ
; public: int __thiscall filebuf::setmode(int)
?setmode@filebuf@@QAEHH@Z
; public: int __thiscall fstream::setmode(int)
?setmode@fstream@@QAEHH@Z
; public: int __thiscall ifstream::setmode(int)
?setmode@ifstream@@QAEHH@Z
; public: int __thiscall ofstream::setmode(int)
?setmode@ofstream@@QAEHH@Z
; protected: void __thiscall streambuf::setp(char *,char *)
?setp@streambuf@@IAEXPAD0@Z
; public: int __thiscall stdiobuf::setrwbuf(int,int)
?setrwbuf@stdiobuf@@QAEHHH@Z
; public: int __thiscall streambuf::sgetc(void)
?sgetc@streambuf@@QAEHXZ
; public: int __thiscall streambuf::sgetn(char *,int)
?sgetn@streambuf@@QAEHPADH@Z
; public: static int const  filebuf::sh_none
?sh_none@filebuf@@2HB
; public: static int const  filebuf::sh_read
?sh_read@filebuf@@2HB
; public: static int const  filebuf::sh_write
?sh_write@filebuf@@2HB
; public: int __thiscall streambuf::snextc(void)
?snextc@streambuf@@QAEHXZ
; public: int __thiscall streambuf::sputbackc(char)
?sputbackc@streambuf@@QAEHD@Z
; public: int __thiscall streambuf::sputc(int)
?sputc@streambuf@@QAEHH@Z
; public: int __thiscall streambuf::sputn(char const *,int)
?sputn@streambuf@@QAEHPBDH@Z
; 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
; 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
; void __cdecl terminate(void)
?terminate@@YAXXZ
; public: static int const  filebuf::text
?text@filebuf@@2HB
; public: class ostream * __thiscall ios::tie(class ostream *)
?tie@ios@@QAEPAVostream@@PAV2@@Z
; public: class ostream * __thiscall ios::tie(void)const 
?tie@ios@@QBEPAVostream@@XZ
; protected: void __thiscall streambuf::unbuffered(int)
?unbuffered@streambuf@@IAEXH@Z
; 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
; void __cdecl unexpected(void)
?unexpected@@YAXXZ
; public: void __cdecl ios::unlock(void)
?unlock@ios@@QAAXXZ
; public: void __thiscall streambuf::unlock(void)
?unlock@streambuf@@QAEXXZ
; public: void __cdecl ios::unlockbuf(void)
?unlockbuf@ios@@QAAXXZ
; protected: static void __cdecl ios::unlockc(void)
?unlockc@ios@@KAXXZ
; public: long __thiscall ios::unsetf(long)
?unsetf@ios@@QAEJJ@Z
; public: virtual char const * __thiscall exception::what(void)const 
?what@exception@@UBEPBDXZ
; public: int __thiscall ios::width(int)
?width@ios@@QAEHH@Z
; 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
; public: class ostream & __thiscall ostream::write(char const *,int)
?write@ostream@@QAEAAV1@PBDH@Z
; public: class ostream & __thiscall ostream::write(unsigned char const *,int)
?write@ostream@@QAEAAV1@PBEH@Z
; private: class ostream & __thiscall ostream::writepad(char const *,char const *)
?writepad@ostream@@AAEAAV1@PBD0@Z
; class istream & __cdecl ws(class istream &)
?ws@@YAAAVistream@@AAV1@@Z
; private: static int  ios::x_curindex
?x_curindex@ios@@0HA
; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A
; private: static long  ios::x_maxbit
?x_maxbit@ios@@0JA
; private: static long *  ios::x_statebuf
?x_statebuf@ios@@0PAJA
; public: static int __cdecl ios::xalloc(void)
?xalloc@ios@@SAHXZ
; public: virtual int __thiscall streambuf::xsgetn(char *,int)
?xsgetn@streambuf@@UAEHPADH@Z
; public: virtual int __thiscall streambuf::xsputn(char const *,int)
?xsputn@streambuf@@UAEHPBDH@Z
$I10_OUTPUT
_CIacos
_CIasin
_CIatan
_CIatan2
_CIcos
_CIcosh
_CIexp
_CIfmod
_CIlog
_CIlog10
_CIpow
_CIsin
_CIsinh
_CIsqrt
_CItan
_CItanh
_CxxThrowException
_EH_prolog
_HUGE
_XcptFilter
__CxxFrameHandler
__CxxLongjmpUnwind
__RTCastToVoid
__RTDynamicCast
__RTtypeid
__STRINGTOLD
__argc
__argv
__dllonexit
__doserrno
__fpecode
__getmainargs
__initenv
__isascii
__iscsym
__iscsymf
__lconv_init
__mb_cur_max
__p___argc
__p___argv
__p___initenv
__p___mb_cur_max
__p___wargv
__p___winitenv
__p__acmdln
__p__amblksiz
__p__commode
__p__daylight
__p__dstbias
__p__environ
__p__fmode
__p__iob
__p__mbctype
__p__osver
__p__pctype
__p__pgmptr
__p__pwctype
__p__timezone
__p__tzname
__p__wcmdln
__p__wenviron
__p__winmajor
__p__winminor
__p__winver
__p__wpgmptr
__pxcptinfoptrs
__set_app_type
__setusermatherr
__threadhandle
__threadid
__toascii
__unDName
__wargv
__wgetmainargs
__winitenv
_abnormal_termination
_access
_acmdln
_adj_fdiv_m16i
_adj_fdiv_m32
_adj_fdiv_m32i
_adj_fdiv_m64
_adj_fdiv_r
_adj_fdivr_m16i
_adj_fdivr_m32
_adj_fdivr_m32i
_adj_fdivr_m64
_adj_fpatan
_adj_fprem
_adj_fprem1
_adj_fptan
_adjust_fdiv
_aexit_rtn
_amsg_exit
_assert
_atodbl
_atoldbl
_beep
_beginthread
_beginthreadex
_c_exit
_cabs
_cexit
_cgets
_chdir
_chdrive
_chgsign
_chmod
_chsize
_clearfp
_close
_commit
_commode
_control87
_controlfp
_copysign
_cprintf
_cputs
_creat
_cscanf
_ctype
_cwait
_daylight
_dstbias
_dup
_dup2
_ecvt
_endthread
_endthreadex
_environ
_eof
_errno
_except_handler2
_except_handler3
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_fcloseall
_fcvt
_fdopen
_fgetchar
_fgetwchar
_filbuf
_fileinfo
_filelength
_filelengthi64
_fileno
_findclose
_findfirst
_findfirsti64
_findnext
_findnexti64
_finite
_flsbuf
_flushall
_fmode
_fpclass
_fpieee_flt
_fpreset
_fputchar
_fputwchar
_fsopen
_fstat
_fstati64
_ftime
_ftol
_fullpath
_futime
_gcvt
_get_osfhandle
_getch
_getche
_getcwd
_getdcwd
_getdiskfree
_getdllprocaddr
_getdrive
_getdrives
_getmaxstdio
_getmbcp
_getpid
_getsystime
_getw
_getws
_global_unwind2
_heapadd
_heapchk
_heapmin
_heapset
_heapused
_heapwalk
_hypot
_initterm
_inp
_inpd
_inpw
_iob
_isatty
_isctype
_ismbbalnum
_ismbbalpha
_ismbbgraph
_ismbbkalnum
_ismbbkana
_ismbbkprint
_ismbbkpunct
_ismbblead
_ismbbprint
_ismbbpunct
_ismbbtrail
_ismbcalnum
_ismbcalpha
_ismbcdigit
_ismbcgraph
_ismbchira
_ismbckata
_ismbcl0
_ismbcl1
_ismbcl2
_ismbclegal
_ismbclower
_ismbcprint
_ismbcpunct
_ismbcspace
_ismbcsymbol
_ismbcupper
_ismbslead
_ismbstrail
_isnan
_itoa
_itow
_j0
_j1
_jn
_kbhit
_lfind
_loaddll
_local_unwind2
_locking
_logb
_longjmpex
_lrotl
_lrotr
_lsearch
_lseek
_lseeki64
_ltoa
_ltow
_makepath
_mbbtombc
_mbbtype
_mbccpy
_mbcjistojms
_mbcjmstojis
_mbclen
_mbctohira
_mbctokata
_mbctolower
_mbctombb
_mbctoupper
_mbctype
_mbsbtype
_mbscat
_mbschr
_mbscmp
_mbscoll
_mbscpy
_mbscspn
_mbsdec
_mbsdup
_mbsicmp
_mbsicoll
_mbsinc
_mbslen
_mbslwr
_mbsnbcat
_mbsnbcmp
_mbsnbcnt
_mbsnbcoll
_mbsnbcpy
_mbsnbicmp
_mbsnbicoll
_mbsnbset
_mbsncat
_mbsnccnt
_mbsncmp
_mbsncoll
_mbsncpy
_mbsnextc
_mbsnicmp
_mbsnicoll
_mbsninc
_mbsnset
_mbspbrk
_mbsrchr
_mbsrev
_mbsset
_mbsspn
_mbsspnp
_mbsstr
_mbstok
_mbstrlen
_mbsupr
_memccpy
_memicmp
_mkdir
_mktemp
_msize
_mtlock
_mtunlock
_nextafter
_onexit
_open
_open_osfhandle
_osver
_outp
_outpd
_outpw
_pclose
_pctype
_pgmptr
_pipe
_popen
_purecall
_putch
_putenv
_putw
_putws
_pwctype
_read
_rmdir
_rmtmp
_rotl
_rotr
_safe_fdiv
_safe_fdivr
_safe_fprem
_safe_fprem1
_scalb
_searchenv
_seh_longjmp_unwind
_set_error_mode
_seterrormode
_setjmp
_setjmp3
_setmaxstdio
_setmbcp
_setmode
_setsystime
_sleep
_snprintf
_snwprintf
_sopen
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_splitpath
_stat
_stati64
_statusfp
_strcmpi
_strdate
_strdup
_strerror
_stricmp
_stricoll
_strlwr
_strncoll
_strnicmp
_strnicoll
_strnset
_strrev
_strset
_strtime
_strupr
_swab
_sys_errlist
_sys_nerr
_tell
_telli64
_tempnam
_timezone
_tolower
_toupper
_tzname
_tzset
_ultoa
_ultow
_umask
_ungetch
_unlink
_unloaddll
_utime
_vsnprintf
_vsnwprintf
_waccess
_wasctime
_wchdir
_wchmod
_wcmdln
_wcreat
_wcsdup
_wcsicmp
_wcsicoll
_wcslwr
_wcsncoll
_wcsnicmp
_wcsnicoll
_wcsnset
_wcsrev
_wcsset
_wcsupr
_wctime DATA
;_wctime32 = _wctime
_wenviron
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_wfdopen
_wfindfirst
_wfindfirsti64
_wfindnext
_wfindnexti64
_wfopen
_wfreopen
_wfsopen
_wfullpath
_wgetcwd
_wgetdcwd
_wgetenv
_winmajor
_winminor
_winver
_wmakepath
_wmkdir
_wmktemp
_wopen
_wperror
_wpgmptr
_wpopen
_wputenv
_wremove
_wrename
_write
_wrmdir
_wsearchenv
_wsetlocale
_wsopen
_wspawnl
_wspawnle
_wspawnlp
_wspawnlpe
_wspawnv
_wspawnve
_wspawnvp
_wspawnvpe
_wsplitpath
_wstat
_wstati64
_wstrdate
_wstrtime
_wsystem
_wtempnam
_wtmpnam
_wtoi
_wtol
_wunlink
_wutime
_y0
_y1
_yn
abort
abs
acos
asctime
asin
atan
atan2
atexit DATA
atof
atoi
atol
bsearch
calloc
ceil
clearerr
clock
cos
cosh
ctime DATA
;_ctime32 = ctime
difftime
div
exit
exp
fabs
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor
fmod
fopen
fprintf
fputc
fputs
fputwc
fputws
fread
free
freopen
frexp
fscanf
fseek
fsetpos
ftell
fwprintf
fwrite
fwscanf
getc
getchar
getenv
gets
getwc
getwchar
gmtime DATA
;_gmtime32 = gmtime
is_wctype
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 DATA
;_localtime32 = localtime
log
log10
malloc
mblen
mbstowcs
mbtowc
memchr
memcmp
memcpy
memmove
memset
mktime DATA
;_mktime32 = mktime
modf
perror
pow
printf
putc
putchar
puts
putwc
putwchar
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 DATA
;_time32 = 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
