|
|
1.1 root 1: #ifndef FORMAT_H
2: #define FORMAT_H
3: #ifndef UNIV_H
4: #include "univ.h"
5: #endif
6:
7: #define F_EXT8 0x000001
8: #define F_EXT16 0x000002
9: #define F_MASK8 0x000004
10: #define F_MASK16 0x000008
11: #define F_HEX 0x000010
12: #define F_DECIMAL 0x000020
13: #define F_SIGNED 0x000040
14: #define F_OCTAL 0x000080
15: #define F_ASCII 0x000100
16: #define F_FLOAT 0x000200
17: #define F_DOUBLE 0x000400
18: #define F_DBLHEX 0x000800
19: #define F_SHORTSTRING 0x001000
20: #define F_LONGSTRING 0x002000
21: #define F_SYMBOLIC 0x004000
22: #define F_ENUM 0x008000
23: #define F_UTYPE 0x010000
24: #define F_ARY 0x020000
25: #define F_NONE 0x040000
26: #define F_TURNOFF 0x080000
27: #define F_TIME 0x100000
28:
29: #define F_STRING (F_SHORTSTRING|F_LONGSTRING)
30: #define F_MASKEXT8 (F_MASK8|F_EXT8)
31: #define F_MASKEXT16 (F_MASK16|F_EXT16)
32: #define F_MASKEXT816 (F_MASKEXT8|F_MASKEXT16)
33: #define F_HOAD (F_HEX|F_OCTAL|F_ASCII|F_DECIMAL)
34:
35: #define TBLS 250
36: class Bls {
37: char *p;
38: public:
39: char text[TBLS+1];
40: int clear() { *(p=text) = 0; return 1;} // cfront bug
41: Bls() { clear(); }
42: Bls(char* ...);
43: Bls(Bls&);
44: char *af(char* ...);
45: };
46:
47: class Format {
48: class SymTab *stab;
49: Bls accum;
50: char *sep;
51: void grow(char*);
52: void grow(char*, long);
53: void grow(char*, double);
54: void growtime(long);
55: public:
56: char *f(long, double=0.0);
57: Format(long=0, SymTab* =0);
58: long format;
59: };
60:
61: char *FmtByte(int), *FmtName(int);
62: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.