#ifndef DEF_FWIK_IO_IOSTREAM_H #define DEF_FWIK_IO_IOSTREAM_H #include "Term.h" #include class IOStream { public: Term *term; IOStream() : term(0) {} IOStream(Term *t) : term(t) {} void print(const char* str); void printf(const char* fmt, ...); String readln(); IOStream &operator<<(const char* s) { print(s); return *this; } IOStream &operator<<(const String& s) { print(s.c_str()); return *this; } IOStream &operator<<(int i) { printf("%d", i); return *this; } IOStream &operator<<(void* p) { printf("%p", p); return *this; } }; extern IOStream stdio; #endif