LLVM 22.0.0git
llvm::raw_svector_ostream Class Reference

A raw_ostream that writes to an SmallVector or SmallString. More...

#include "llvm/Support/raw_ostream.h"

Inheritance diagram for llvm::raw_svector_ostream:
[legend]

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
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_ostreamoperator<< (char C)
raw_ostreamoperator<< (unsigned char C)
raw_ostreamoperator<< (signed char C)
raw_ostreamoperator<< (StringRef Str)
raw_ostreamoperator<< (const char *Str)
raw_ostreamoperator<< (const std::string &Str)
raw_ostreamoperator<< (const std::string_view &Str)
raw_ostreamoperator<< (const SmallVectorImpl< char > &Str)
raw_ostreamoperator<< (unsigned long N)
raw_ostreamoperator<< (long N)
raw_ostreamoperator<< (unsigned long long N)
raw_ostreamoperator<< (long long N)
raw_ostreamoperator<< (const void *P)
raw_ostreamoperator<< (unsigned int N)
raw_ostreamoperator<< (int N)
raw_ostreamoperator<< (double N)
raw_ostreamwrite_hex (unsigned long long N)
 Output N in hexadecimal, without any prefix or padding.
raw_ostreamoperator<< (Colors C)
raw_ostreamwrite_uuid (const uuid_t UUID)
raw_ostreamwrite_escaped (StringRef Str, bool UseHexEscapes=false)
 Output Str, turning '\', '\t', '
', '"', and anything that doesn't satisfy llvm::isPrint into an escape sequence.
raw_ostreamwrite (unsigned char C)
raw_ostreamwrite (const char *Ptr, size_t Size)
raw_ostreamoperator<< (const format_object_base &Fmt)
raw_ostreamoperator<< (const FormattedString &)
raw_ostreamoperator<< (const FormattedNumber &)
raw_ostreamoperator<< (const formatv_object_base &)
raw_ostreamoperator<< (const FormattedBytes &)
raw_ostreamindent (unsigned NumSpaces)
 indent - Insert 'NumSpaces' spaces.
raw_ostreamwrite_zeros (unsigned NumZeros)
 write_zeros - Insert 'NumZeros' nulls.
virtual raw_ostreamchangeColor (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_ostreamresetColor ()
 Resets the colors to terminal defaults.
virtual raw_ostreamreverseColor ()
 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 chargetBufferStart () const
 Return the beginning of the current stream buffer, or 0 if the stream is unbuffered.

Detailed Description

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 692 of file raw_ostream.h.

Constructor & Destructor Documentation

◆ raw_svector_ostream()

llvm::raw_svector_ostream::raw_svector_ostream ( SmallVectorImpl< char > & O)
inlineexplicit

Construct a new raw_svector_ostream.

Parameters
OThe vector to write to; this should generally have at least 128 bytes free to avoid any extraneous memory overhead.

Definition at line 708 of file raw_ostream.h.

References llvm::raw_ostream::OK_SVecStream, llvm::raw_pwrite_stream::raw_pwrite_stream(), and llvm::raw_ostream::SetUnbuffered().

Referenced by llvm::buffer_ostream::buffer_ostream(), and llvm::buffer_unique_ostream::buffer_unique_ostream().

◆ ~raw_svector_ostream()

llvm::raw_svector_ostream::~raw_svector_ostream ( )
overridedefault

Member Function Documentation

◆ buffer()

SmallVectorImpl< char > & llvm::raw_svector_ostream::buffer ( )
inline

Definition at line 722 of file raw_ostream.h.

◆ classof()

bool raw_svector_ostream::classof ( const raw_ostream * OS)
static

Definition at line 981 of file raw_ostream.cpp.

References llvm::raw_ostream::OK_SVecStream.

◆ flush()

void llvm::raw_svector_ostream::flush ( )
delete

◆ reserveExtraSpace()

void llvm::raw_svector_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 724 of file raw_ostream.h.

References llvm::raw_ostream::tell().

Referenced by llvm::mcdxbc::RootSignatureDesc::write().

◆ str()


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