//Embedded C++ Library //Copyright (c) Hitachi,Ltd. 1997 //Licensed material of Hitachi,Ltd // // Embeded C++ Library Header // //==================================================================== // File: iomanip // Purpose: Definition of class iomanip // Create: 1997.09.20 Rev. 1.0 //==================================================================== #ifndef _IOMANIP_ #define _IOMANIP_ #include #include //Class class smanip{ private: union{ int val_i; char val_c; ios_base::fmtflags val_f; }; union{ ios_base& (*pfi)(ios_base&,int); ios_base& (*pfc)(ios_base&,char); ios_base& (*pff)(ios_base&,ios_base::fmtflags); }; enum _ec2p_smanip_t{ _ec2p_smanip_i,_ec2p_smanip_c ,_ec2p_smanip_f }_ec2p_smanip_data; public: smanip(ios_base& (*pf)(ios_base&,int),int arg) :pfi(pf),val_i(arg),_ec2p_smanip_data(_ec2p_smanip_i){} smanip(ios_base& (*pf)(ios_base&,char),char arg) :pfc(pf),val_c(arg),_ec2p_smanip_data(_ec2p_smanip_c){} smanip(ios_base& (*pf)(ios_base&,ios_base::fmtflags),ios_base::fmtflags arg) :pff(pf),val_f(arg),_ec2p_smanip_data(_ec2p_smanip_f){} friend ostream& operator << (ostream&,smanip); friend istream& operator >> (istream&,smanip); }; //Manipulators smanip resetiosflags(ios_base::fmtflags); smanip setiosflags(ios_base::fmtflags); smanip setbase(int); smanip setfill(char); smanip setprecision(int); smanip setw(int); #endif