00001
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __TABULATE__
00037 #define __TABULATE__
00038
00039
00040
00041 class Options;
00042 class Statistics;
00043 class Refutation;
00044
00045
00046 class Tabulate
00047 {
00048 public:
00049 explicit Tabulate ();
00050 ~Tabulate();
00051
00052 void tabulate (const Options& options);
00053 void tabulate (const Statistics& statistics);
00054 void tabulate (const Refutation& refutation);
00055 void result (char result);
00056 void errorMessage (const char* errorQualifier, const char* msg);
00057 bool exists () const { return _str != 0; }
00058
00059 private:
00060
00061 const Options* _options;
00062 ostream* _str;
00063 int _number;
00064
00065
00066 void openUnit (const char* predicate);
00067 void closeUnit();
00068 void quotedAtom (const char* s);
00069 void unary (const char* predicate, const char* arg);
00070 void unary (const char* predicate, int arg);
00071 void binary (const char* predicate, const char* arg1, const char* arg2);
00072 void binary (const char* predicate, const char* arg1, float arg2);
00073 void time (int hour, int min, int sec);
00074 void date (int day, int month, int year);
00075 void version (const char* field, const char* value);
00076 void version (const char* field, float value);
00077 void option (const char* field, const char* value);
00078 };
00079
00080
00081 #endif // __TABULATE__
00082