StreamString.h revision 36da2aa6dc5ad9994b638ed09eb81c44cc05540b
1//===-- StreamString.h ------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef liblldb_StreamString_h_ 11#define liblldb_StreamString_h_ 12 13#include <string> 14 15#include "lldb/Core/Stream.h" 16 17namespace lldb_private { 18 19class StreamString : public Stream 20{ 21public: 22 StreamString (); 23 24 StreamString (uint32_t flags, 25 uint32_t addr_size, 26 lldb::ByteOrder byte_order); 27 28 virtual 29 ~StreamString (); 30 31 virtual void 32 Flush (); 33 34 virtual size_t 35 Write (const void *s, size_t length); 36 37 void 38 Clear(); 39 40 bool 41 Empty() const; 42 43 const char * 44 GetData () const; 45 46 size_t 47 GetSize() const; 48 49 std::string & 50 GetString(); 51 52 const std::string & 53 GetString() const; 54 55 void 56 FillLastLineToColumn (uint32_t column, char fill_char); 57 58protected: 59 std::string m_packet; 60 61}; 62 63} // namespace lldb_private 64#endif // #ifndef liblldb_StreamString_h_ 65