LLVM 20.0.0git
|
circular_raw_ostream - A raw_ostream which can save its data to a circular buffer, or can pass it through directly to an underlying stream if specified with a buffer of zero. More...
#include "llvm/Support/circular_raw_ostream.h"
Public Member Functions | |
circular_raw_ostream (raw_ostream &Stream, const char *Header, size_t BuffSize=0, bool Owns=REFERENCE_ONLY) | |
circular_raw_ostream - Construct an optionally circular-buffered stream, handing it an underlying stream to do the "real" output. | |
~circular_raw_ostream () override | |
bool | is_displayed () const override |
This function determines if this stream is connected to a "tty" or "console" window. | |
void | setStream (raw_ostream &Stream, bool Owns=REFERENCE_ONLY) |
setStream - Tell the circular_raw_ostream to output a different stream. | |
void | flushBufferWithBanner () |
flushBufferWithBanner - Force output of the buffer along with a small header. | |
Public Member Functions inherited from llvm::raw_ostream | |
raw_ostream (bool unbuffered=false, OStreamKind K=OStreamKind::OK_OStream) | |
raw_ostream (const raw_ostream &)=delete | |
void | operator= (const raw_ostream &)=delete |
virtual | ~raw_ostream () |
uint64_t | tell () const |
tell - Return the current offset with the file. | |
OStreamKind | get_kind () const |
virtual void | reserveExtraSpace (uint64_t ExtraSize) |
If possible, pre-allocate ExtraSize bytes for stream data. | |
void | SetBuffered () |
Set the stream to be buffered, with an automatically determined buffer size. | |
void | SetBufferSize (size_t Size) |
Set the stream to be buffered, using the specified buffer size. | |
size_t | GetBufferSize () const |
void | SetUnbuffered () |
Set the stream to be unbuffered. | |
size_t | GetNumBytesInBuffer () const |
void | flush () |
raw_ostream & | operator<< (char C) |
raw_ostream & | operator<< (unsigned char C) |
raw_ostream & | operator<< (signed char C) |
raw_ostream & | operator<< (StringRef Str) |
raw_ostream & | operator<< (const char *Str) |
raw_ostream & | operator<< (const std::string &Str) |
raw_ostream & | operator<< (const std::string_view &Str) |
raw_ostream & | operator<< (const SmallVectorImpl< char > &Str) |
raw_ostream & | operator<< (unsigned long N) |
raw_ostream & | operator<< (long N) |
raw_ostream & | operator<< (unsigned long long N) |
raw_ostream & | operator<< (long long N) |
raw_ostream & | operator<< (const void *P) |
raw_ostream & | operator<< (unsigned int N) |
raw_ostream & | operator<< (int N) |
raw_ostream & | operator<< (double N) |
raw_ostream & | write_hex (unsigned long long N) |
Output N in hexadecimal, without any prefix or padding. | |
raw_ostream & | operator<< (Colors C) |
raw_ostream & | write_uuid (const uuid_t UUID) |
raw_ostream & | write_escaped (StringRef Str, bool UseHexEscapes=false) |
Output Str , turning '\', '\t', '', '"', and anything that doesn't satisfy llvm::isPrint into an escape sequence. | |
raw_ostream & | write (unsigned char C) |
raw_ostream & | write (const char *Ptr, size_t Size) |
raw_ostream & | operator<< (const format_object_base &Fmt) |
raw_ostream & | operator<< (const FormattedString &) |
raw_ostream & | operator<< (const FormattedNumber &) |
raw_ostream & | operator<< (const formatv_object_base &) |
raw_ostream & | operator<< (const FormattedBytes &) |
raw_ostream & | indent (unsigned NumSpaces) |
indent - Insert 'NumSpaces' spaces. | |
raw_ostream & | write_zeros (unsigned NumZeros) |
write_zeros - Insert 'NumZeros' nulls. | |
virtual raw_ostream & | changeColor (enum Colors Color, bool Bold=false, bool BG=false) |
Changes the foreground color of text that will be output from this point forward. | |
virtual raw_ostream & | resetColor () |
Resets the colors to terminal defaults. | |
virtual raw_ostream & | reverseColor () |
Reverses the foreground and background colors. | |
virtual bool | is_displayed () const |
This function determines if this stream is connected to a "tty" or "console" window. | |
virtual bool | has_colors () const |
This function determines if this stream is displayed and supports colors. | |
virtual void | enable_colors (bool enable) |
bool | colors_enabled () const |
Static Public Attributes | |
static constexpr bool | TAKE_OWNERSHIP = true |
TAKE_OWNERSHIP - Tell this stream that it owns the underlying stream and is responsible for cleanup, memory management issues, etc. | |
static constexpr bool | REFERENCE_ONLY = false |
REFERENCE_ONLY - Tell this stream it should not manage the held stream. | |
Static Public Attributes inherited from llvm::raw_ostream | |
static constexpr Colors | BLACK = Colors::BLACK |
static constexpr Colors | RED = Colors::RED |
static constexpr Colors | GREEN = Colors::GREEN |
static constexpr Colors | YELLOW = Colors::YELLOW |
static constexpr Colors | BLUE = Colors::BLUE |
static constexpr Colors | MAGENTA = Colors::MAGENTA |
static constexpr Colors | CYAN = Colors::CYAN |
static constexpr Colors | WHITE = Colors::WHITE |
static constexpr Colors | BRIGHT_BLACK = Colors::BRIGHT_BLACK |
static constexpr Colors | BRIGHT_RED = Colors::BRIGHT_RED |
static constexpr Colors | BRIGHT_GREEN = Colors::BRIGHT_GREEN |
static constexpr Colors | BRIGHT_YELLOW = Colors::BRIGHT_YELLOW |
static constexpr Colors | BRIGHT_BLUE = Colors::BRIGHT_BLUE |
static constexpr Colors | BRIGHT_MAGENTA = Colors::BRIGHT_MAGENTA |
static constexpr Colors | BRIGHT_CYAN = Colors::BRIGHT_CYAN |
static constexpr Colors | BRIGHT_WHITE = Colors::BRIGHT_WHITE |
static constexpr Colors | SAVEDCOLOR = Colors::SAVEDCOLOR |
static constexpr Colors | RESET = Colors::RESET |
Additional Inherited Members | |
Public Types inherited from llvm::raw_ostream | |
enum class | OStreamKind { OK_OStream , OK_FDStream , OK_SVecStream } |
enum class | Colors { BLACK = 0 , RED , GREEN , YELLOW , BLUE , MAGENTA , CYAN , WHITE , BRIGHT_BLACK , BRIGHT_RED , BRIGHT_GREEN , BRIGHT_YELLOW , BRIGHT_BLUE , BRIGHT_MAGENTA , BRIGHT_CYAN , BRIGHT_WHITE , SAVEDCOLOR , RESET } |
using | uuid_t = uint8_t[16] |
Output a formatted UUID with dash separators. | |
Protected Member Functions inherited from llvm::raw_ostream | |
void | SetBuffer (char *BufferStart, size_t Size) |
Use the provided buffer as the raw_ostream buffer. | |
virtual size_t | preferred_buffer_size () const |
Return an efficient buffer size for the underlying output mechanism. | |
const char * | getBufferStart () const |
Return the beginning of the current stream buffer, or 0 if the stream is unbuffered. | |
circular_raw_ostream - A raw_ostream which can save its data to a circular buffer, or can pass it through directly to an underlying stream if specified with a buffer of zero.
Definition at line 24 of file circular_raw_ostream.h.
|
inline |
circular_raw_ostream - Construct an optionally circular-buffered stream, handing it an underlying stream to do the "real" output.
As a side effect, if BuffSize is nonzero, the given Stream is set to be Unbuffered. This is because circular_raw_ostream does its own buffering, so it doesn't want another layer of buffering to be happening underneath it.
"Owns" tells the circular_raw_ostream whether it is responsible for managing the held stream, doing memory management of it, etc.
Definition at line 107 of file circular_raw_ostream.h.
References setStream().
|
inlineoverride |
Definition at line 117 of file circular_raw_ostream.h.
References llvm::raw_ostream::flush(), and flushBufferWithBanner().
void circular_raw_ostream::flushBufferWithBanner | ( | ) |
flushBufferWithBanner - Force output of the buffer along with a small header.
Definition at line 38 of file circular_raw_ostream.cpp.
References llvm::raw_ostream::write().
Referenced by debug_user_sig_handler(), and ~circular_raw_ostream().
|
inlineoverridevirtual |
This function determines if this stream is connected to a "tty" or "console" window.
That is, the output would be displayed to the user rather than being put on a pipe or stored in a file.
Reimplemented from llvm::raw_ostream.
Definition at line 124 of file circular_raw_ostream.h.
References llvm::raw_ostream::is_displayed().
|
inline |
setStream - Tell the circular_raw_ostream to output a different stream.
"Owns" tells circular_raw_ostream whether it should take responsibility for managing the underlying stream.
Definition at line 133 of file circular_raw_ostream.h.
Referenced by circular_raw_ostream().
|
staticconstexpr |
REFERENCE_ONLY - Tell this stream it should not manage the held stream.
Definition at line 35 of file circular_raw_ostream.h.
TAKE_OWNERSHIP - Tell this stream that it owns the underlying stream and is responsible for cleanup, memory management issues, etc.
Definition at line 30 of file circular_raw_ostream.h.