/////////////////////////////////////////////////////////////////////////// // FILE: iomanip/iomanip.h (manipulators with parameters) // // ========================================================================= // // Open Watcom Project // // Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved. // Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. // // This file is automatically generated. Do not edit directly. // // ========================================================================= // // Description: This header is part of the C++ standard library. It // defines the standard manipulators with parameters. /////////////////////////////////////////////////////////////////////////// #ifndef _IOMANIP_INCLUDED #define _IOMANIP_INCLUDED #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #ifndef __cplusplus #error This header file requires C++ #endif #ifndef _COMDEF_H_INCLUDED #include <_comdef.h> #endif #ifndef _IOSTREAM_INCLUDED #include #endif #ifdef _M_IX86 #pragma pack( __push, 1 ) #else #pragma pack( __push, 8 ) #endif template class _WPRTLINK smanip; template class _WPRTLINK sapp { public: sapp( std::ios &(*__f)( std::ios &, T ) ) : __fn( __f ) {}; smanip operator()( T __p ) { return smanip( __fn, __p ); }; private: std::ios &(*__fn)( std::ios &, T ); }; template class _WPRTLINK smanip { public: smanip( std::ios &(*__f)( std::ios &, T ), T __p ) : __fn( __f ), __parm( __p ) {}; template< class T > friend _WPRTLINK std::istream &operator>>( std::istream &, const smanip & ); template< class T > friend _WPRTLINK std::ostream &operator<<( std::ostream &, const smanip & ); private: std::ios &(*__fn)( std::ios &, T ); T __parm; }; template _WPRTLINK std::istream &operator>>( std::istream &__is, const smanip &__sm ) { __sm.__fn( __is, __sm.__parm ); return( __is ); } template _WPRTLINK std::ostream &operator<<( std::ostream &__os, const smanip &__sm ) { __sm.__fn( __os, __sm.__parm ); return( __os ); } template class _WPRTLINK imanip; template class _WPRTLINK iapp { public: iapp( std::istream &(*__f)( std::istream &, T ) ) : __fn( __f ) {}; imanip operator()( T __p ) { return imanip( __fn, __p ) }; private: std::istream &(*__fn)( std::istream &, T ); }; template class _WPRTLINK imanip { public: imanip( std::istream &(*__f)( std::istream &, T ), T __p ) : __fn( __f ), __parm( __p ) {}; template< class T > friend _WPRTLINK std::istream &operator>>( std::istream &, const imanip & ); private: std::istream &(*__fn)( std::istream &, T ); T __parm; }; template _WPRTLINK std::istream &operator>>( std::istream &__is, const imanip &__im ) { __im.__fn( __is, __im.__parm ); return( __is ); } template class _WPRTLINK omanip; template class _WPRTLINK oapp { public: oapp( std::ostream &(*__f)( std::ostream &, T ) ) : __fn( __f ) {} ; omanip operator()( T __p ) { return omanip( __fn, __p ); }; private: std::ostream &(*__fn)( std::ostream &, T ); }; template class _WPRTLINK omanip { public: omanip( std::ostream &(*__f)( std::ostream &, T ), T __p ) : __fn( __f ), __parm( __p ) {}; template< class T > friend _WPRTLINK std::ostream &operator<<( std::ostream &, const omanip & ); private: std::ostream &(*__fn)( std::ostream &, T ); T __parm; }; template _WPRTLINK std::ostream &operator<<( std::ostream &__os, const omanip &__om ) { __om.__fn( __os, __om.__parm ); return( __os ); } template class _WPRTLINK iomanip; template class _WPRTLINK ioapp { public: ioapp( std::iostream &(*__f)( std::iostream &, T ) ) : __fn( __f ) {}; iomanip operator()( T __p ) { return iomanip( __fn, __p ) }; private: std::iostream &(*__fn)( std::iostream &, T ); }; template class _WPRTLINK iomanip { public: iomanip( std::iostream &(*__f)( std::iostream &, T ), T __p ) : __fn( __f ), __parm( __p ) {}; template< class T > friend _WPRTLINK std::iostream &operator>>( std::iostream &, const iomanip & ); private: std::iostream &(*__fn)( std::iostream &, T ); T __parm; }; template _WPRTLINK std::iostream &operator>>( std::iostream &__is, const iomanip &__im ) { __im.__fn( __is, __im.__parm ); return( __is ); } #pragma pack( __pop ) // applicator objects namespace std { _WPRTLINK extern sapp _WCDATA resetiosflags; _WPRTLINK extern sapp _WCDATA setbase; _WPRTLINK extern sapp _WCDATA setfill; _WPRTLINK extern sapp _WCDATA setiosflags; _WPRTLINK extern sapp _WCDATA setprecision; _WPRTLINK extern sapp _WCDATA setw; } // define some compatibility macros for legacy code #define SMANIP(__Typ) smanip<__Typ> #define SAPP(__Typ) sapp<__Typ> #define IMANIP(__Typ) imanip<__Typ> #define IAPP(__Typ) iapp<__Typ> #define OMANIP(__Typ) omanip<__Typ> #define OAPP(__Typ) oapp<__Typ> #define IOMANIP(__Typ) iomanip<__Typ> #define IOAPP(__Typ) ioapp<__Typ> #define SMANIP_define(__Typ) #define IOMANIPdeclare(__Typ) #endif