15 #ifndef INCG_IRIS_IUTEST_STREAM_HPP_3A4AF139_9F24_4730_81D0_DADFCE6DCF99_
16 #define INCG_IRIS_IUTEST_STREAM_HPP_3A4AF139_9F24_4730_81D0_DADFCE6DCF99_
32 virtual ~IOutStream() {}
35 virtual bool Write(
const void* buf,
size_t size,
size_t cnt) = 0;
37 virtual int Printf(
const char* fmt, ...) IUTEST_ATTRIBUTE_FORMAT_PRINTF(2, 3)
41 const ::std::string str = StringFormat(fmt, va);
43 const size_t len = str.length();
44 Write(str.c_str(), len, 1);
45 return static_cast<int>(len);
55 virtual ~IInStream() {}
58 virtual bool Read(
void* buf,
size_t size,
size_t cnt) = 0;
61 virtual size_t GetSize() = 0;
65 virtual ::std::string ReadAll()
68 const size_t size = GetSize();
71 char* buf =
new char[size+1];
73 if( Read(buf, size, 1) )
86 class FileOutStream :
public IOutStream
103 if( fwrite(buf, size, cnt, m_fp) < cnt )
114 #endif // INCG_IRIS_IUTEST_STREAM_HPP_3A4AF139_9F24_4730_81D0_DADFCE6DCF99_