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

A raw_ostream that writes to a file descriptor. More...

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

Public Member Functions
raw_fd_ostream (StringRef Filename, std::error_code &EC)
Open the specified file for writing.
raw_fd_ostream (StringRef Filename, std::error_code &EC, sys::fs::CreationDisposition Disp)
raw_fd_ostream (StringRef Filename, std::error_code &EC, sys::fs::FileAccess Access)
raw_fd_ostream (StringRef Filename, std::error_code &EC, sys::fs::OpenFlags Flags)
raw_fd_ostream (StringRef Filename, std::error_code &EC, sys::fs::CreationDisposition Disp, sys::fs::FileAccess Access, sys::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.
bool is_displayed () const override
This function determines if this stream is connected to a "tty" or "console" window.
bool has_colors () const override
This function determines if this stream is displayed and supports colors.
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.
Expected< sys::fs::FileLocker > lock ()
Locks the underlying file.
Expected< sys::fs::FileLocker > tryLockFor (Duration const &Timeout)
Tries to lock the underlying file within the specified period.
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
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<< (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 void enable_colors (bool enable)
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)
Protected Member Functions inherited from llvm::raw_ostream
void SetBuffer (char *BufferStart, size_t Size)
Use the provided buffer as 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
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

A raw_ostream that writes to a file descriptor.

Definition at line 461 of file raw_ostream.h.

raw_fd_ostream::raw_fd_ostream ( StringRef 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.

Definition at line 580 of file raw_ostream.cpp.

References raw_fd_ostream().

Referenced by raw_fd_ostream(), raw_fd_ostream(), raw_fd_ostream(), raw_fd_ostream(), raw_fd_ostream(), llvm::raw_fd_stream::raw_fd_stream(), and llvm::raw_fd_stream::raw_fd_stream().

raw_fd_ostream() [2/6]

raw_fd_ostream() [3/6]

raw_fd_ostream() [4/6]

raw_fd_ostream() [5/6]

raw_fd_ostream() [6/6]

~raw_fd_ostream()

raw_fd_ostream::~raw_fd_ostream ( ) override

clear_error()

void llvm::raw_fd_ostream::clear_error ( ) inline

close()

void raw_fd_ostream::close ( )

error()

std::error_code llvm::raw_fd_ostream::error ( ) const inline

error_detected()

void llvm::raw_fd_ostream::error_detected ( std::error_code EC) inlineprotected

get_fd()

int llvm::raw_fd_ostream::get_fd ( ) const inlineprotected

has_colors()

bool raw_fd_ostream::has_colors ( ) const overridevirtual

has_error()

bool llvm::raw_fd_ostream::has_error ( ) const inline

inc_pos()

void llvm::raw_fd_ostream::inc_pos ( uint64_t Delta) inlineprotected

is_displayed()

bool raw_fd_ostream::is_displayed ( ) const overridevirtual

isRegularFile()

bool llvm::raw_fd_ostream::isRegularFile ( ) const inline

lock()

Locks the underlying file.

Returns

RAII object that releases the lock upon leaving the scope, if the locking was successful. Otherwise returns corresponding error code.

The function blocks the current thread until the lock become available or error occurs.

Possible use of this function may be as follows:

if (auto L = stream.lock()) {

} else {

});

}

Base class for error info classes.

void handleAllErrors(Error E, HandlerTs &&... Handlers)

Behaves the same as handleErrors, except that by contract all errors must be handled by the given han...

Definition at line 862 of file raw_ostream.cpp.

References llvm::errorCodeToError(), and llvm::sys::fs::lockFile().

Referenced by writeJSON().

seek()

supportsSeeking()

bool llvm::raw_fd_ostream::supportsSeeking ( ) const inline

tie()

void llvm::raw_fd_ostream::tie ( raw_ostream * TieTo) 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.

Definition at line 555 of file raw_ostream.h.

tryLockFor()


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