LLDB mainline
|
#include <StreamTee.h>
Public Member Functions | |
StreamTee (bool colors=false) | |
StreamTee (lldb::StreamSP &stream_sp) | |
StreamTee (lldb::StreamSP &stream_sp, lldb::StreamSP &stream_2_sp) | |
StreamTee (const StreamTee &rhs) | |
~StreamTee () override=default | |
StreamTee & | operator= (const StreamTee &rhs) |
void | Flush () override |
Flush the stream. | |
size_t | AppendStream (const lldb::StreamSP &stream_sp) |
size_t | GetNumStreams () const |
lldb::StreamSP | GetStreamAtIndex (uint32_t idx) |
void | SetStreamAtIndex (uint32_t idx, const lldb::StreamSP &stream_sp) |
Public Member Functions inherited from lldb_private::Stream | |
Stream (uint32_t flags, uint32_t addr_size, lldb::ByteOrder byte_order, bool colors=false) | |
Construct with flags and address size and byte order. | |
Stream (bool colors=false) | |
Construct a default Stream, not binary, host byte order and host addr size. | |
Stream (const Stream &other) | |
Stream & | operator= (const Stream &rhs) |
virtual | ~Stream () |
Destructor. | |
virtual void | Flush ()=0 |
Flush the stream. | |
size_t | Write (const void *src, size_t src_len) |
Output character bytes to the stream. | |
size_t | GetWrittenBytes () const |
size_t | PutChar (char ch) |
lldb::ByteOrder | SetByteOrder (lldb::ByteOrder byte_order) |
Set the byte_order value. | |
size_t | PrintfAsRawHex8 (const char *format,...) __attribute__((__format__(__printf__ |
Format a C string from a printf style format and variable arguments and encode and append the resulting C string as hex bytes. | |
size_t size_t | PutHex8 (uint8_t uvalue) |
Append an uint8_t value in the hexadecimal format to the stream. | |
size_t | PutNHex8 (size_t n, uint8_t uvalue) |
size_t | PutHex16 (uint16_t uvalue, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutHex32 (uint32_t uvalue, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutHex64 (uint64_t uvalue, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutMaxHex64 (uint64_t uvalue, size_t byte_size, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutFloat (float f, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutDouble (double d, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutLongDouble (long double ld, lldb::ByteOrder byte_order=lldb::eByteOrderInvalid) |
size_t | PutPointer (void *ptr) |
size_t | PutBytesAsRawHex8 (const void *src, size_t src_len, lldb::ByteOrder src_byte_order=lldb::eByteOrderInvalid, lldb::ByteOrder dst_byte_order=lldb::eByteOrderInvalid) |
size_t | PutRawBytes (const void *s, size_t src_len, lldb::ByteOrder src_byte_order=lldb::eByteOrderInvalid, lldb::ByteOrder dst_byte_order=lldb::eByteOrderInvalid) |
size_t | PutStringAsRawHex8 (llvm::StringRef s) |
Stream & | operator<< (const char *cstr) |
Output a NULL terminated C string cstr to the stream s. | |
Stream & | operator<< (llvm::StringRef str) |
Stream & | operator<< (const void *p) |
Output a pointer value p to the stream s. | |
Stream & | operator<< (char ch) |
Output a character ch to the stream s. | |
Stream & | operator<< (uint8_t uval)=delete |
Stream & | operator<< (uint16_t uval)=delete |
Stream & | operator<< (uint32_t uval)=delete |
Stream & | operator<< (uint64_t uval)=delete |
Stream & | operator<< (int8_t sval)=delete |
Stream & | operator<< (int16_t sval)=delete |
Stream & | operator<< (int32_t sval)=delete |
Stream & | operator<< (int64_t sval)=delete |
size_t | PutCString (llvm::StringRef cstr) |
Output a C string to the stream. | |
void | PutCStringColorHighlighted (llvm::StringRef text, std::optional< HighlightSettings > settings=std::nullopt) |
Output a C string to the stream with color highlighting. | |
size_t | EOL () |
Output and End of Line character to the stream. | |
uint32_t | GetAddressByteSize () const |
Get the address size in bytes. | |
Flags & | GetFlags () |
The flags accessor. | |
const Flags & | GetFlags () const |
The flags const accessor. | |
lldb::ByteOrder | GetByteOrder () const |
unsigned | GetIndentLevel () const |
Get the current indentation level. | |
size_t | Indent (llvm::StringRef s="") |
Indent the current line in the stream. | |
void | IndentLess (unsigned amount=2) |
Decrement the current indentation level. | |
void | IndentMore (unsigned amount=2) |
Increment the current indentation level. | |
void | Offset (uint32_t offset, const char *format="0x%8.8x: ") |
Output an offset value. | |
size_t | Printf (const char *format,...) __attribute__((format(printf |
Output printf formatted output to the stream. | |
size_t size_t | PrintfVarArg (const char *format, va_list args) |
template<typename... Args> | |
void | Format (const char *format, Args &&... args) |
void | QuotedCString (const char *cstr, const char *format="\"%s\"") |
Output a quoted C string value to the stream. | |
void | SetAddressByteSize (uint32_t addr_size) |
Set the address size in bytes. | |
void | SetIndentLevel (unsigned level) |
Set the current indentation level. | |
size_t | PutSLEB128 (int64_t uval) |
Output a SLEB128 number to the stream. | |
size_t | PutULEB128 (uint64_t uval) |
Output a ULEB128 number to the stream. | |
llvm::raw_ostream & | AsRawOstream () |
Returns a raw_ostream that forwards the data to this Stream object. | |
Protected Types | |
typedef std::vector< lldb::StreamSP > | collection |
Protected Member Functions | |
size_t | WriteImpl (const void *s, size_t length) override |
Output character bytes to the stream. | |
Protected Member Functions inherited from lldb_private::Stream | |
void | _PutHex8 (uint8_t uvalue, bool add_prefix) |
virtual size_t | WriteImpl (const void *src, size_t src_len)=0 |
Output character bytes to the stream. | |
Protected Attributes | |
std::recursive_mutex | m_streams_mutex |
collection | m_streams |
Protected Attributes inherited from lldb_private::Stream | |
Flags | m_flags |
Dump flags. | |
uint32_t | m_addr_size = 4 |
Size of an address in bytes. | |
lldb::ByteOrder | m_byte_order |
Byte order to use when encoding scalar types. | |
unsigned | m_indent_level = 0 |
Indention level. | |
std::size_t | m_bytes_written = 0 |
Number of bytes written so far. | |
RawOstreamForward | m_forwarder |
Additional Inherited Members | |
Public Types inherited from lldb_private::Stream | |
enum | { eBinary = (1 << 0) } |
m_flags bit values. More... | |
Definition at line 20 of file StreamTee.h.
|
protected |
Definition at line 107 of file StreamTee.h.
|
inline |
Definition at line 22 of file StreamTee.h.
|
inline |
Definition at line 24 of file StreamTee.h.
References m_streams.
|
inline |
Definition at line 30 of file StreamTee.h.
References m_streams.
|
inline |
Definition at line 38 of file StreamTee.h.
References m_streams, and m_streams_mutex.
|
overridedefault |
|
inline |
Definition at line 72 of file StreamTee.h.
References m_streams, and m_streams_mutex.
|
inlineoverridevirtual |
Flush the stream.
Subclasses should flush the stream to make any output appear if the stream has any buffering.
Implements lldb_private::Stream.
Definition at line 59 of file StreamTee.h.
References lldb_private::Stream::Flush(), m_streams, and m_streams_mutex.
|
inline |
Definition at line 79 of file StreamTee.h.
References m_streams, and m_streams_mutex.
|
inline |
Definition at line 88 of file StreamTee.h.
References m_streams, and m_streams_mutex.
Referenced by lldb_private::CommandReturnObject::Clear(), lldb_private::CommandReturnObject::GetErrorData(), lldb_private::CommandReturnObject::GetErrorStream(), lldb_private::CommandReturnObject::GetImmediateErrorStream(), lldb_private::CommandReturnObject::GetImmediateOutputStream(), lldb_private::CommandReturnObject::GetOutputData(), and lldb_private::CommandReturnObject::GetOutputStream().
Definition at line 46 of file StreamTee.h.
References m_streams, m_streams_mutex, and lldb_private::Stream::operator=().
|
inline |
Definition at line 96 of file StreamTee.h.
References m_streams, and m_streams_mutex.
Referenced by lldb_private::CommandReturnObject::GetErrorStream(), lldb_private::CommandReturnObject::GetOutputStream(), lldb_private::CommandReturnObject::SetImmediateErrorFile(), lldb_private::CommandReturnObject::SetImmediateErrorStream(), lldb_private::CommandReturnObject::SetImmediateOutputFile(), and lldb_private::CommandReturnObject::SetImmediateOutputStream().
|
inlineoverrideprotectedvirtual |
Output character bytes to the stream.
Appends src_len characters from the buffer src to the stream.
[in] | src | A buffer containing at least src_len bytes of data. |
[in] | src_len | A number of bytes to append to the stream. |
Implements lldb_private::Stream.
Definition at line 111 of file StreamTee.h.
References m_streams, m_streams_mutex, and lldb_private::Stream::Write().
|
protected |
Definition at line 109 of file StreamTee.h.
Referenced by AppendStream(), Flush(), GetNumStreams(), GetStreamAtIndex(), operator=(), SetStreamAtIndex(), StreamTee(), and WriteImpl().
|
mutableprotected |
Definition at line 108 of file StreamTee.h.
Referenced by AppendStream(), Flush(), GetNumStreams(), GetStreamAtIndex(), operator=(), SetStreamAtIndex(), StreamTee(), and WriteImpl().