; 
; Exports of file msvcirt.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY msvcirt.dll
EXPORTS
; public: __cdecl Iostream_init::Iostream_init(class ios & __ptr64,int) __ptr64
??0Iostream_init@@QEAA@AEAVios@@H@Z
; public: __cdecl Iostream_init::Iostream_init(void) __ptr64
??0Iostream_init@@QEAA@XZ
; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64) __ptr64
??0exception@@QEAA@AEBQEBD@Z
; public: __cdecl exception::exception(class exception const & __ptr64) __ptr64
??0exception@@QEAA@AEBV0@@Z
; public: __cdecl exception::exception(void) __ptr64
??0exception@@QEAA@XZ
; public: __cdecl filebuf::filebuf(class filebuf const & __ptr64) __ptr64
??0filebuf@@QEAA@AEBV0@@Z
; public: __cdecl filebuf::filebuf(int) __ptr64
??0filebuf@@QEAA@H@Z
; public: __cdecl filebuf::filebuf(int,char * __ptr64,int) __ptr64
??0filebuf@@QEAA@HPEADH@Z
; public: __cdecl filebuf::filebuf(void) __ptr64
??0filebuf@@QEAA@XZ
; public: __cdecl fstream::fstream(class fstream const & __ptr64) __ptr64
??0fstream@@QEAA@AEBV0@@Z
; public: __cdecl fstream::fstream(int) __ptr64
??0fstream@@QEAA@H@Z
; public: __cdecl fstream::fstream(int,char * __ptr64,int) __ptr64
??0fstream@@QEAA@HPEADH@Z
; public: __cdecl fstream::fstream(char const * __ptr64,int,int) __ptr64
??0fstream@@QEAA@PEBDHH@Z
; public: __cdecl fstream::fstream(void) __ptr64
??0fstream@@QEAA@XZ
; public: __cdecl ifstream::ifstream(class ifstream const & __ptr64) __ptr64
??0ifstream@@QEAA@AEBV0@@Z
; public: __cdecl ifstream::ifstream(int) __ptr64
??0ifstream@@QEAA@H@Z
; public: __cdecl ifstream::ifstream(int,char * __ptr64,int) __ptr64
??0ifstream@@QEAA@HPEADH@Z
; public: __cdecl ifstream::ifstream(char const * __ptr64,int,int) __ptr64
??0ifstream@@QEAA@PEBDHH@Z
; public: __cdecl ifstream::ifstream(void) __ptr64
??0ifstream@@QEAA@XZ
; protected: __cdecl ios::ios(class ios const & __ptr64) __ptr64
??0ios@@IEAA@AEBV0@@Z
; protected: __cdecl ios::ios(void) __ptr64
??0ios@@IEAA@XZ
; public: __cdecl ios::ios(class streambuf * __ptr64) __ptr64
??0ios@@QEAA@PEAVstreambuf@@@Z
; protected: __cdecl iostream::iostream(class iostream const & __ptr64) __ptr64
??0iostream@@IEAA@AEBV0@@Z
; protected: __cdecl iostream::iostream(void) __ptr64
??0iostream@@IEAA@XZ
; public: __cdecl iostream::iostream(class streambuf * __ptr64) __ptr64
??0iostream@@QEAA@PEAVstreambuf@@@Z
; protected: __cdecl istream::istream(class istream const & __ptr64) __ptr64
??0istream@@IEAA@AEBV0@@Z
; protected: __cdecl istream::istream(void) __ptr64
??0istream@@IEAA@XZ
; public: __cdecl istream::istream(class streambuf * __ptr64) __ptr64
??0istream@@QEAA@PEAVstreambuf@@@Z
; public: __cdecl istream_withassign::istream_withassign(class istream_withassign const & __ptr64) __ptr64
??0istream_withassign@@QEAA@AEBV0@@Z
; public: __cdecl istream_withassign::istream_withassign(class streambuf * __ptr64) __ptr64
??0istream_withassign@@QEAA@PEAVstreambuf@@@Z
; public: __cdecl istream_withassign::istream_withassign(void) __ptr64
??0istream_withassign@@QEAA@XZ
; public: __cdecl istrstream::istrstream(class istrstream const & __ptr64) __ptr64
??0istrstream@@QEAA@AEBV0@@Z
; public: __cdecl istrstream::istrstream(char * __ptr64) __ptr64
??0istrstream@@QEAA@PEAD@Z
; public: __cdecl istrstream::istrstream(char * __ptr64,int) __ptr64
??0istrstream@@QEAA@PEADH@Z
; public: __cdecl logic_error::logic_error(char const * __ptr64 const & __ptr64) __ptr64
??0logic_error@@QEAA@AEBQEBD@Z
; public: __cdecl logic_error::logic_error(class logic_error const & __ptr64) __ptr64
??0logic_error@@QEAA@AEBV0@@Z
; public: __cdecl ofstream::ofstream(class ofstream const & __ptr64) __ptr64
??0ofstream@@QEAA@AEBV0@@Z
; public: __cdecl ofstream::ofstream(int) __ptr64
??0ofstream@@QEAA@H@Z
; public: __cdecl ofstream::ofstream(int,char * __ptr64,int) __ptr64
??0ofstream@@QEAA@HPEADH@Z
; public: __cdecl ofstream::ofstream(char const * __ptr64,int,int) __ptr64
??0ofstream@@QEAA@PEBDHH@Z
; public: __cdecl ofstream::ofstream(void) __ptr64
??0ofstream@@QEAA@XZ
; protected: __cdecl ostream::ostream(class ostream const & __ptr64) __ptr64
??0ostream@@IEAA@AEBV0@@Z
; protected: __cdecl ostream::ostream(void) __ptr64
??0ostream@@IEAA@XZ
; public: __cdecl ostream::ostream(class streambuf * __ptr64) __ptr64
??0ostream@@QEAA@PEAVstreambuf@@@Z
; public: __cdecl ostream_withassign::ostream_withassign(class ostream_withassign const & __ptr64) __ptr64
??0ostream_withassign@@QEAA@AEBV0@@Z
; public: __cdecl ostream_withassign::ostream_withassign(class streambuf * __ptr64) __ptr64
??0ostream_withassign@@QEAA@PEAVstreambuf@@@Z
; public: __cdecl ostream_withassign::ostream_withassign(void) __ptr64
??0ostream_withassign@@QEAA@XZ
; public: __cdecl ostrstream::ostrstream(class ostrstream const & __ptr64) __ptr64
??0ostrstream@@QEAA@AEBV0@@Z
; public: __cdecl ostrstream::ostrstream(char * __ptr64,int,int) __ptr64
??0ostrstream@@QEAA@PEADHH@Z
; public: __cdecl ostrstream::ostrstream(void) __ptr64
??0ostrstream@@QEAA@XZ
; public: __cdecl stdiobuf::stdiobuf(class stdiobuf const & __ptr64) __ptr64
??0stdiobuf@@QEAA@AEBV0@@Z
; public: __cdecl stdiobuf::stdiobuf(struct _iobuf * __ptr64) __ptr64
??0stdiobuf@@QEAA@PEAU_iobuf@@@Z
; public: __cdecl stdiostream::stdiostream(class stdiostream const & __ptr64) __ptr64
??0stdiostream@@QEAA@AEBV0@@Z
; public: __cdecl stdiostream::stdiostream(struct _iobuf * __ptr64) __ptr64
??0stdiostream@@QEAA@PEAU_iobuf@@@Z
; protected: __cdecl streambuf::streambuf(char * __ptr64,int) __ptr64
??0streambuf@@IEAA@PEADH@Z
; protected: __cdecl streambuf::streambuf(void) __ptr64
??0streambuf@@IEAA@XZ
; public: __cdecl streambuf::streambuf(class streambuf const & __ptr64) __ptr64
??0streambuf@@QEAA@AEBV0@@Z
; public: __cdecl strstream::strstream(class strstream const & __ptr64) __ptr64
??0strstream@@QEAA@AEBV0@@Z
; public: __cdecl strstream::strstream(char * __ptr64,int,int) __ptr64
??0strstream@@QEAA@PEADHH@Z
; public: __cdecl strstream::strstream(void) __ptr64
??0strstream@@QEAA@XZ
; public: __cdecl strstreambuf::strstreambuf(class strstreambuf const & __ptr64) __ptr64
??0strstreambuf@@QEAA@AEBV0@@Z
; public: __cdecl strstreambuf::strstreambuf(int) __ptr64
??0strstreambuf@@QEAA@H@Z
; public: __cdecl strstreambuf::strstreambuf(void * __ptr64 (__cdecl*)(long),void (__cdecl*)(void * __ptr64)) __ptr64
??0strstreambuf@@QEAA@P6APEAXJ@ZP6AXPEAX@Z@Z
; public: __cdecl strstreambuf::strstreambuf(char * __ptr64,int,char * __ptr64) __ptr64
??0strstreambuf@@QEAA@PEADH0@Z
; public: __cdecl strstreambuf::strstreambuf(unsigned char * __ptr64,int,unsigned char * __ptr64) __ptr64
??0strstreambuf@@QEAA@PEAEH0@Z
; public: __cdecl strstreambuf::strstreambuf(void) __ptr64
??0strstreambuf@@QEAA@XZ
; public: __cdecl Iostream_init::~Iostream_init(void) __ptr64
??1Iostream_init@@QEAA@XZ
; public: virtual __cdecl exception::~exception(void) __ptr64
??1exception@@UEAA@XZ
; public: virtual __cdecl filebuf::~filebuf(void) __ptr64
??1filebuf@@UEAA@XZ
; public: virtual __cdecl fstream::~fstream(void) __ptr64
??1fstream@@UEAA@XZ
; public: virtual __cdecl ifstream::~ifstream(void) __ptr64
??1ifstream@@UEAA@XZ
; public: virtual __cdecl ios::~ios(void) __ptr64
??1ios@@UEAA@XZ
; public: virtual __cdecl iostream::~iostream(void) __ptr64
??1iostream@@UEAA@XZ
; public: virtual __cdecl istream::~istream(void) __ptr64
??1istream@@UEAA@XZ
; public: virtual __cdecl istream_withassign::~istream_withassign(void) __ptr64
??1istream_withassign@@UEAA@XZ
; public: virtual __cdecl istrstream::~istrstream(void) __ptr64
??1istrstream@@UEAA@XZ
; public: virtual __cdecl logic_error::~logic_error(void) __ptr64
??1logic_error@@UEAA@XZ
; public: virtual __cdecl ofstream::~ofstream(void) __ptr64
??1ofstream@@UEAA@XZ
; public: virtual __cdecl ostream::~ostream(void) __ptr64
??1ostream@@UEAA@XZ
; public: virtual __cdecl ostream_withassign::~ostream_withassign(void) __ptr64
??1ostream_withassign@@UEAA@XZ
; public: virtual __cdecl ostrstream::~ostrstream(void) __ptr64
??1ostrstream@@UEAA@XZ
; public: virtual __cdecl stdiobuf::~stdiobuf(void) __ptr64
??1stdiobuf@@UEAA@XZ
; public: virtual __cdecl stdiostream::~stdiostream(void) __ptr64
??1stdiostream@@UEAA@XZ
; public: virtual __cdecl streambuf::~streambuf(void) __ptr64
??1streambuf@@UEAA@XZ
; public: virtual __cdecl strstream::~strstream(void) __ptr64
??1strstream@@UEAA@XZ
; public: virtual __cdecl strstreambuf::~strstreambuf(void) __ptr64
??1strstreambuf@@UEAA@XZ
; public: class Iostream_init & __ptr64 __cdecl Iostream_init::operator=(class Iostream_init const & __ptr64) __ptr64
??4Iostream_init@@QEAAAEAV0@AEBV0@@Z
; public: class exception & __ptr64 __cdecl exception::operator=(class exception const & __ptr64) __ptr64
??4exception@@QEAAAEAV0@AEBV0@@Z
; public: class filebuf & __ptr64 __cdecl filebuf::operator=(class filebuf const & __ptr64) __ptr64
??4filebuf@@QEAAAEAV0@AEBV0@@Z
; public: class fstream & __ptr64 __cdecl fstream::operator=(class fstream & __ptr64) __ptr64
??4fstream@@QEAAAEAV0@AEAV0@@Z
; public: class ifstream & __ptr64 __cdecl ifstream::operator=(class ifstream const & __ptr64) __ptr64
??4ifstream@@QEAAAEAV0@AEBV0@@Z
; protected: class ios & __ptr64 __cdecl ios::operator=(class ios const & __ptr64) __ptr64
??4ios@@IEAAAEAV0@AEBV0@@Z
; protected: class iostream & __ptr64 __cdecl iostream::operator=(class iostream & __ptr64) __ptr64
??4iostream@@IEAAAEAV0@AEAV0@@Z
; protected: class iostream & __ptr64 __cdecl iostream::operator=(class streambuf * __ptr64) __ptr64
??4iostream@@IEAAAEAV0@PEAVstreambuf@@@Z
; protected: class istream & __ptr64 __cdecl istream::operator=(class istream const & __ptr64) __ptr64
??4istream@@IEAAAEAV0@AEBV0@@Z
; protected: class istream & __ptr64 __cdecl istream::operator=(class streambuf * __ptr64) __ptr64
??4istream@@IEAAAEAV0@PEAVstreambuf@@@Z
; public: class istream_withassign & __ptr64 __cdecl istream_withassign::operator=(class istream_withassign const & __ptr64) __ptr64
??4istream_withassign@@QEAAAEAV0@AEBV0@@Z
; public: class istream & __ptr64 __cdecl istream_withassign::operator=(class istream const & __ptr64) __ptr64
??4istream_withassign@@QEAAAEAVistream@@AEBV1@@Z
; public: class istream & __ptr64 __cdecl istream_withassign::operator=(class streambuf * __ptr64) __ptr64
??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
; public: class istrstream & __ptr64 __cdecl istrstream::operator=(class istrstream const & __ptr64) __ptr64
??4istrstream@@QEAAAEAV0@AEBV0@@Z
; public: class logic_error & __ptr64 __cdecl logic_error::operator=(class logic_error const & __ptr64) __ptr64
??4logic_error@@QEAAAEAV0@AEBV0@@Z
; public: class ofstream & __ptr64 __cdecl ofstream::operator=(class ofstream const & __ptr64) __ptr64
??4ofstream@@QEAAAEAV0@AEBV0@@Z
; protected: class ostream & __ptr64 __cdecl ostream::operator=(class ostream const & __ptr64) __ptr64
??4ostream@@IEAAAEAV0@AEBV0@@Z
; protected: class ostream & __ptr64 __cdecl ostream::operator=(class streambuf * __ptr64) __ptr64
??4ostream@@IEAAAEAV0@PEAVstreambuf@@@Z
; public: class ostream_withassign & __ptr64 __cdecl ostream_withassign::operator=(class ostream_withassign const & __ptr64) __ptr64
??4ostream_withassign@@QEAAAEAV0@AEBV0@@Z
; public: class ostream & __ptr64 __cdecl ostream_withassign::operator=(class ostream const & __ptr64) __ptr64
??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z
; public: class ostream & __ptr64 __cdecl ostream_withassign::operator=(class streambuf * __ptr64) __ptr64
??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
; public: class ostrstream & __ptr64 __cdecl ostrstream::operator=(class ostrstream const & __ptr64) __ptr64
??4ostrstream@@QEAAAEAV0@AEBV0@@Z
; public: class stdiobuf & __ptr64 __cdecl stdiobuf::operator=(class stdiobuf const & __ptr64) __ptr64
??4stdiobuf@@QEAAAEAV0@AEBV0@@Z
; public: class stdiostream & __ptr64 __cdecl stdiostream::operator=(class stdiostream & __ptr64) __ptr64
??4stdiostream@@QEAAAEAV0@AEAV0@@Z
; public: class streambuf & __ptr64 __cdecl streambuf::operator=(class streambuf const & __ptr64) __ptr64
??4streambuf@@QEAAAEAV0@AEBV0@@Z
; public: class strstream & __ptr64 __cdecl strstream::operator=(class strstream & __ptr64) __ptr64
??4strstream@@QEAAAEAV0@AEAV0@@Z
; public: class strstreambuf & __ptr64 __cdecl strstreambuf::operator=(class strstreambuf const & __ptr64) __ptr64
??4strstreambuf@@QEAAAEAV0@AEBV0@@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(signed char & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAC@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(char & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAD@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned char & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAE@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(short & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAF@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned short & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAG@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(int & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAH@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned int & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAI@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(long & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAJ@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned long & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAK@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(float & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAM@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(double & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAN@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(long double & __ptr64) __ptr64
??5istream@@QEAAAEAV0@AEAO@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(class istream & __ptr64 (__cdecl*)(class istream & __ptr64)) __ptr64
??5istream@@QEAAAEAV0@P6AAEAV0@AEAV0@@Z@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(class ios & __ptr64 (__cdecl*)(class ios & __ptr64)) __ptr64
??5istream@@QEAAAEAV0@P6AAEAVios@@AEAV1@@Z@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(signed char * __ptr64) __ptr64
??5istream@@QEAAAEAV0@PEAC@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(char * __ptr64) __ptr64
??5istream@@QEAAAEAV0@PEAD@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(unsigned char * __ptr64) __ptr64
??5istream@@QEAAAEAV0@PEAE@Z
; public: class istream & __ptr64 __cdecl istream::operator>>(class streambuf * __ptr64) __ptr64
??5istream@@QEAAAEAV0@PEAVstreambuf@@@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(signed char) __ptr64
??6ostream@@QEAAAEAV0@C@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(char) __ptr64
??6ostream@@QEAAAEAV0@D@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned char) __ptr64
??6ostream@@QEAAAEAV0@E@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(short) __ptr64
??6ostream@@QEAAAEAV0@F@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned short) __ptr64
??6ostream@@QEAAAEAV0@G@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(int) __ptr64
??6ostream@@QEAAAEAV0@H@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned int) __ptr64
??6ostream@@QEAAAEAV0@I@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(long) __ptr64
??6ostream@@QEAAAEAV0@J@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned long) __ptr64
??6ostream@@QEAAAEAV0@K@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(float) __ptr64
??6ostream@@QEAAAEAV0@M@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(double) __ptr64
??6ostream@@QEAAAEAV0@N@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(long double) __ptr64
??6ostream@@QEAAAEAV0@O@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(class ostream & __ptr64 (__cdecl*)(class ostream & __ptr64)) __ptr64
??6ostream@@QEAAAEAV0@P6AAEAV0@AEAV0@@Z@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(class ios & __ptr64 (__cdecl*)(class ios & __ptr64)) __ptr64
??6ostream@@QEAAAEAV0@P6AAEAVios@@AEAV1@@Z@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(class streambuf * __ptr64) __ptr64
??6ostream@@QEAAAEAV0@PEAVstreambuf@@@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(signed char const * __ptr64) __ptr64
??6ostream@@QEAAAEAV0@PEBC@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(char const * __ptr64) __ptr64
??6ostream@@QEAAAEAV0@PEBD@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(unsigned char const * __ptr64) __ptr64
??6ostream@@QEAAAEAV0@PEBE@Z
; public: class ostream & __ptr64 __cdecl ostream::operator<<(void const * __ptr64) __ptr64
??6ostream@@QEAAAEAV0@PEBX@Z
; public: int __cdecl ios::operator!(void)const  __ptr64
??7ios@@QEBAHXZ
; public: __cdecl ios::operator void * __ptr64(void)const  __ptr64
??Bios@@QEBAPEAXXZ
; 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@@@ 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 __cdecl fstream::`vbase destructor'(void) __ptr64
??_Dfstream@@QEAAXXZ
; public: void __cdecl ifstream::`vbase destructor'(void) __ptr64
??_Difstream@@QEAAXXZ
; public: void __cdecl iostream::`vbase destructor'(void) __ptr64
??_Diostream@@QEAAXXZ
; public: void __cdecl istream::`vbase destructor'(void) __ptr64
??_Distream@@QEAAXXZ
; public: void __cdecl istream_withassign::`vbase destructor'(void) __ptr64
??_Distream_withassign@@QEAAXXZ
; public: void __cdecl istrstream::`vbase destructor'(void) __ptr64
??_Distrstream@@QEAAXXZ
; public: void __cdecl ofstream::`vbase destructor'(void) __ptr64
??_Dofstream@@QEAAXXZ
; public: void __cdecl ostream::`vbase destructor'(void) __ptr64
??_Dostream@@QEAAXXZ
; public: void __cdecl ostream_withassign::`vbase destructor'(void) __ptr64
??_Dostream_withassign@@QEAAXXZ
; public: void __cdecl ostrstream::`vbase destructor'(void) __ptr64
??_Dostrstream@@QEAAXXZ
; public: void __cdecl stdiostream::`vbase destructor'(void) __ptr64
??_Dstdiostream@@QEAAXXZ
; public: void __cdecl strstream::`vbase destructor'(void) __ptr64
??_Dstrstream@@QEAAXXZ
; public: static long const  ios::adjustfield
?adjustfield@ios@@2JB
; protected: int __cdecl streambuf::allocate(void) __ptr64
?allocate@streambuf@@IEAAHXZ
; public: class filebuf * __ptr64 __cdecl filebuf::attach(int) __ptr64
?attach@filebuf@@QEAAPEAV1@H@Z
; public: void __cdecl fstream::attach(int) __ptr64
?attach@fstream@@QEAAXH@Z
; public: void __cdecl ifstream::attach(int) __ptr64
?attach@ifstream@@QEAAXH@Z
; public: void __cdecl ofstream::attach(int) __ptr64
?attach@ofstream@@QEAAXH@Z
; public: int __cdecl ios::bad(void)const  __ptr64
?bad@ios@@QEBAHXZ
; protected: char * __ptr64 __cdecl streambuf::base(void)const  __ptr64
?base@streambuf@@IEBAPEADXZ
; public: static long const  ios::basefield
?basefield@ios@@2JB
; public: static int const  filebuf::binary
?binary@filebuf@@2HB
; public: static long __cdecl ios::bitalloc(void)
?bitalloc@ios@@SAJXZ
; protected: int __cdecl streambuf::blen(void)const  __ptr64
?blen@streambuf@@IEBAHXZ
; class ostream_withassign  cerr
?cerr@@3Vostream_withassign@@A DATA
; class istream_withassign  cin
?cin@@3Vistream_withassign@@A DATA
; public: void __cdecl ios::clear(int) __ptr64
?clear@ios@@QEAAXH@Z
; class ostream_withassign  clog
?clog@@3Vostream_withassign@@A DATA
; public: class filebuf * __ptr64 __cdecl filebuf::close(void) __ptr64
?close@filebuf@@QEAAPEAV1@XZ
; public: void __cdecl fstream::close(void) __ptr64
?close@fstream@@QEAAXXZ
; public: void __cdecl ifstream::close(void) __ptr64
?close@ifstream@@QEAAXXZ
; public: void __cdecl ofstream::close(void) __ptr64
?close@ofstream@@QEAAXXZ
; public: void __cdecl ios::clrlock(void) __ptr64
?clrlock@ios@@QEAAXXZ
; public: void __cdecl streambuf::clrlock(void) __ptr64
?clrlock@streambuf@@QEAAXXZ
; class ostream_withassign  cout
?cout@@3Vostream_withassign@@A DATA
; public: void __cdecl streambuf::dbp(void) __ptr64
?dbp@streambuf@@QEAAXXZ
; class ios & __ptr64 __cdecl dec(class ios & __ptr64)
?dec@@YAAEAVios@@AEAV1@@Z
; public: void __cdecl ios::delbuf(int) __ptr64
?delbuf@ios@@QEAAXH@Z
; public: int __cdecl ios::delbuf(void)const  __ptr64
?delbuf@ios@@QEBAHXZ
; protected: virtual int __cdecl streambuf::doallocate(void) __ptr64
?doallocate@streambuf@@MEAAHXZ
; protected: virtual int __cdecl strstreambuf::doallocate(void) __ptr64
?doallocate@strstreambuf@@MEAAHXZ
; public: void __cdecl istream::eatwhite(void) __ptr64
?eatwhite@istream@@QEAAXXZ
; protected: char * __ptr64 __cdecl streambuf::eback(void)const  __ptr64
?eback@streambuf@@IEBAPEADXZ
; protected: char * __ptr64 __cdecl streambuf::ebuf(void)const  __ptr64
?ebuf@streambuf@@IEBAPEADXZ
; protected: char * __ptr64 __cdecl streambuf::egptr(void)const  __ptr64
?egptr@streambuf@@IEBAPEADXZ
; class ostream & __ptr64 __cdecl endl(class ostream & __ptr64)
?endl@@YAAEAVostream@@AEAV1@@Z
; class ostream & __ptr64 __cdecl ends(class ostream & __ptr64)
?ends@@YAAEAVostream@@AEAV1@@Z
; public: int __cdecl ios::eof(void)const  __ptr64
?eof@ios@@QEBAHXZ
; protected: char * __ptr64 __cdecl streambuf::epptr(void)const  __ptr64
?epptr@streambuf@@IEBAPEADXZ
; private: static int  ios::fLockcInit
?fLockcInit@ios@@0HA DATA
; public: int __cdecl ios::fail(void)const  __ptr64
?fail@ios@@QEBAHXZ
; public: int __cdecl filebuf::fd(void)const  __ptr64
?fd@filebuf@@QEBAHXZ
; public: int __cdecl fstream::fd(void)const  __ptr64
?fd@fstream@@QEBAHXZ
; public: int __cdecl ifstream::fd(void)const  __ptr64
?fd@ifstream@@QEBAHXZ
; public: int __cdecl ofstream::fd(void)const  __ptr64
?fd@ofstream@@QEBAHXZ
; public: char __cdecl ios::fill(char) __ptr64
?fill@ios@@QEAADD@Z
; public: char __cdecl ios::fill(void)const  __ptr64
?fill@ios@@QEBADXZ
; public: long __cdecl ios::flags(long) __ptr64
?flags@ios@@QEAAJJ@Z
; public: long __cdecl ios::flags(void)const  __ptr64
?flags@ios@@QEBAJXZ
; public: static long const  ios::floatfield
?floatfield@ios@@2JB
; class ostream & __ptr64 __cdecl flush(class ostream & __ptr64)
?flush@@YAAEAVostream@@AEAV1@@Z
; public: class ostream & __ptr64 __cdecl ostream::flush(void) __ptr64
?flush@ostream@@QEAAAEAV1@XZ
; public: void __cdecl strstreambuf::freeze(int) __ptr64
?freeze@strstreambuf@@QEAAXH@Z
; protected: void __cdecl streambuf::gbump(int) __ptr64
?gbump@streambuf@@IEAAXH@Z
; public: int __cdecl istream::gcount(void)const  __ptr64
?gcount@istream@@QEBAHXZ
; protected: class istream & __ptr64 __cdecl istream::get(char * __ptr64,int,int) __ptr64
?get@istream@@IEAAAEAV1@PEADHH@Z
; public: class istream & __ptr64 __cdecl istream::get(signed char & __ptr64) __ptr64
?get@istream@@QEAAAEAV1@AEAC@Z
; public: class istream & __ptr64 __cdecl istream::get(char & __ptr64) __ptr64
?get@istream@@QEAAAEAV1@AEAD@Z
; public: class istream & __ptr64 __cdecl istream::get(unsigned char & __ptr64) __ptr64
?get@istream@@QEAAAEAV1@AEAE@Z
; public: class istream & __ptr64 __cdecl istream::get(class streambuf & __ptr64,char) __ptr64
?get@istream@@QEAAAEAV1@AEAVstreambuf@@D@Z
; public: class istream & __ptr64 __cdecl istream::get(signed char * __ptr64,int,char) __ptr64
?get@istream@@QEAAAEAV1@PEACHD@Z
; public: class istream & __ptr64 __cdecl istream::get(char * __ptr64,int,char) __ptr64
?get@istream@@QEAAAEAV1@PEADHD@Z
; public: class istream & __ptr64 __cdecl istream::get(unsigned char * __ptr64,int,char) __ptr64
?get@istream@@QEAAAEAV1@PEAEHD@Z
; public: int __cdecl istream::get(void) __ptr64
?get@istream@@QEAAHXZ
; private: int __cdecl istream::getdouble(char * __ptr64,int) __ptr64
?getdouble@istream@@AEAAHPEADH@Z
; private: int __cdecl istream::getint(char * __ptr64) __ptr64
?getint@istream@@AEAAHPEAD@Z
; public: class istream & __ptr64 __cdecl istream::getline(signed char * __ptr64,int,char) __ptr64
?getline@istream@@QEAAAEAV1@PEACHD@Z
; public: class istream & __ptr64 __cdecl istream::getline(char * __ptr64,int,char) __ptr64
?getline@istream@@QEAAAEAV1@PEADHD@Z
; public: class istream & __ptr64 __cdecl istream::getline(unsigned char * __ptr64,int,char) __ptr64
?getline@istream@@QEAAAEAV1@PEAEHD@Z
; public: int __cdecl ios::good(void)const  __ptr64
?good@ios@@QEBAHXZ
; protected: char * __ptr64 __cdecl streambuf::gptr(void)const  __ptr64
?gptr@streambuf@@IEBAPEADXZ
; class ios & __ptr64 __cdecl hex(class ios & __ptr64)
?hex@@YAAEAVios@@AEAV1@@Z
; public: class istream & __ptr64 __cdecl istream::ignore(int,int) __ptr64
?ignore@istream@@QEAAAEAV1@HH@Z
; public: int __cdecl streambuf::in_avail(void)const  __ptr64
?in_avail@streambuf@@QEBAHXZ
; protected: void __cdecl ios::init(class streambuf * __ptr64) __ptr64
?init@ios@@IEAAXPEAVstreambuf@@@Z
; public: int __cdecl istream::ipfx(int) __ptr64
?ipfx@istream@@QEAAHH@Z
; public: int __cdecl filebuf::is_open(void)const  __ptr64
?is_open@filebuf@@QEBAHXZ
; public: int __cdecl fstream::is_open(void)const  __ptr64
?is_open@fstream@@QEBAHXZ
; public: int __cdecl ifstream::is_open(void)const  __ptr64
?is_open@ifstream@@QEBAHXZ
; public: int __cdecl ofstream::is_open(void)const  __ptr64
?is_open@ofstream@@QEBAHXZ
; public: void __cdecl istream::isfx(void) __ptr64
?isfx@istream@@QEAAXXZ
; public: long & __ptr64 __cdecl ios::iword(int)const  __ptr64
?iword@ios@@QEBAAEAJH@Z
; public: void __cdecl ios::lock(void) __ptr64
?lock@ios@@QEAAXXZ
; public: void __cdecl streambuf::lock(void) __ptr64
?lock@streambuf@@QEAAXXZ
; public: void __cdecl ios::lockbuf(void) __ptr64
?lockbuf@ios@@QEAAXXZ
; protected: static void __cdecl ios::lockc(void)
?lockc@ios@@KAXXZ
; protected: struct _CRT_CRITICAL_SECTION * __ptr64 __cdecl ios::lockptr(void) __ptr64
?lockptr@ios@@IEAAPEAU_CRT_CRITICAL_SECTION@@XZ
; protected: struct _CRT_CRITICAL_SECTION * __ptr64 __cdecl streambuf::lockptr(void) __ptr64
?lockptr@streambuf@@IEAAPEAU_CRT_CRITICAL_SECTION@@XZ
; class ios & __ptr64 __cdecl oct(class ios & __ptr64)
?oct@@YAAEAVios@@AEAV1@@Z
; public: class filebuf * __ptr64 __cdecl filebuf::open(char const * __ptr64,int,int) __ptr64
?open@filebuf@@QEAAPEAV1@PEBDHH@Z
; public: void __cdecl fstream::open(char const * __ptr64,int,int) __ptr64
?open@fstream@@QEAAXPEBDHH@Z
; public: void __cdecl ifstream::open(char const * __ptr64,int,int) __ptr64
?open@ifstream@@QEAAXPEBDHH@Z
; public: void __cdecl ofstream::open(char const * __ptr64,int,int) __ptr64
?open@ofstream@@QEAAXPEBDHH@Z
; public: static int const  filebuf::openprot
?openprot@filebuf@@2HB
; public: int __cdecl ostream::opfx(void) __ptr64
?opfx@ostream@@QEAAHXZ
; public: void __cdecl ostream::osfx(void) __ptr64
?osfx@ostream@@QEAAXXZ
; public: int __cdecl streambuf::out_waiting(void)const  __ptr64
?out_waiting@streambuf@@QEBAHXZ
; public: virtual int __cdecl filebuf::overflow(int) __ptr64
?overflow@filebuf@@UEAAHH@Z
; public: virtual int __cdecl stdiobuf::overflow(int) __ptr64
?overflow@stdiobuf@@UEAAHH@Z
; public: virtual int __cdecl strstreambuf::overflow(int) __ptr64
?overflow@strstreambuf@@UEAAHH@Z
; public: virtual int __cdecl stdiobuf::pbackfail(int) __ptr64
?pbackfail@stdiobuf@@UEAAHH@Z
; public: virtual int __cdecl streambuf::pbackfail(int) __ptr64
?pbackfail@streambuf@@UEAAHH@Z
; protected: char * __ptr64 __cdecl streambuf::pbase(void)const  __ptr64
?pbase@streambuf@@IEBAPEADXZ
; protected: void __cdecl streambuf::pbump(int) __ptr64
?pbump@streambuf@@IEAAXH@Z
; public: int __cdecl ostrstream::pcount(void)const  __ptr64
?pcount@ostrstream@@QEBAHXZ
; public: int __cdecl strstream::pcount(void)const  __ptr64
?pcount@strstream@@QEBAHXZ
; public: int __cdecl istream::peek(void) __ptr64
?peek@istream@@QEAAHXZ
; protected: char * __ptr64 __cdecl streambuf::pptr(void)const  __ptr64
?pptr@streambuf@@IEBAPEADXZ
; public: int __cdecl ios::precision(int) __ptr64
?precision@ios@@QEAAHH@Z
; public: int __cdecl ios::precision(void)const  __ptr64
?precision@ios@@QEBAHXZ
; public: class ostream & __ptr64 __cdecl ostream::put(signed char) __ptr64
?put@ostream@@QEAAAEAV1@C@Z
; public: class ostream & __ptr64 __cdecl ostream::put(char) __ptr64
?put@ostream@@QEAAAEAV1@D@Z
; public: class ostream & __ptr64 __cdecl ostream::put(unsigned char) __ptr64
?put@ostream@@QEAAAEAV1@E@Z
; public: class istream & __ptr64 __cdecl istream::putback(char) __ptr64
?putback@istream@@QEAAAEAV1@D@Z
; public: void * __ptr64 & __ptr64 __cdecl ios::pword(int)const  __ptr64
?pword@ios@@QEBAAEAPEAXH@Z
; public: class filebuf * __ptr64 __cdecl fstream::rdbuf(void)const  __ptr64
?rdbuf@fstream@@QEBAPEAVfilebuf@@XZ
; public: class filebuf * __ptr64 __cdecl ifstream::rdbuf(void)const  __ptr64
?rdbuf@ifstream@@QEBAPEAVfilebuf@@XZ
; public: class streambuf * __ptr64 __cdecl ios::rdbuf(void)const  __ptr64
?rdbuf@ios@@QEBAPEAVstreambuf@@XZ
; public: class strstreambuf * __ptr64 __cdecl istrstream::rdbuf(void)const  __ptr64
?rdbuf@istrstream@@QEBAPEAVstrstreambuf@@XZ
; public: class filebuf * __ptr64 __cdecl ofstream::rdbuf(void)const  __ptr64
?rdbuf@ofstream@@QEBAPEAVfilebuf@@XZ
; public: class strstreambuf * __ptr64 __cdecl ostrstream::rdbuf(void)const  __ptr64
?rdbuf@ostrstream@@QEBAPEAVstrstreambuf@@XZ
; public: class stdiobuf * __ptr64 __cdecl stdiostream::rdbuf(void)const  __ptr64
?rdbuf@stdiostream@@QEBAPEAVstdiobuf@@XZ
; public: class strstreambuf * __ptr64 __cdecl strstream::rdbuf(void)const  __ptr64
?rdbuf@strstream@@QEBAPEAVstrstreambuf@@XZ
; public: int __cdecl ios::rdstate(void)const  __ptr64
?rdstate@ios@@QEBAHXZ
; public: class istream & __ptr64 __cdecl istream::read(signed char * __ptr64,int) __ptr64
?read@istream@@QEAAAEAV1@PEACH@Z
; public: class istream & __ptr64 __cdecl istream::read(char * __ptr64,int) __ptr64
?read@istream@@QEAAAEAV1@PEADH@Z
; public: class istream & __ptr64 __cdecl istream::read(unsigned char * __ptr64,int) __ptr64
?read@istream@@QEAAAEAV1@PEAEH@Z
; public: int __cdecl streambuf::sbumpc(void) __ptr64
?sbumpc@streambuf@@QEAAHXZ
; public: class istream & __ptr64 __cdecl istream::seekg(long) __ptr64
?seekg@istream@@QEAAAEAV1@J@Z
; public: class istream & __ptr64 __cdecl istream::seekg(long,enum ios::seek_dir) __ptr64
?seekg@istream@@QEAAAEAV1@JW4seek_dir@ios@@@Z
; public: virtual long __cdecl filebuf::seekoff(long,enum ios::seek_dir,int) __ptr64
?seekoff@filebuf@@UEAAJJW4seek_dir@ios@@H@Z
; public: virtual long __cdecl stdiobuf::seekoff(long,enum ios::seek_dir,int) __ptr64
?seekoff@stdiobuf@@UEAAJJW4seek_dir@ios@@H@Z
; public: virtual long __cdecl streambuf::seekoff(long,enum ios::seek_dir,int) __ptr64
?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z
; public: virtual long __cdecl strstreambuf::seekoff(long,enum ios::seek_dir,int) __ptr64
?seekoff@strstreambuf@@UEAAJJW4seek_dir@ios@@H@Z
; public: class ostream & __ptr64 __cdecl ostream::seekp(long) __ptr64
?seekp@ostream@@QEAAAEAV1@J@Z
; public: class ostream & __ptr64 __cdecl ostream::seekp(long,enum ios::seek_dir) __ptr64
?seekp@ostream@@QEAAAEAV1@JW4seek_dir@ios@@@Z
; public: virtual long __cdecl streambuf::seekpos(long,int) __ptr64
?seekpos@streambuf@@UEAAJJH@Z
; protected: void __cdecl streambuf::setb(char * __ptr64,char * __ptr64,int) __ptr64
?setb@streambuf@@IEAAXPEAD0H@Z
; public: virtual class streambuf * __ptr64 __cdecl filebuf::setbuf(char * __ptr64,int) __ptr64
?setbuf@filebuf@@UEAAPEAVstreambuf@@PEADH@Z
; public: class streambuf * __ptr64 __cdecl fstream::setbuf(char * __ptr64,int) __ptr64
?setbuf@fstream@@QEAAPEAVstreambuf@@PEADH@Z
; public: class streambuf * __ptr64 __cdecl ifstream::setbuf(char * __ptr64,int) __ptr64
?setbuf@ifstream@@QEAAPEAVstreambuf@@PEADH@Z
; public: class streambuf * __ptr64 __cdecl ofstream::setbuf(char * __ptr64,int) __ptr64
?setbuf@ofstream@@QEAAPEAVstreambuf@@PEADH@Z
; public: virtual class streambuf * __ptr64 __cdecl streambuf::setbuf(char * __ptr64,int) __ptr64
?setbuf@streambuf@@UEAAPEAV1@PEADH@Z
; public: virtual class streambuf * __ptr64 __cdecl strstreambuf::setbuf(char * __ptr64,int) __ptr64
?setbuf@strstreambuf@@UEAAPEAVstreambuf@@PEADH@Z
; public: long __cdecl ios::setf(long) __ptr64
?setf@ios@@QEAAJJ@Z
; public: long __cdecl ios::setf(long,long) __ptr64
?setf@ios@@QEAAJJJ@Z
; protected: void __cdecl streambuf::setg(char * __ptr64,char * __ptr64,char * __ptr64) __ptr64
?setg@streambuf@@IEAAXPEAD00@Z
; public: void __cdecl ios::setlock(void) __ptr64
?setlock@ios@@QEAAXXZ
; public: void __cdecl streambuf::setlock(void) __ptr64
?setlock@streambuf@@QEAAXXZ
; public: int __cdecl filebuf::setmode(int) __ptr64
?setmode@filebuf@@QEAAHH@Z
; public: int __cdecl fstream::setmode(int) __ptr64
?setmode@fstream@@QEAAHH@Z
; public: int __cdecl ifstream::setmode(int) __ptr64
?setmode@ifstream@@QEAAHH@Z
; public: int __cdecl ofstream::setmode(int) __ptr64
?setmode@ofstream@@QEAAHH@Z
; protected: void __cdecl streambuf::setp(char * __ptr64,char * __ptr64) __ptr64
?setp@streambuf@@IEAAXPEAD0@Z
; public: int __cdecl stdiobuf::setrwbuf(int,int) __ptr64
?setrwbuf@stdiobuf@@QEAAHHH@Z
; public: int __cdecl streambuf::sgetc(void) __ptr64
?sgetc@streambuf@@QEAAHXZ
; public: int __cdecl streambuf::sgetn(char * __ptr64,int) __ptr64
?sgetn@streambuf@@QEAAHPEADH@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 __cdecl streambuf::snextc(void) __ptr64
?snextc@streambuf@@QEAAHXZ
; public: int __cdecl streambuf::sputbackc(char) __ptr64
?sputbackc@streambuf@@QEAAHD@Z
; public: int __cdecl streambuf::sputc(int) __ptr64
?sputc@streambuf@@QEAAHH@Z
; public: int __cdecl streambuf::sputn(char const * __ptr64,int) __ptr64
?sputn@streambuf@@QEAAHPEBDH@Z
; public: struct _iobuf * __ptr64 __cdecl stdiobuf::stdiofile(void) __ptr64
?stdiofile@stdiobuf@@QEAAPEAU_iobuf@@XZ
; public: void __cdecl streambuf::stossc(void) __ptr64
?stossc@streambuf@@QEAAXXZ
; public: char * __ptr64 __cdecl istrstream::str(void) __ptr64
?str@istrstream@@QEAAPEADXZ
; public: char * __ptr64 __cdecl ostrstream::str(void) __ptr64
?str@ostrstream@@QEAAPEADXZ
; public: char * __ptr64 __cdecl strstream::str(void) __ptr64
?str@strstream@@QEAAPEADXZ
; public: char * __ptr64 __cdecl strstreambuf::str(void) __ptr64
?str@strstreambuf@@QEAAPEADXZ
; private: static int  ios::sunk_with_stdio
?sunk_with_stdio@ios@@0HA DATA
; public: virtual int __cdecl filebuf::sync(void) __ptr64
?sync@filebuf@@UEAAHXZ
; public: int __cdecl istream::sync(void) __ptr64
?sync@istream@@QEAAHXZ
; public: virtual int __cdecl stdiobuf::sync(void) __ptr64
?sync@stdiobuf@@UEAAHXZ
; public: virtual int __cdecl streambuf::sync(void) __ptr64
?sync@streambuf@@UEAAHXZ
; public: virtual int __cdecl strstreambuf::sync(void) __ptr64
?sync@strstreambuf@@UEAAHXZ
; public: static void __cdecl ios::sync_with_stdio(void)
?sync_with_stdio@ios@@SAXXZ
; public: long __cdecl istream::tellg(void) __ptr64
?tellg@istream@@QEAAJXZ
; public: long __cdecl ostream::tellp(void) __ptr64
?tellp@ostream@@QEAAJXZ
; public: static int const  filebuf::text
?text@filebuf@@2HB
; public: class ostream * __ptr64 __cdecl ios::tie(class ostream * __ptr64) __ptr64
?tie@ios@@QEAAPEAVostream@@PEAV2@@Z
; public: class ostream * __ptr64 __cdecl ios::tie(void)const  __ptr64
?tie@ios@@QEBAPEAVostream@@XZ
; protected: void __cdecl streambuf::unbuffered(int) __ptr64
?unbuffered@streambuf@@IEAAXH@Z
; protected: int __cdecl streambuf::unbuffered(void)const  __ptr64
?unbuffered@streambuf@@IEBAHXZ
; public: virtual int __cdecl filebuf::underflow(void) __ptr64
?underflow@filebuf@@UEAAHXZ
; public: virtual int __cdecl stdiobuf::underflow(void) __ptr64
?underflow@stdiobuf@@UEAAHXZ
; public: virtual int __cdecl strstreambuf::underflow(void) __ptr64
?underflow@strstreambuf@@UEAAHXZ
; public: void __cdecl ios::unlock(void) __ptr64
?unlock@ios@@QEAAXXZ
; public: void __cdecl streambuf::unlock(void) __ptr64
?unlock@streambuf@@QEAAXXZ
; public: void __cdecl ios::unlockbuf(void) __ptr64
?unlockbuf@ios@@QEAAXXZ
; protected: static void __cdecl ios::unlockc(void)
?unlockc@ios@@KAXXZ
; public: long __cdecl ios::unsetf(long) __ptr64
?unsetf@ios@@QEAAJJ@Z
; public: virtual char const * __ptr64 __cdecl exception::what(void)const  __ptr64
?what@exception@@UEBAPEBDXZ
; public: int __cdecl ios::width(int) __ptr64
?width@ios@@QEAAHH@Z
; public: int __cdecl ios::width(void)const  __ptr64
?width@ios@@QEBAHXZ
; public: class ostream & __ptr64 __cdecl ostream::write(signed char const * __ptr64,int) __ptr64
?write@ostream@@QEAAAEAV1@PEBCH@Z
; public: class ostream & __ptr64 __cdecl ostream::write(char const * __ptr64,int) __ptr64
?write@ostream@@QEAAAEAV1@PEBDH@Z
; public: class ostream & __ptr64 __cdecl ostream::write(unsigned char const * __ptr64,int) __ptr64
?write@ostream@@QEAAAEAV1@PEBEH@Z
; private: class ostream & __ptr64 __cdecl ostream::writepad(char const * __ptr64,char const * __ptr64) __ptr64
?writepad@ostream@@AEAAAEAV1@PEBD0@Z
; class istream & __ptr64 __cdecl ws(class istream & __ptr64)
?ws@@YAAEAVistream@@AEAV1@@Z
; private: static int  ios::x_curindex
?x_curindex@ios@@0HA DATA
; private: static struct _CRT_CRITICAL_SECTION  ios::x_lockc
?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A DATA
; private: static long  ios::x_maxbit
?x_maxbit@ios@@0JA DATA
; private: static long *  ios::x_statebuf
?x_statebuf@ios@@0PAJA DATA
; public: static int __cdecl ios::xalloc(void)
?xalloc@ios@@SAHXZ
; public: virtual int __cdecl streambuf::xsgetn(char * __ptr64,int) __ptr64
?xsgetn@streambuf@@UEAAHPEADH@Z
; public: virtual int __cdecl streambuf::xsputn(char const * __ptr64,int) __ptr64
?xsputn@streambuf@@UEAAHPEBDH@Z
__dummy_export DATA
_mtlock
_mtunlock
