StreamString.h revision 0fef968c843be422d6facc2e8d54d8471eee88ed
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 int 35 Write (const void *s, size_t length); 36 37 void 38 Clear(); 39 40 const char * 41 GetData () const; 42 43 size_t 44 GetSize() const; 45 46 std::string & 47 GetString(); 48 49 const std::string & 50 GetString() const; 51 52 void 53 FillLastLineToColumn (uint32_t column, char fill_char); 54 55protected: 56 std::string m_packet; 57 58}; 59 60} // namespace lldb_private 61#endif // #ifndef liblldb_StreamString_h_ 62