Add windows libs
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
// iomanip standard header
|
||||
#pragma once
|
||||
#ifndef _IOMANIP_
|
||||
#define _IOMANIP_
|
||||
#include <istream>
|
||||
|
||||
#pragma pack(push,8)
|
||||
#pragma warning(push,3)
|
||||
_STD_BEGIN
|
||||
|
||||
// TEMPLATE STRUCT _Fillobj
|
||||
template<class _Elem>
|
||||
struct _Fillobj
|
||||
{ // store fill character
|
||||
_Fillobj(_Elem _Ch)
|
||||
: _Fill(_Ch)
|
||||
{ // construct from fill character
|
||||
}
|
||||
|
||||
_Elem _Fill; // the fill character
|
||||
};
|
||||
|
||||
// TEMPLATE FUNCTION setfill
|
||||
template<class _Elem> inline
|
||||
_Fillobj<_Elem> __cdecl setfill(_Elem _Ch)
|
||||
{ // return a _Fillobj manipulator
|
||||
return (_Fillobj<_Elem>(_Ch));
|
||||
}
|
||||
|
||||
template<class _Elem, class _Traits> inline
|
||||
basic_istream<_Elem, _Traits>&
|
||||
__cdecl operator>>(basic_istream<_Elem, _Traits>& _Istr,
|
||||
const _Fillobj<_Elem>& _Manip)
|
||||
{ // set fill character in input stream
|
||||
_Istr.fill(_Manip._Fill);
|
||||
return (_Istr);
|
||||
}
|
||||
|
||||
template<class _Elem, class _Traits> inline
|
||||
basic_ostream<_Elem, _Traits>&
|
||||
__cdecl operator<<(basic_ostream<_Elem, _Traits>& _Ostr,
|
||||
const _Fillobj<_Elem>& _Manip)
|
||||
{ // set fill character in output stream
|
||||
_Ostr.fill(_Manip._Fill);
|
||||
return (_Ostr);
|
||||
}
|
||||
|
||||
// TEMPLATE STRUCT _Smanip
|
||||
template<class _Arg>
|
||||
struct _Smanip
|
||||
{ // store function pointer and argument value
|
||||
_Smanip(void (__cdecl *_Left)(ios_base&, _Arg), _Arg _Val)
|
||||
: _Pfun(_Left), _Manarg(_Val)
|
||||
{ // construct from function pointer and argument value
|
||||
}
|
||||
|
||||
void (__cdecl *_Pfun)(ios_base&, _Arg); // the function pointer
|
||||
_Arg _Manarg; // the argument value
|
||||
};
|
||||
|
||||
template<class _Elem, class _Traits, class _Arg> inline
|
||||
basic_istream<_Elem, _Traits>& __cdecl operator>>(
|
||||
basic_istream<_Elem, _Traits>& _Istr, const _Smanip<_Arg>& _Manip)
|
||||
{ // extract by calling function with input stream and argument
|
||||
(*_Manip._Pfun)(_Istr, _Manip._Manarg);
|
||||
return (_Istr);
|
||||
}
|
||||
|
||||
template<class _Elem, class _Traits, class _Arg> inline
|
||||
basic_ostream<_Elem, _Traits>& __cdecl operator<<(
|
||||
basic_ostream<_Elem, _Traits>& _Ostr, const _Smanip<_Arg>& _Manip)
|
||||
{ // insert by calling function with output stream and argument
|
||||
(*_Manip._Pfun)(_Ostr, _Manip._Manarg);
|
||||
return (_Ostr);
|
||||
}
|
||||
|
||||
// INSTANTIATIONS
|
||||
_CRTIMP2 _Smanip<ios_base::fmtflags> __cdecl resetiosflags(ios_base::fmtflags);
|
||||
_CRTIMP2 _Smanip<ios_base::fmtflags> __cdecl setiosflags(ios_base::fmtflags);
|
||||
_CRTIMP2 _Smanip<int> __cdecl setbase(int);
|
||||
_CRTIMP2 _Smanip<streamsize> __cdecl setprecision(streamsize);
|
||||
_CRTIMP2 _Smanip<streamsize> __cdecl setw(streamsize);
|
||||
_STD_END
|
||||
#pragma warning(pop)
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* _IOMANIP_ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1992-2002 by P.J. Plauger. ALL RIGHTS RESERVED.
|
||||
* Consult your license regarding permissions and restrictions.
|
||||
V3.13:0009 */
|
Reference in New Issue
Block a user