Sound4Calc/include/ostream

88 lines
2.5 KiB
Plaintext

//Embedded C++ Library
//Copyright (c) Hitachi,Ltd. 1997
//Licensed material of Hitachi,Ltd
//====================================================================
// File: ostream
// Purpose: Definition of class ostream
// Create: 1997.09.20 Rev. 1.0
//====================================================================
#ifndef _OSTREAM_
#define _OSTREAM_
#include <streambuf>
class ostream : public ios {
public:
// Types (inherited from ios):
// typedef INT_T int_type;
// typedef POS_T pos_type;
// typedef OFF_T off_type;
ostream(streambuf *sbptr) : ios(sbptr){}
virtual ~ostream(){}
class sentry; // Prefix/Suffix
ostream& operator <<(ostream& (*pf)(ostream&)){
return (*pf)(*this); }
ostream& operator <<(ios& (*pf)(ios&)){
(*pf)(*(ios*)this); return *this; }
ostream& operator<< (ios_base& (*pf)(ios_base&)){
(*pf)(*(ios*)this); return *this; }
ostream & operator <<(bool n){
*this<<(int)n; return *this; }
ostream & operator <<(short);
ostream & operator <<(unsigned short);
ostream & operator <<(int);
ostream & operator <<(unsigned int);
ostream & operator <<(long);
ostream & operator <<(unsigned long);
ostream & operator <<(float);
ostream & operator <<(double);
ostream & operator <<(long double);
ostream & operator <<(void *);
ostream & operator <<(streambuf *);
ostream & put(char);
ostream & write(const char *, streamsize);
ostream & write(const signed char *, streamsize);
ostream & write(const unsigned char *, streamsize);
ostream & flush();
pos_type tellp();
ostream& seekp( pos_type );
ostream& seekp( off_type , ios_base::seekdir );
int _ec2p_strput(const char*);
private:
void _ec2p_IntPrint(const char*, short);
void _ec2p_FloatPrint(const char*, short);
void _ec2p_DataPut(const char*, int, int, int, int);
void _ec2p_int_fmtparam(const char*, char*);
void _ec2p_flt_fmtparam(const char*, char*);
};
// Class ostream::sentry
class ostream::sentry {
public:
sentry(ostream& os);
~sentry();
operator bool() { return ok_; }
private:
bool ok_;
ostream* __ec2p_os;
};
// character inserters
ostream& operator<<(ostream&, char);
ostream& operator<<(ostream&, const char*);
// signed and unsigned
ostream& operator<<(ostream&, signed char);
ostream& operator<<(ostream&, unsigned char);
// signed and unsigned
ostream& operator<<(ostream&, const signed char*);
ostream& operator<<(ostream&, const unsigned char*);
ostream & endl( ostream & );
ostream & ends( ostream & );
ostream & flush( ostream & );
#endif