⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iomanip.h

📁 早期freebsd实现
💻 H
字号:
//    -*- C++ -*-//    This is part of the iostream library, providing parametrized manipulators//    Written by Heinz G. Seidl, Copyright (C) 1992 Cygnus Support////    This library is free software; you can redistribute it and/or//    modify it under the terms of the GNU Library General Public//    License as published by the Free Software Foundation; either//    version 2 of the License, or (at your option) any later version.////    This library is distributed in the hope that it will be useful,//    but WITHOUT ANY WARRANTY; without even the implied warranty of//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU//    Library General Public License for more details.////    You should have received a copy of the GNU Library General Public//    License along with this library; if not, write to the Free//    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.#ifndef _IOMANIP_H//// Not specifying `pragma interface' causes the compiler to emit the // template definitions in the files, where they are used.////#ifdef __GNUG__//#pragma interface//#endif#define _IOMANIP_H#include <_G_config.h>#ifndef _G_NO_TEMPLATES#include <iostream.h>//-----------------------------------------------------------------------------//	Parametrized Manipulators as specified by ANSI draft//-----------------------------------------------------------------------------//-----------------------------------------------------------------------------//	Stream Manipulators//-----------------------------------------------------------------------------//template<class TP> class smanip; // TP = Type Paramtemplate<class TP> class sapp {    ios& (*_f)(ios&, TP);public:     sapp(ios& (*f)(ios&, TP)) : _f(f) {}    //    smanip<TP> operator()(TP a)       { return smanip<TP>(_f, a); }};template <class TP> class smanip {    ios& (*_f)(ios&, TP);    TP _a;public:    smanip(ios& (*f)(ios&, TP), TP a) : _f(f), _a(a) {}    //    friend       istream& operator>>(istream& i, const smanip<TP>& m);    friend      ostream& operator<<(ostream& o, const smanip<TP>& m);};template<class TP>inline istream& operator>>(istream& i, const smanip<TP>& m)	{ m._f(i, m._a); return i; }template<class TP>inline ostream& operator<<(ostream& o, const smanip<TP>& m)	{ m._f(o, m._a); return o;}//-----------------------------------------------------------------------------//	Input-Stream Manipulators//-----------------------------------------------------------------------------//template<class TP> class imanip; template<class TP> class iapp {    istream& (*_f)(istream&, TP);public:     iapp(ostream& (*f)(istream&,TP)) : _f(f) {}    //    imanip<TP> operator()(TP a)       { return imanip<TP>(_f, a); }};template <class TP> class imanip {    istream& (*_f)(istream&, TP);    TP _a;public:    imanip(istream& (*f)(istream&, TP), TP a) : _f(f), _a(a) {}    //    friend       istream& operator>>(istream& i, const imanip<TP>& m)	{ return m._f( i, m._a); }};//-----------------------------------------------------------------------------//	Output-Stream Manipulators//-----------------------------------------------------------------------------//template<class TP> class omanip; template<class TP> class oapp {    ostream& (*_f)(ostream&, TP);public:     oapp(ostream& (*f)(ostream&,TP)) : _f(f) {}    //    omanip<TP> operator()(TP a)      { return omanip<TP>(_f, a); }};template <class TP> class omanip {    ostream& (*_f)(ostream&, TP);    TP _a;public:    omanip(ostream& (*f)(ostream&, TP), TP a) : _f(f), _a(a) {}    //    friend      ostream& operator>>(ostream& i, imanip<TP>& m)	{ return (ostream&) m._f( i, m._a); }};//-----------------------------------------------------------------------------//	Available Manipulators//-----------------------------------------------------------------------------//// Macro to define an iomanip function, with one argument// The underlying function is `__iomanip_<name>' //#define __DEFINE_IOMANIP_FN1(type,param,function)         \	extern ios& __iomanip_##function (ios&, param); \	inline type<param> function (param n)           \		        { return type<param> (__iomanip_##function, n); }__DEFINE_IOMANIP_FN1( smanip, int, setbase)__DEFINE_IOMANIP_FN1( smanip, int, setfill)__DEFINE_IOMANIP_FN1( smanip, int, setprecision)__DEFINE_IOMANIP_FN1( smanip, int, setw)__DEFINE_IOMANIP_FN1( smanip, ios::fmtflags, resetiosflags)__DEFINE_IOMANIP_FN1( smanip, ios::fmtflags, setiosflags)#endif /*!_G_NO_TEMPLATES*/#endif /*!_IOMANIP_H*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -