WPILibC++ 2023.4.3
|
This class implements an extremely fast bulk output stream that can only output to a stream. More...
Public Types | |
enum class | OStreamKind { OK_OStream , OK_FDStream } |
enum class | Colors { BLACK = 0 , RED , GREEN , YELLOW , BLUE , MAGENTA , CYAN , WHITE , SAVEDCOLOR , RESET } |
Public Member Functions | |
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_ostream & | operator<< (char C) |
raw_ostream & | operator<< (unsigned char C) |
raw_ostream & | operator<< (signed char C) |
raw_ostream & | operator<< (std::span< const uint8_t > Arr) |
raw_ostream & | operator<< (std::string_view Str) |
raw_ostream & | operator<< (const char *Str) |
raw_ostream & | operator<< (const std::string &Str) |
raw_ostream & | operator<< (const SmallVectorImpl< char > &Str) |
raw_ostream & | operator<< (const std::vector< uint8_t > &Arr) |
raw_ostream & | operator<< (const SmallVectorImpl< uint8_t > &Arr) |
raw_ostream & | write_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_ostream & | write (unsigned char C) |
raw_ostream & | write (const char *Ptr, size_t Size) |
raw_ostream & | write (const uint8_t *Ptr, size_t Size) |
raw_ostream & | indent (unsigned NumSpaces) |
indent - Insert 'NumSpaces' spaces. More... | |
raw_ostream & | write_zeros (unsigned NumZeros) |
write_zeros - Insert 'NumZeros' nulls. More... | |
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. More... | |
virtual raw_ostream & | resetColor () |
Resets the colors to terminal defaults. More... | |
virtual raw_ostream & | reverseColor () |
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... | |
Static Public Attributes | |
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 | |
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... | |
This class implements an extremely fast bulk output stream that can only output to a stream.
It does not support seeking, reopening, rewinding, line buffered disciplines etc. It is a simple buffer that outputs a chunk at a time.
|
strong |
|
strong |
|
inlineexplicit |
|
delete |
|
virtual |
|
inlinevirtual |
Changes the foreground color of text that will be output from this point forward.
Color | ANSI color to use, the special SAVEDCOLOR can be used to change only the bold attribute, and keep colors untouched |
Bold | bold/brighter text, default false |
BG | if true change the background, default: change foreground |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
Return the beginning of the current stream buffer, or 0 if the stream is unbuffered.
|
inline |
|
inlinevirtual |
This function determines if this stream is displayed and supports colors.
The result is unaffected by calls to enable_color().
raw_ostream & wpi::raw_ostream::indent | ( | unsigned | NumSpaces | ) |
indent - Insert 'NumSpaces' spaces.
|
inlinevirtual |
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
protectedvirtual |
Return an efficient buffer size for the underlying output mechanism.
|
inlinevirtual |
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 in wpi::raw_string_ostream, and wpi::raw_svector_ostream.
|
inlinevirtual |
Resets the colors to terminal defaults.
Call this when you are done outputting colored text, or before program exit.
|
inlinevirtual |
Reverses the foreground and background colors.
|
inlineprotected |
Use the provided buffer as the raw_ostream buffer.
This is intended for use only by subclasses which can arrange for the output to go directly into the desired output buffer, instead of being copied on each flush.
void wpi::raw_ostream::SetBuffered | ( | ) |
Set the stream to be buffered, with an automatically determined buffer size.
|
inline |
Set the stream to be buffered, using the specified buffer size.
|
inline |
Set the stream to be unbuffered.
When unbuffered, the stream will flush after every write. This routine will also flush the buffer immediately when the stream is being set to unbuffered.
|
inline |
tell - Return the current offset with the file.
|
inline |
Tie this stream to the specified stream.
Replaces any existing tied-to stream. Specifying a nullptr unties the stream.
raw_ostream & wpi::raw_ostream::write | ( | const char * | Ptr, |
size_t | Size | ||
) |
|
inline |
raw_ostream & wpi::raw_ostream::write | ( | unsigned char | C | ) |
raw_ostream & wpi::raw_ostream::write_escaped | ( | std::string_view | Str, |
bool | UseHexEscapes = false |
||
) |
Output Str
, turning '\', '\t', '
', '"', and anything that doesn't satisfy wpi::isPrint into an escape sequence.
raw_ostream & wpi::raw_ostream::write_zeros | ( | unsigned | NumZeros | ) |
write_zeros - Insert 'NumZeros' nulls.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |