Mercurial > fife-parpg
view ext/UnitTest++/src/MemoryOutStream.h @ 310:8afb9b443f66
merged the pathfinding branch to trunk
author | wenlin_fife@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Fri, 14 Aug 2009 00:00:58 +0000 |
parents | 0d325e9d5953 |
children |
line wrap: on
line source
#ifndef UNITTEST_MEMORYOUTSTREAM_H #define UNITTEST_MEMORYOUTSTREAM_H #include "Config.h" #ifndef UNITTEST_USE_CUSTOM_STREAMS #include <sstream> namespace UnitTest { class MemoryOutStream : public std::ostringstream { public: MemoryOutStream() {} char const* GetText() const; private: MemoryOutStream(MemoryOutStream const&); void operator =(MemoryOutStream const&); mutable std::string m_text; }; } #else #include <cstddef> namespace UnitTest { class MemoryOutStream { public: explicit MemoryOutStream(int const size = 256); ~MemoryOutStream(); char const* GetText() const; MemoryOutStream& operator << (char const* txt); MemoryOutStream& operator << (int n); MemoryOutStream& operator << (long n); MemoryOutStream& operator << (unsigned long n); MemoryOutStream& operator << (float f); MemoryOutStream& operator << (double d); MemoryOutStream& operator << (void const* p); MemoryOutStream& operator << (unsigned int s); enum { GROW_CHUNK_SIZE = 32 }; int GetCapacity() const; private: void operator= (MemoryOutStream const&); void GrowBuffer(int capacity); int m_capacity; char* m_buffer; }; } #endif #endif