LLVM API Documentation
#include <raw_ostream.h>
Public Types | |
enum | Colors { BLACK = 0, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, SAVEDCOLOR } |
Public Member Functions | |
raw_ostream (bool unbuffered=false) | |
virtual | ~raw_ostream () |
uint64_t | tell () const |
tell - Return the current offset with the file. | |
void | SetBuffered () |
void | SetBufferSize (size_t Size) |
size_t | GetBufferSize () const |
void | SetUnbuffered () |
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<< (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) |
write_hex - Output N in hexadecimal, without any prefix or padding. | |
raw_ostream & | write_escaped (StringRef Str, bool UseHexEscapes=false) |
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 & | indent (unsigned NumSpaces) |
indent - Insert 'NumSpaces' spaces. | |
virtual raw_ostream & | changeColor (enum Colors Color, bool Bold=false, bool BG=false) |
virtual raw_ostream & | resetColor () |
virtual raw_ostream & | reverseColor () |
Reverses the forground and background colors. | |
virtual bool | is_displayed () const |
virtual bool | has_colors () const |
This function determines if this stream is displayed and supports colors. | |
Protected Member Functions | |
void | SetBuffer (char *BufferStart, size_t Size) |
virtual size_t | preferred_buffer_size () const |
const char * | getBufferStart () const |
raw_ostream - 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.
Definition at line 37 of file raw_ostream.h.
Definition at line 70 of file raw_ostream.h.
Definition at line 82 of file raw_ostream.h.
raw_ostream::~raw_ostream | ( | ) | [virtual] |
Definition at line 61 of file raw_ostream.cpp.
virtual raw_ostream& llvm::raw_ostream::changeColor | ( | enum Colors | Color, |
bool | Bold = false , |
||
bool | BG = false |
||
) | [inline, virtual] |
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 |
Reimplemented in llvm::raw_fd_ostream, and llvm::formatted_raw_ostream.
Definition at line 225 of file raw_ostream.h.
Referenced by llvm::formatted_raw_ostream::changeColor(), and llvm::SMDiagnostic::print().
void llvm::raw_ostream::flush | ( | ) | [inline] |
Definition at line 135 of file raw_ostream.h.
Referenced by llvm::raw_fd_ostream::changeColor(), llvm::raw_fd_ostream::close(), llvm::LLVMContext::diagnose(), emitComments(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::MCWinCOFFStreamer::EmitInstToData(), llvm::MCObjectStreamer::EmitInstToFragment(), llvm::ObjectBufferStream::flush(), getBlockName(), getBlockNum(), llvm::object::ELFObjectFile< ELFT >::getRelocationValueString(), llvm::object::MachOObjectFile::getRelocationValueString(), llvm::NVPTXAsmPrinter::getVirtualRegisterName(), LLVMDisasmInstruction(), LLVMGetDiagInfoDescription(), LLVMParseIRInContext(), LLVMPrintModuleToString(), LLVMPrintTypeToString(), LLVMPrintValueToString(), LLVMTargetMachineEmit(), LLVMTargetMachineEmitToFile(), LLVMTargetMachineEmitToMemoryBuffer(), PrintCurStackTrace(), llvm::opt::OptTable::PrintHelp(), llvm::AMDGPUInstPrinter::printInst(), llvm::PrintStatistics(), llvm::raw_fd_ostream::resetColor(), llvm::raw_fd_ostream::reverseColor(), llvm::raw_fd_ostream::seek(), SetBufferSize(), SetUnbuffered(), llvm::raw_string_ostream::str(), llvm::raw_svector_ostream::str(), llvm::sys::StrError(), llvm::circular_raw_ostream::~circular_raw_ostream(), llvm::formatted_raw_ostream::~formatted_raw_ostream(), llvm::raw_fd_ostream::~raw_fd_ostream(), llvm::raw_null_ostream::~raw_null_ostream(), llvm::raw_os_ostream::~raw_os_ostream(), llvm::raw_string_ostream::~raw_string_ostream(), and llvm::raw_svector_ostream::~raw_svector_ostream().
size_t llvm::raw_ostream::GetBufferSize | ( | ) | const [inline] |
Definition at line 108 of file raw_ostream.h.
References preferred_buffer_size().
Referenced by llvm::formatted_raw_ostream::setStream().
const char* llvm::raw_ostream::getBufferStart | ( | ) | const [inline, protected] |
getBufferStart - Return the beginning of the current stream buffer, or 0 if the stream is unbuffered.
Definition at line 291 of file raw_ostream.h.
Referenced by llvm::formatted_raw_ostream::PadToColumn().
size_t llvm::raw_ostream::GetNumBytesInBuffer | ( | ) | const [inline] |
Definition at line 127 of file raw_ostream.h.
Referenced by llvm::formatted_raw_ostream::PadToColumn(), llvm::raw_svector_ostream::resync(), and tell().
virtual bool llvm::raw_ostream::has_colors | ( | ) | const [inline, virtual] |
This function determines if this stream is displayed and supports colors.
Reimplemented in llvm::raw_fd_ostream.
Definition at line 247 of file raw_ostream.h.
References is_displayed().
Referenced by llvm::SMDiagnostic::print().
raw_ostream & raw_ostream::indent | ( | unsigned | NumSpaces | ) |
indent - Insert 'NumSpaces' spaces.
Definition at line 398 of file raw_ostream.cpp.
References llvm::array_lengthof(), and write().
Referenced by llvm::DWARFDebugInfoEntryMinimal::dump(), llvm::DWARFDebugLoc::dump(), llvm::DWARFDebugLocDWO::dump(), llvm::LexicalScope::dump(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), DumpNodes(), DumpNodesr(), llvm::RGPassManager::dumpPassStructure(), llvm::LPPassManager::dumpPassStructure(), llvm::Pass::dumpPassStructure(), llvm::FPPassManager::dumpPassStructure(), llvm::StringMatcher::Emit(), emitBasicBlockLoopComments(), llvm::formatted_raw_ostream::PadToColumn(), llvm::LoopBase< BlockT, LoopT >::print(), llvm::RegionBase< Tr >::print(), PrintChildLoopComment(), llvm::PrintDomTree(), llvm::cl::generic_parser_base::printGenericOptionDiff(), PrintHelpOptionList(), printHelpStr(), llvm::cl::generic_parser_base::printOptionInfo(), llvm::cl::basic_parser_impl::printOptionName(), PrintParentLoopComment(), llvm::DOTGraphTraits< RegionInfoPass * >::printRegionCluster(), and printrWithDepthHelper().
virtual bool llvm::raw_ostream::is_displayed | ( | ) | const [inline, 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 in llvm::raw_fd_ostream, and llvm::formatted_raw_ostream.
Definition at line 244 of file raw_ostream.h.
Referenced by llvm::CheckBitcodeOutputToConsole(), has_colors(), and llvm::formatted_raw_ostream::is_displayed().
raw_ostream& llvm::raw_ostream::operator<< | ( | char | C | ) | [inline] |
Definition at line 140 of file raw_ostream.h.
References llvm::CallingConv::C, and write().
Referenced by operator<<().
raw_ostream& llvm::raw_ostream::operator<< | ( | unsigned char | C | ) | [inline] |
Definition at line 147 of file raw_ostream.h.
References llvm::CallingConv::C, and write().
raw_ostream& llvm::raw_ostream::operator<< | ( | signed char | C | ) | [inline] |
Definition at line 154 of file raw_ostream.h.
References llvm::CallingConv::C, and write().
raw_ostream& llvm::raw_ostream::operator<< | ( | StringRef | Str | ) | [inline] |
Definition at line 161 of file raw_ostream.h.
References llvm::StringRef::data(), llvm::LibFunc::memcpy, llvm::StringRef::size(), and write().
raw_ostream& llvm::raw_ostream::operator<< | ( | const char * | Str | ) | [inline] |
Definition at line 174 of file raw_ostream.h.
References operator<<().
raw_ostream& llvm::raw_ostream::operator<< | ( | const std::string & | Str | ) | [inline] |
Definition at line 181 of file raw_ostream.h.
References write().
raw_ostream & raw_ostream::operator<< | ( | unsigned long | N | ) |
Definition at line 107 of file raw_ostream.cpp.
References write().
raw_ostream & raw_ostream::operator<< | ( | long | N | ) |
Definition at line 123 of file raw_ostream.cpp.
raw_ostream & raw_ostream::operator<< | ( | unsigned long long | N | ) |
Definition at line 133 of file raw_ostream.cpp.
References write().
raw_ostream & raw_ostream::operator<< | ( | long long | N | ) |
Definition at line 149 of file raw_ostream.cpp.
raw_ostream & raw_ostream::operator<< | ( | const void * | P | ) |
Definition at line 219 of file raw_ostream.cpp.
References write_hex().
raw_ostream& llvm::raw_ostream::operator<< | ( | unsigned int | N | ) | [inline] |
Definition at line 191 of file raw_ostream.h.
raw_ostream& llvm::raw_ostream::operator<< | ( | int | N | ) | [inline] |
Definition at line 195 of file raw_ostream.h.
raw_ostream & raw_ostream::operator<< | ( | double | N | ) |
Definition at line 225 of file raw_ostream.cpp.
References llvm::format(), llvm::LibFunc::isdigit, operator<<(), and llvm::LibFunc::snprintf.
raw_ostream & raw_ostream::operator<< | ( | const format_object_base & | Fmt | ) |
Definition at line 357 of file raw_ostream.cpp.
References llvm::SmallVectorTemplateCommon< T >::data(), llvm::format_object_base::print(), llvm::SmallVectorImpl< T >::resize(), and write().
size_t raw_ostream::preferred_buffer_size | ( | ) | const [protected, virtual] |
preferred_buffer_size - Return an efficient buffer size for the underlying output mechanism.
Definition at line 74 of file raw_ostream.cpp.
Referenced by GetBufferSize(), and SetBuffered().
virtual raw_ostream& llvm::raw_ostream::resetColor | ( | ) | [inline, virtual] |
Resets the colors to terminal defaults. Call this when you are done outputting colored text, or before program exit.
Reimplemented in llvm::raw_fd_ostream, and llvm::formatted_raw_ostream.
Definition at line 236 of file raw_ostream.h.
Referenced by llvm::SMDiagnostic::print(), and llvm::formatted_raw_ostream::resetColor().
virtual raw_ostream& llvm::raw_ostream::reverseColor | ( | ) | [inline, virtual] |
Reverses the forground and background colors.
Reimplemented in llvm::raw_fd_ostream, and llvm::formatted_raw_ostream.
Definition at line 239 of file raw_ostream.h.
Referenced by llvm::formatted_raw_ostream::reverseColor().
void llvm::raw_ostream::SetBuffer | ( | char * | BufferStart, |
size_t | Size | ||
) | [inline, protected] |
SetBuffer - 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.
Definition at line 281 of file raw_ostream.h.
Referenced by llvm::raw_svector_ostream::raw_svector_ostream(), and llvm::raw_svector_ostream::resync().
void raw_ostream::SetBuffered | ( | ) |
SetBuffered - Set the stream to be buffered, with an automatically determined buffer size.
Definition at line 79 of file raw_ostream.cpp.
References preferred_buffer_size(), SetBufferSize(), and SetUnbuffered().
Referenced by write().
void llvm::raw_ostream::SetBufferSize | ( | size_t | Size | ) | [inline] |
SetBufferSize - Set the stream to be buffered, using the specified buffer size.
Definition at line 103 of file raw_ostream.h.
References flush().
Referenced by SetBuffered(), and llvm::formatted_raw_ostream::setStream().
void llvm::raw_ostream::SetUnbuffered | ( | ) | [inline] |
SetUnbuffered - 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.
Definition at line 122 of file raw_ostream.h.
References flush().
Referenced by SetBuffered(), and llvm::formatted_raw_ostream::setStream().
uint64_t llvm::raw_ostream::tell | ( | ) | const [inline] |
tell - Return the current offset with the file.
Definition at line 91 of file raw_ostream.h.
References GetNumBytesInBuffer().
Referenced by llvm::OnDiskChainedHashTableGenerator< Info >::Emit(), llvm::MCAssembler::Finish(), printLine(), llvm::InstrProfWriter::write(), llvm::MachObjectWriter::WriteDysymtabLoadCommand(), writeFragment(), llvm::MachObjectWriter::WriteHeader(), llvm::MachObjectWriter::WriteLinkeditLoadCommand(), llvm::MachObjectWriter::WriteLinkerOptionsLoadCommand(), llvm::MachObjectWriter::WriteObject(), llvm::MachObjectWriter::WriteSection(), llvm::MCAssembler::writeSectionData(), llvm::MachObjectWriter::WriteSegmentLoadCommand(), and llvm::MachObjectWriter::WriteSymtabLoadCommand().
raw_ostream & raw_ostream::write | ( | unsigned char | C | ) |
Definition at line 275 of file raw_ostream.cpp.
References llvm::CallingConv::C, LLVM_UNLIKELY, and SetBuffered().
Referenced by llvm::raw_fd_ostream::changeColor(), EmitGCCInlineAsmStr(), EmitMSInlineAsmStr(), llvm::circular_raw_ostream::flushBufferWithBanner(), indent(), operator<<(), llvm::raw_fd_ostream::resetColor(), llvm::raw_fd_ostream::reverseColor(), llvm::support::endian::Writer< endian >::write(), write(), write_hex(), llvm::yaml::BinaryRef::writeAsBinary(), llvm::yaml::BinaryRef::writeAsHex(), and llvm::WriteBitcodeToFile().
raw_ostream & raw_ostream::write | ( | const char * | Ptr, |
size_t | Size | ||
) |
Definition at line 295 of file raw_ostream.cpp.
References LLVM_UNLIKELY, SetBuffered(), and write().
raw_ostream & raw_ostream::write_escaped | ( | StringRef | Str, |
bool | UseHexEscapes = false |
||
) |
write_escaped - Output Str
, turning '\', '', '
', '"', and anything that doesn't satisfy std::isprint into an escape sequence.
Definition at line 177 of file raw_ostream.cpp.
References llvm::StringRef::size().
Referenced by llvm::DWARFFormValue::dump(), llvm::StringToOffsetTable::EmitString(), and llvm::MCExternalSymbolizer::tryAddingPcLoadReferenceComment().
raw_ostream & raw_ostream::write_hex | ( | unsigned long long | N | ) |
write_hex - Output N
in hexadecimal, without any prefix or padding.
Definition at line 159 of file raw_ostream.cpp.
References write().
Referenced by dumpDataAux(), operator<<(), llvm::DIEInteger::print(), llvm::AArch64InstPrinter::printAlignedLabel(), printHex32(), llvm::AArch64InstPrinter::printLogicalImm32(), llvm::AArch64InstPrinter::printLogicalImm64(), llvm::ARMInstPrinter::printNEONModImmOperand(), and llvm::ARMInstPrinter::printOperand().