WPILibC++ 2023.4.3-108-ge5452e3
wpi::raw_svector_ostream Class Reference

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

#include </home/runner/work/allwpilib/allwpilib/wpiutil/src/main/native/thirdparty/llvm/include/wpi/raw_ostream.h>

Inheritance diagram for wpi::raw_svector_ostream:
wpi::raw_pwrite_stream wpi::raw_ostream wpi::buffer_ostream wpi::buffer_unique_ostream

Public Member Functions

 raw_svector_ostream (SmallVectorImpl< char > &O)
 Construct a new raw_svector_ostream. More...
 
 ~raw_svector_ostream () override=default
 
void flush ()=delete
 
std::string_view str () const
 Return a std::string_view for the vector contents. More...
 
void reserveExtraSpace (uint64_t ExtraSize) override
 If possible, pre-allocate ExtraSize bytes for stream data. More...
 
- Public Member Functions inherited from wpi::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 wpi::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. More...
 
OStreamKind get_kind () const
 
virtual void reserveExtraSpace (uint64_t ExtraSize)
 If possible, pre-allocate ExtraSize bytes for stream data. More...
 
void SetBuffered ()
 Set the stream to be buffered, with an automatically determined buffer size. More...
 
void SetBufferSize (size_t Size)
 Set the stream to be buffered, using the specified buffer size. More...
 
size_t GetBufferSize () const
 
void SetUnbuffered ()
 Set the stream to be unbuffered. More...
 
size_t GetNumBytesInBuffer () const
 
void flush ()
 
raw_ostreamoperator<< (char C)
 
raw_ostreamoperator<< (unsigned char C)
 
raw_ostreamoperator<< (signed char C)
 
raw_ostreamoperator<< (std::span< const uint8_t > Arr)
 
raw_ostreamoperator<< (std::string_view Str)
 
raw_ostreamoperator<< (const char *Str)
 
raw_ostreamoperator<< (const std::string &Str)
 
raw_ostreamoperator<< (const SmallVectorImpl< char > &Str)
 
raw_ostreamoperator<< (const std::vector< uint8_t > &Arr)
 
raw_ostreamoperator<< (const SmallVectorImpl< uint8_t > &Arr)
 
raw_ostreamwrite_escaped (std::string_view Str, bool UseHexEscapes=false)
 Output Str, turning '\', '\t', '
', '"', and anything that doesn't satisfy wpi::isPrint into an escape sequence. More...
 
raw_ostreamwrite (unsigned char C)
 
raw_ostreamwrite (const char *Ptr, size_t Size)
 
raw_ostreamwrite (const uint8_t *Ptr, size_t Size)
 
raw_ostreamindent (unsigned NumSpaces)
 indent - Insert 'NumSpaces' spaces. More...
 
raw_ostreamwrite_zeros (unsigned NumZeros)
 write_zeros - Insert 'NumZeros' nulls. More...
 
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. More...
 
virtual raw_ostreamresetColor ()
 Resets the colors to terminal defaults. More...
 
virtual raw_ostreamreverseColor ()
 Reverses the foreground and background colors. More...
 
virtual bool is_displayed () const
 This function determines if this stream is connected to a "tty" or "console" window. More...
 
virtual bool has_colors () const
 This function determines if this stream is displayed and supports colors. More...
 
virtual void enable_colors (bool)
 
bool colors_enabled () const
 
void tie (raw_ostream *TieTo)
 Tie this stream to the specified stream. More...
 

Additional Inherited Members

- Public Types inherited from wpi::raw_ostream
enum class  OStreamKind { OK_OStream , OK_FDStream }
 
enum class  Colors {
  BLACK = 0 , RED , GREEN , YELLOW ,
  BLUE , MAGENTA , CYAN , WHITE ,
  SAVEDCOLOR , RESET
}
 
- Static Public Attributes inherited from wpi::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 SAVEDCOLOR = Colors::SAVEDCOLOR
 
static constexpr Colors RESET = Colors::RESET
 
- Protected Member Functions inherited from wpi::raw_ostream
void SetBuffer (char *BufferStart, size_t Size)
 Use the provided buffer as the raw_ostream buffer. More...
 
virtual size_t preferred_buffer_size () const
 Return an efficient buffer size for the underlying output mechanism. More...
 
const char * getBufferStart () const
 Return the beginning of the current stream buffer, or 0 if the stream is unbuffered. More...
 

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().

Constructor & Destructor Documentation

◆ raw_svector_ostream()

wpi::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.

◆ ~raw_svector_ostream()

wpi::raw_svector_ostream::~raw_svector_ostream ( )
overridedefault

Member Function Documentation

◆ flush()

void wpi::raw_svector_ostream::flush ( )
delete

◆ reserveExtraSpace()

void wpi::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 wpi::raw_ostream.

◆ str()

std::string_view wpi::raw_svector_ostream::str ( ) const
inline

Return a std::string_view for the vector contents.


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