iutest  1.17.99.14
iutest_log_stream.hpp
[詳解]
1 //======================================================================
2 //-----------------------------------------------------------------------
13 //-----------------------------------------------------------------------
14 //======================================================================
15 #ifndef INCG_IRIS_IUTEST_LOG_STREAM_HPP_090644E7_9AA3_48DA_A526_BD4060DB52CF_
16 #define INCG_IRIS_IUTEST_LOG_STREAM_HPP_090644E7_9AA3_48DA_A526_BD4060DB52CF_
17 
18 //======================================================================
19 // include
20 // IWYU pragma: begin_exports
21 #include "../iutest_env.hpp"
22 #include "iutest_console.hpp"
23 #include "iutest_stream.hpp"
24 // IWYU pragma: end_exports
25 
26 namespace iutest {
27 namespace detail
28 {
29 
30 //======================================================================
31 // class
35 class LogStream : public IOutStream
36 {
37 public:
44  virtual bool Write(const void* buf, size_t size, size_t cnt) IUTEST_CXX_OVERRIDE
45  {
46  IUTEST_UNUSED_VAR(size);
47  const char* str = static_cast<const char*>(buf);
48  for( size_t i=0; i < cnt; ++i )
49  {
50  iuConsole::output("%s", str);
51  }
52  return true;
53  }
54  virtual int Printf(const char* fmt, ...) IUTEST_CXX_OVERRIDE IUTEST_ATTRIBUTE_FORMAT_PRINTF(2, 3)
55  {
56  va_list va;
57  va_start(va, fmt);
58  iuConsole::voutput(fmt, va);
59  va_end(va);
60  return 0;
61  }
62 };
63 
64 } // end of namespace detail
65 } // end of namespace iutest
66 
67 #endif // INCG_IRIS_IUTEST_LOG_STREAM_HPP_090644E7_9AA3_48DA_A526_BD4060DB52CF_
#define IUTEST_CXX_OVERRIDE
override definition
Definition: iutest_compiler.hpp:747
iris unit test console
iutest root namespace
Definition: iutest_charcode.hpp:33