LLDB mainline
|
#include <StreamAsynchronousIO.h>
Public Member Functions | |
StreamAsynchronousIO (Debugger &debugger, bool for_stdout, bool colors) | |
~StreamAsynchronousIO () override | |
void | Flush () override |
Flush the stream. | |
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 Member Functions | |
size_t | WriteImpl (const void *src, size_t src_len) 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. | |
Private Attributes | |
Debugger & | m_debugger |
std::string | m_data |
bool | m_for_stdout |
Additional Inherited Members | |
Public Types inherited from lldb_private::Stream | |
enum | { eBinary = (1 << 0) } |
m_flags bit values. More... | |
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 |
Definition at line 21 of file StreamAsynchronousIO.h.
StreamAsynchronousIO::StreamAsynchronousIO | ( | Debugger & | debugger, |
bool | for_stdout, | ||
bool | colors | ||
) |
Definition at line 17 of file StreamAsynchronousIO.cpp.
|
override |
Definition at line 22 of file StreamAsynchronousIO.cpp.
References Flush().
|
overridevirtual |
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 27 of file StreamAsynchronousIO.cpp.
References m_data, m_debugger, m_for_stdout, and lldb_private::Debugger::PrintAsync().
Referenced by ~StreamAsynchronousIO().
|
overrideprotectedvirtual |
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 34 of file StreamAsynchronousIO.cpp.
References m_data.
|
private |
Definition at line 34 of file StreamAsynchronousIO.h.
Referenced by Flush(), and WriteImpl().
|
private |
Definition at line 33 of file StreamAsynchronousIO.h.
Referenced by Flush().
|
private |
Definition at line 35 of file StreamAsynchronousIO.h.
Referenced by Flush().