LLVM: llvm::raw_string_ostream Class Reference (original) (raw)

A raw_ostream that writes to an std::string. More...

#include "[llvm/Support/raw_ostream.h](raw%5F%5Fostream%5F8h%5Fsource.html)"

Public Member Functions
raw_string_ostream (std::string &O)
std::string & str ()
Returns the string's reference.
void reserveExtraSpace (uint64_t ExtraSize) override
If possible, pre-allocate ExtraSize bytes for stream data.
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
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
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 std::string.

This is a simple adaptor class. This class does not encounter output errors. raw_string_ostream operates without a buffer, delegating all memory management to the std::string. Thus the std::string is always up-to-date, may be used directly and there is no need to call flush().

Definition at line 662 of file raw_ostream.h.

llvm::raw_string_ostream::raw_string_ostream ( std::string & O) inlineexplicit

reserveExtraSpace()

void llvm::raw_string_ostream::reserveExtraSpace ( uint64_t ExtraSize) 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 682 of file raw_ostream.h.

References llvm::raw_ostream::tell().

str()

std::string & llvm::raw_string_ostream::str ( ) inline

Returns the string's reference.

In most cases it is better to simply use the underlying std::string directly. TODO: Consider removing this API.

Definition at line 680 of file raw_ostream.h.

Referenced by addConstantComments(), llvm::DWARFTypePrinter< DieType >::appendUnqualifiedNameAfter(), constructTriples(), llvm::logicalview::LVBinaryReader::createInstructions(), llvm::debugString(), llvm::AMDGPUDisassembler::decodeKernelDescriptor(), llvm::embedBitcodeInModule(), emitFakeUse(), llvm::AMDGPUTargetAsmStreamer::EmitHSAMetadata(), llvm::remarks::BitstreamRemarkSerializerHelper::emitMetaStrTab(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::end(), ErrorFromHResult(), llvm::formatCallSiteLocation(), llvm::IRChangedPrinter::generateIRRepresentation(), getCGDataErrString(), getInstrProfErrString(), llvm::DOTGraphTraits< MachineGadgetGraph * >::getNodeLabel(), llvm::logicalview::LVDWARFReader::getRegisterName(), getSignature(), getTypeName(), getTypeString(), LLVMGetSymbolAddress(), LLVMGetSymbolName(), LLVMMoveToContainingSection(), LLVMVerifyModule(), LLVMWriteBitcodeToMemoryBuffer(), llvm::object::makeDuplicateResourceError(), llvm::object::makeDuplicateResourceError(), llvm::CGDataOStream::patch(), llvm::ProfOStream::patch(), printBroadcast(), printExtend(), llvm::AsmPrinter::PrintSpecial(), printZeroExtend(), printZeroUpperMove(), raise_relocation_error(), saveFilteredNewMIBNodes(), false::Chain::str(), stringify(), llvm::AMDGPU::IsaInfo::AMDGPUTargetID::toString(), llvm::msgpack::DocNode::toString(), llvm::RISCVISAInfo::toString(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::verify(), and llvm::dwarf_linker::parallel::DWARFLinkerImpl::verifyInput().


The documentation for this class was generated from the following files: