LLVM API Documentation

Public Types | Public Member Functions
llvm::raw_fd_ostream Class Reference

#include <raw_ostream.h>

Inheritance diagram for llvm::raw_fd_ostream:
Inheritance graph
[legend]
Collaboration diagram for llvm::raw_fd_ostream:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { F_Excl = 1, F_Append = 2, F_Binary = 4 }

Public Member Functions

 raw_fd_ostream (const char *Filename, std::string &ErrorInfo, unsigned Flags=0)
 raw_fd_ostream (int fd, bool shouldClose, bool unbuffered=false)
 ~raw_fd_ostream ()
void close ()
uint64_t seek (uint64_t off)
void SetUseAtomicWrites (bool Value)
virtual raw_ostreamchangeColor (enum Colors colors, bool bold=false, bool bg=false) LLVM_OVERRIDE
virtual raw_ostreamresetColor () LLVM_OVERRIDE
virtual raw_ostreamreverseColor () LLVM_OVERRIDE
 Reverses the forground and background colors.
virtual bool is_displayed () const LLVM_OVERRIDE
virtual bool has_colors () const LLVM_OVERRIDE
 This function determines if this stream is displayed and supports colors.
bool has_error () const
void clear_error ()

Detailed Description

raw_fd_ostream - A raw_ostream that writes to a file descriptor.

Definition at line 309 of file raw_ostream.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
F_Excl 

F_Excl - When opening a file, this flag makes raw_fd_ostream report an error if the file already exists.

F_Append 

F_Append - When opening a file, if it already exists append to the existing file instead of returning an error. This may not be specified with F_Excl.

F_Binary 

F_Binary - The file should be opened in binary mode on platforms that make this distinction.

Definition at line 339 of file raw_ostream.h.


Constructor & Destructor Documentation

raw_fd_ostream::raw_fd_ostream ( const char *  Filename,
std::string &  ErrorInfo,
unsigned  Flags = 0 
)

raw_fd_ostream - Open the specified file for writing. If an error occurs, information about the error is put into ErrorInfo, and the stream should be immediately destroyed; the string will be empty if no error occurred. This 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. Note that it will still consider itself to own the file descriptor. In particular, it will close the file descriptor when it is done (this is necessary to detect output errors).

raw_fd_ostream - Open the specified file for writing. If an error occurs, information about the error is put into ErrorInfo, and the stream should be immediately destroyed; the string will be empty if no error occurred.

Definition at line 426 of file raw_ostream.cpp.

References llvm::sys::Program::ChangeStdoutToBinary(), F_Append, F_Binary, F_Excl, and llvm::LibFunc::open.

raw_fd_ostream::raw_fd_ostream ( int  fd,
bool  shouldClose,
bool  unbuffered = false 
)

raw_fd_ostream ctor - FD is the file descriptor that this writes to. If ShouldClose is true, this closes the file when the stream is destroyed.

Definition at line 478 of file raw_ostream.cpp.

raw_fd_ostream::~raw_fd_ostream ( )

Member Function Documentation

raw_ostream & raw_fd_ostream::changeColor ( enum Colors  Color,
bool  Bold = false,
bool  BG = false 
) [virtual]

Changes the foreground color of text that will be output from this point forward.

Parameters:
ColorANSI color to use, the special SAVEDCOLOR can be used to change only the bold attribute, and keep colors untouched
Boldbold/brighter text, default false
BGif true change the background, default: change foreground
Returns:
itself so it can be used within << invocations

Reimplemented from llvm::raw_ostream.

Definition at line 614 of file raw_ostream.cpp.

References llvm::sys::Process::ColorNeedsFlush(), llvm::raw_ostream::flush(), llvm::sys::Process::OutputBold(), llvm::sys::Process::OutputColor(), llvm::raw_ostream::SAVEDCOLOR, llvm::LibFunc::strlen, and llvm::raw_ostream::write().

void llvm::raw_fd_ostream::clear_error ( ) [inline]

clear_error - 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."

  • from The Zen of Python, by Tim Peters

Definition at line 418 of file raw_ostream.h.

void raw_fd_ostream::close ( )

close - Manually flush the stream and close the file. Note that this does not call fsync.

Definition at line 574 of file raw_ostream.cpp.

References llvm::raw_ostream::flush().

Referenced by llvm::LockFileManager::LockFileManager(), and ~raw_fd_ostream().

bool raw_fd_ostream::has_colors ( ) const [virtual]

This function determines if this stream is displayed and supports colors.

Reimplemented from llvm::raw_ostream.

Definition at line 660 of file raw_ostream.cpp.

References llvm::sys::Process::FileDescriptorHasColors().

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

has_error - 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.

Definition at line 405 of file raw_ostream.h.

Referenced by llvm::LockFileManager::LockFileManager(), and ~raw_fd_ostream().

bool raw_fd_ostream::is_displayed ( ) const [virtual]

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.

Reimplemented from llvm::raw_ostream.

Definition at line 656 of file raw_ostream.cpp.

References llvm::sys::Process::FileDescriptorIsDisplayed().

raw_ostream & raw_fd_ostream::resetColor ( ) [virtual]

Resets the colors to terminal defaults. Call this when you are done outputting colored text, or before program exit.

Reimplemented from llvm::raw_ostream.

Definition at line 630 of file raw_ostream.cpp.

References llvm::sys::Process::ColorNeedsFlush(), llvm::raw_ostream::flush(), llvm::sys::Process::ResetColor(), llvm::LibFunc::strlen, and llvm::raw_ostream::write().

raw_ostream & raw_fd_ostream::reverseColor ( ) [virtual]

Reverses the forground and background colors.

Reimplemented from llvm::raw_ostream.

Definition at line 643 of file raw_ostream.cpp.

References llvm::sys::Process::ColorNeedsFlush(), llvm::raw_ostream::flush(), llvm::sys::Process::OutputReverse(), llvm::LibFunc::strlen, and llvm::raw_ostream::write().

uint64_t raw_fd_ostream::seek ( uint64_t  off)

seek - Flushes the stream and repositions the underlying file descriptor position to the offset specified from the beginning of the file.

Definition at line 586 of file raw_ostream.cpp.

References llvm::raw_ostream::flush().

void llvm::raw_fd_ostream::SetUseAtomicWrites ( bool  Value) [inline]

SetUseAtomicWrite - Set the stream to attempt to use atomic writes for individual output routines where possible.

Note that because raw_ostream's are typically buffered, this flag is only sensible when used on unbuffered streams which will flush their output immediately.

Definition at line 387 of file raw_ostream.h.


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