// See the file "COPYING" in the main distribution directory for copyright. #ifndef pac_output_h #define pac_output_h #include #include #include using namespace std; class OutputException { public: OutputException(const char* arg_msg); ~OutputException() = default; const char* errmsg() const { return msg.c_str(); } protected: string msg; }; class Output { public: Output(string filename); ~Output(); int println(const char* fmt, ...); int print(const char* fmt, ...); int indent() const { return indent_; } void inc_indent() { ++indent_; } void dec_indent() { --indent_; } protected: int print(const char* fmt, va_list ap); FILE* fp; int indent_; }; #endif /* pac_output_h */