mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
#ifndef _STREAM_XXX
|
|
#define _STREAM_XXX 1
|
|
|
|
struct Wsp { };
|
|
|
|
char* oct(long n, int l =0);
|
|
char* hex(long n, int l =0);
|
|
char* dec(long n, int l =0);
|
|
char* chr(int n, int l =0); // chr(0) is the empty string ""
|
|
char* str(const char* n, int l =0);
|
|
char* form(const char* format, ...);
|
|
|
|
class ostream {
|
|
void* bp;
|
|
short state;
|
|
public:
|
|
int operator!();
|
|
ostream& operator<<(char* n);
|
|
ostream& operator<<(int a);
|
|
ostream& operator<<(long n); // beware: << 'a' writes 97
|
|
ostream& operator<<(double n);
|
|
ostream& operator<<(const Wsp&); // I can't see a use for this
|
|
ostream& put(char n); // put('a') writes a
|
|
int eof();
|
|
int fail();
|
|
int bad();
|
|
int good();
|
|
};
|
|
|
|
class istream {
|
|
void* bp;
|
|
ostream* tied_to;
|
|
char skipws; // if non-null, automaticly skip whitespace
|
|
short state;
|
|
public:
|
|
int skip(int i);
|
|
int operator!();
|
|
|
|
// formatted input: >> skip whitespace
|
|
istream& operator>>(char* n);
|
|
istream& operator>>(char& n);
|
|
istream& operator>>(int& n);
|
|
istream& operator>>(long& n);
|
|
istream& operator>>(float& n);
|
|
istream& operator>>(double& n);
|
|
|
|
// raw input: get's do not skip whitespace
|
|
istream& get(char& c); // single character
|
|
int eof();
|
|
int fail();
|
|
int bad();
|
|
int good();
|
|
};
|
|
extern istream cin; // standard input predefined
|
|
extern ostream cout; // standard output
|
|
extern ostream cerr; // error output
|
|
|
|
extern Wsp WS; // predefined white space
|
|
#endif
|
|
|
|
|