LLVM 20.0.0git
|
A raw_ostream that writes to an SmallVector or SmallString. More...
#include "llvm/Support/raw_ostream.h"
Public Member Functions | |
raw_svector_ostream (SmallVectorImpl< char > &O) | |
Construct a new raw_svector_ostream. | |
~raw_svector_ostream () override=default | |
void | flush ()=delete |
StringRef | str () const |
Return a StringRef for the vector contents. | |
SmallVectorImpl< char > & | buffer () |
void | reserveExtraSpace (uint64_t ExtraSize) override |
If possible, pre-allocate ExtraSize bytes for stream data. | |
Public Member Functions inherited from llvm::raw_pwrite_stream | |
raw_pwrite_stream (bool Unbuffered=false, OStreamKind K=OStreamKind::OK_OStream) | |
void | pwrite (const char *Ptr, size_t Size, uint64_t Offset) |
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 Member Functions | |
static bool | classof (const raw_ostream *OS) |
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. | |
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 |
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. | |
A raw_ostream that writes to an SmallVector or SmallString.
This is a simple adaptor class. This class does not encounter output errors. raw_svector_ostream operates without a buffer, delegating all memory management to the SmallString. Thus the SmallString is always up-to-date, may be used directly and there is no need to call flush().
Definition at line 691 of file raw_ostream.h.
|
inlineexplicit |
Construct a new raw_svector_ostream.
O | The vector to write to; this should generally have at least 128 bytes free to avoid any extraneous memory overhead. |
Definition at line 707 of file raw_ostream.h.
References OS, and llvm::raw_ostream::SetUnbuffered().
|
overridedefault |
|
inline |
Definition at line 721 of file raw_ostream.h.
References OS.
|
static |
Definition at line 977 of file raw_ostream.cpp.
References llvm::raw_ostream::get_kind(), llvm::raw_ostream::OK_SVecStream, and OS.
|
delete |
|
inlineoverridevirtual |
If possible, pre-allocate ExtraSize
bytes for stream data.
i.e. it extends internal buffers to keep additional ExtraSize bytes. So that the stream could keep at least tell() + ExtraSize bytes without re-allocations. reserveExtraSpace() does not change the size/data of the stream.
Reimplemented from llvm::raw_ostream.
Definition at line 723 of file raw_ostream.h.
References OS, and llvm::raw_ostream::tell().
|
inline |
Return a StringRef for the vector contents.
Definition at line 720 of file raw_ostream.h.
References OS.
Referenced by llvm::ComputeASanStackFrameDescription(), llvm::XtensaTargetAsmStreamer::emitLiteral(), llvm::MCStreamer::emitSLEB128IntValue(), llvm::MCStreamer::emitULEB128IntValue(), llvm::AMDGPU::generateCrashCode(), llvm::VecDesc::getVectorFunctionABIVariantString(), LLVMTargetMachineEmitToMemoryBuffer(), llvm::StructType::setName(), llvm::buffer_ostream::~buffer_ostream(), and llvm::buffer_unique_ostream::~buffer_unique_ostream().