61 lines
1.5 KiB
Plaintext
61 lines
1.5 KiB
Plaintext
//Embedded C++ Library
|
|
//Copyright (c) Hitachi,Ltd. 1997
|
|
//Licensed material of Hitachi,Ltd
|
|
|
|
//
|
|
// Embeded C++ Library Header <iomanip>
|
|
//
|
|
|
|
//====================================================================
|
|
// File: iomanip
|
|
// Purpose: Definition of class iomanip
|
|
// Create: 1997.09.20 Rev. 1.0
|
|
//====================================================================
|
|
|
|
#ifndef _IOMANIP_
|
|
#define _IOMANIP_
|
|
|
|
#include <istream>
|
|
#include <ostream>
|
|
|
|
//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
|