|
|
researchv9-SUN3(old)
#ifndef FORMAT_H
#define FORMAT_H
#ifndef UNIV_H
#include "univ.h"
#endif
#define F_EXT8 0x000001
#define F_EXT16 0x000002
#define F_MASK8 0x000004
#define F_MASK16 0x000008
#define F_HEX 0x000010
#define F_DECIMAL 0x000020
#define F_SIGNED 0x000040
#define F_OCTAL 0x000080
#define F_ASCII 0x000100
#define F_FLOAT 0x000200
#define F_DOUBLE 0x000400
#define F_DBLHEX 0x000800
#define F_SHORTSTRING 0x001000
#define F_LONGSTRING 0x002000
#define F_SYMBOLIC 0x004000
#define F_ENUM 0x008000
#define F_UTYPE 0x010000
#define F_ARY 0x020000
#define F_NONE 0x040000
#define F_TURNOFF 0x080000
#define F_TIME 0x100000
#define F_STRING (F_SHORTSTRING|F_LONGSTRING)
#define F_MASKEXT8 (F_MASK8|F_EXT8)
#define F_MASKEXT16 (F_MASK16|F_EXT16)
#define F_MASKEXT816 (F_MASKEXT8|F_MASKEXT16)
#define F_HOAD (F_HEX|F_OCTAL|F_ASCII|F_DECIMAL)
#define TBLS 250
class Bls {
char *p;
public:
char text[TBLS+1];
int clear() { *(p=text) = 0; return 1;} // cfront bug
Bls() { clear(); }
Bls(char* ...);
Bls(Bls&);
char *af(char* ...);
};
class Format {
class SymTab *stab;
Bls accum;
char *sep;
void grow(char*);
void grow(char*, long);
void grow(char*, double);
void growtime(long);
public:
char *f(long, double=0.0);
Format(long=0, SymTab* =0);
long format;
};
char *FmtByte(int), *FmtName(int);
#endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.