blob: ccd9f972582402a68d515ee1f93feac9b80da3ae [file] [log] [blame]
Chris Lattner30fdc8d2010-06-08 16:52:24 +00001//===-- StreamString.cpp ----------------------------------------*- 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#include "lldb/Core/StreamString.h"
11//#include <libkern/OSByteOrder.h>
12
13using namespace lldb;
14using namespace lldb_private;
15
16StreamString::StreamString () :
17 Stream (0, 4, eByteOrderBig)
18{
19}
20
21StreamString::StreamString(uint32_t flags, uint32_t addr_size, ByteOrder byte_order) :
22 Stream (flags, addr_size, byte_order),
23 m_packet ()
24{
25}
26
27StreamString::~StreamString()
28{
29}
30
31void
32StreamString::Flush ()
33{
34 // Nothing to do when flushing a buffer based stream...
35}
36
37int
38StreamString::Write (const void *s, size_t length)
39{
40 m_packet.append ((char *)s, length);
41 return length;
42}
43
44void
45StreamString::Clear()
46{
47 m_packet.clear();
48}
49
50void
51StreamString::Dump(FILE *f)
52{
53 int size = GetSize();
54 if (size > 0)
55 fprintf(f, "%*.*s", size, size, m_packet.c_str());
56}
57
58const char *
59StreamString::GetData () const
60{
61 return m_packet.c_str();
62}
63
64size_t
65StreamString::GetSize () const
66{
67 return m_packet.size();
68}
69
70std::string &
71StreamString::GetString()
72{
73 return m_packet;
74}
75
76const std::string &
77StreamString::GetString() const
78{
79 return m_packet;
80}
81