A raw_ostream that writes to a file descriptor. More...
#include <wpi/raw_ostream.h>
Public Member Functions | |
raw_fd_ostream (std::string_view Filename, std::error_code &EC) | |
Open the specified file for writing. | |
raw_fd_ostream (std::string_view Filename, std::error_code &EC, fs::CreationDisposition Disp) | |
raw_fd_ostream (std::string_view Filename, std::error_code &EC, fs::FileAccess Access) | |
raw_fd_ostream (std::string_view Filename, std::error_code &EC, fs::OpenFlags Flags) | |
raw_fd_ostream (std::string_view Filename, std::error_code &EC, fs::CreationDisposition Disp, fs::FileAccess Access, fs::OpenFlags Flags) | |
raw_fd_ostream (int fd, bool shouldClose, bool unbuffered=false, OStreamKind K=OStreamKind::OK_OStream) | |
FD is the file descriptor that this writes to. | |
~raw_fd_ostream () override | |
void | close () |
Manually flush the stream and close the file. | |
bool | supportsSeeking () const |
bool | isRegularFile () const |
uint64_t | seek (uint64_t off) |
Flushes the stream and repositions the underlying file descriptor position to the offset specified from the beginning of the file. | |
void | tie (raw_ostream *TieTo) |
Tie this stream to the specified stream. | |
std::error_code | error () const |
bool | has_error () const |
Return the value of the flag in this raw_fd_ostream indicating whether an output error has been encountered. | |
void | clear_error () |
Set the flag read by has_error() to false. | |
![]() | |
raw_pwrite_stream (bool Unbuffered=false, OStreamKind K=OStreamKind::OK_OStream) | |
void | pwrite (const char *Ptr, size_t Size, uint64_t Offset) |
![]() | |
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<< (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. | |
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. | |
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) |
bool | colors_enabled () const |
Protected Member Functions | |
void | error_detected (std::error_code EC) |
Set the flag indicating that an output error has been encountered. | |
int | get_fd () const |
Return the file descriptor. | |
void | inc_pos (uint64_t Delta) |
![]() | |
void | SetBuffer (char *BufferStart, size_t Size) |
Use the provided buffer as the raw_ostream buffer. | |
void | SetNumBytesInBuffer (size_t Size) |
Force-set the number of bytes in the raw_ostream buffer. | |
const char * | getBufferStart () const |
Return the beginning of the current stream buffer, or 0 if the stream is unbuffered. | |
Additional Inherited Members | |
![]() | |
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 } |
![]() | |
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 |
A raw_ostream that writes to a file descriptor.
wpi::raw_fd_ostream::raw_fd_ostream | ( | std::string_view | Filename, |
std::error_code & | EC ) |
Open the specified file for writing.
If an error occurs, information about the error is put into EC, and the stream should be immediately destroyed; Flags
allows optional flags to control how the file will be opened.
As a special case, if Filename is "-", then the stream will use STDOUT_FILENO instead of opening a file. This will not close the stdout descriptor.
wpi::raw_fd_ostream::raw_fd_ostream | ( | std::string_view | Filename, |
std::error_code & | EC, | ||
fs::CreationDisposition | Disp ) |
wpi::raw_fd_ostream::raw_fd_ostream | ( | std::string_view | Filename, |
std::error_code & | EC, | ||
fs::FileAccess | Access ) |
wpi::raw_fd_ostream::raw_fd_ostream | ( | std::string_view | Filename, |
std::error_code & | EC, | ||
fs::OpenFlags | Flags ) |
wpi::raw_fd_ostream::raw_fd_ostream | ( | std::string_view | Filename, |
std::error_code & | EC, | ||
fs::CreationDisposition | Disp, | ||
fs::FileAccess | Access, | ||
fs::OpenFlags | Flags ) |
wpi::raw_fd_ostream::raw_fd_ostream | ( | int | fd, |
bool | shouldClose, | ||
bool | unbuffered = false, | ||
OStreamKind | K = OStreamKind::OK_OStream ) |
FD is the file descriptor that this writes to.
If ShouldClose is true, this closes the file when the stream is destroyed. If FD is for stdout or stderr, it will not be closed.
|
override |
|
inline |
Set the flag read by has_error() to false.
If the error flag is set at the time when this raw_ostream's destructor is called, report_fatal_error is called to report the error. Use clear_error() after handling the error to avoid this behavior.
"Errors should never pass silently. Unless explicitly silenced."
void wpi::raw_fd_ostream::close | ( | ) |
Manually flush the stream and close the file.
Note that this does not call fsync.
|
inline |
|
inlineprotected |
Set the flag indicating that an output error has been encountered.
|
inlineprotected |
Return the file descriptor.
|
inline |
Return the value of the flag in this raw_fd_ostream indicating whether an output error has been encountered.
This doesn't implicitly flush any pending output. Also, it doesn't guarantee to detect all errors unless the stream has been closed.
|
inlineprotected |
|
inline |
uint64_t wpi::raw_fd_ostream::seek | ( | uint64_t | off | ) |
Flushes the stream and repositions the underlying file descriptor position to the offset specified from the beginning of the file.
|
inline |
|
inline |
Tie this stream to the specified stream.
Replaces any existing tied-to stream. Specifying a nullptr unties the stream. This is intended for to tie errs() to outs(), so that outs() is flushed whenever something is written to errs(), preventing weird and hard-to-test output when stderr is redirected to stdout.