1// Common/StdOutStream.h 2 3#ifndef __COMMON_STDOUTSTREAM_H 4#define __COMMON_STDOUTSTREAM_H 5 6#include <stdio.h> 7 8#include "Types.h" 9 10class CStdOutStream 11{ 12 bool _streamIsOpen; 13 FILE *_stream; 14public: 15 CStdOutStream (): _streamIsOpen(false), _stream(0) {}; 16 CStdOutStream (FILE *stream): _streamIsOpen(false), _stream(stream) {}; 17 ~CStdOutStream (); 18 operator FILE *() { return _stream; } 19 bool Open(const char *fileName); 20 bool Close(); 21 bool Flush(); 22 CStdOutStream & operator<<(CStdOutStream & (* aFunction)(CStdOutStream &)); 23 CStdOutStream & operator<<(const char *string); 24 CStdOutStream & operator<<(const wchar_t *string); 25 CStdOutStream & operator<<(char c); 26 CStdOutStream & operator<<(int number); 27 CStdOutStream & operator<<(UInt64 number); 28}; 29 30CStdOutStream & endl(CStdOutStream & outStream); 31 32extern CStdOutStream g_StdOut; 33extern CStdOutStream g_StdErr; 34 35#endif 36