LLVM 23.0.0git
llvm::yaml::ContiguousBlobAccumulator Class Reference

#include "llvm/ObjectYAML/ContiguousBlobAccumulator.h"

Public Member Functions

 ContiguousBlobAccumulator (uint64_t BaseOffset, uint64_t SizeLimit)
uint64_t tell () const
uint64_t getOffset () const
void writeBlobToStream (raw_ostream &Out) const
Error takeLimitError ()
LLVM_ABI uint64_t padToAlignment (unsigned Align)
raw_ostreamgetRawOS (uint64_t Size)
LLVM_ABI void writeAsBinary (const BinaryRef &Bin, uint64_t N=UINT64_MAX)
void writeZeros (uint64_t Num)
void write (const char *Ptr, size_t Size)
void write (unsigned char C)
LLVM_ABI unsigned writeULEB128 (uint64_t Val)
LLVM_ABI unsigned writeSLEB128 (int64_t Val)
template<typename T>
void write (T Val, llvm::endianness E)
LLVM_ABI void updateDataAt (uint64_t Pos, void *Data, size_t Size)

Detailed Description

Definition at line 33 of file ContiguousBlobAccumulator.h.

Constructor & Destructor Documentation

◆ ContiguousBlobAccumulator()

llvm::yaml::ContiguousBlobAccumulator::ContiguousBlobAccumulator ( uint64_t BaseOffset,
uint64_t SizeLimit )
inline

Definition at line 44 of file ContiguousBlobAccumulator.h.

References SizeLimit.

Member Function Documentation

◆ getOffset()

uint64_t llvm::yaml::ContiguousBlobAccumulator::getOffset ( ) const
inline

Definition at line 48 of file ContiguousBlobAccumulator.h.

Referenced by padToAlignment(), and updateDataAt().

◆ getRawOS()

raw_ostream * llvm::yaml::ContiguousBlobAccumulator::getRawOS ( uint64_t Size)
inline

Definition at line 60 of file ContiguousBlobAccumulator.h.

References Size.

Referenced by emitDWARF().

◆ padToAlignment()

uint64_t ContiguousBlobAccumulator::padToAlignment ( unsigned Align)
Returns
The new offset.

Definition at line 32 of file ContiguousBlobAccumulator.cpp.

References llvm::alignTo(), getOffset(), and writeZeros().

◆ takeLimitError()

Error llvm::yaml::ContiguousBlobAccumulator::takeLimitError ( )
inline

Definition at line 51 of file ContiguousBlobAccumulator.h.

◆ tell()

uint64_t llvm::yaml::ContiguousBlobAccumulator::tell ( ) const
inline

Definition at line 47 of file ContiguousBlobAccumulator.h.

Referenced by emitDWARF().

◆ updateDataAt()

void ContiguousBlobAccumulator::updateDataAt ( uint64_t Pos,
void * Data,
size_t Size )

Definition at line 65 of file ContiguousBlobAccumulator.cpp.

References assert(), llvm::Data, getOffset(), and Size.

◆ write() [1/3]

void llvm::yaml::ContiguousBlobAccumulator::write ( const char * Ptr,
size_t Size )
inline

Definition at line 73 of file ContiguousBlobAccumulator.h.

References Size.

◆ write() [2/3]

template<typename T>
void llvm::yaml::ContiguousBlobAccumulator::write ( T Val,
llvm::endianness E )
inline

Definition at line 87 of file ContiguousBlobAccumulator.h.

References E(), T, and llvm::support::endian::write().

◆ write() [3/3]

void llvm::yaml::ContiguousBlobAccumulator::write ( unsigned char C)
inline

Definition at line 78 of file ContiguousBlobAccumulator.h.

References llvm::CallingConv::C.

◆ writeAsBinary()

void ContiguousBlobAccumulator::writeAsBinary ( const BinaryRef & Bin,
uint64_t N = UINT64_MAX )

Definition at line 46 of file ContiguousBlobAccumulator.cpp.

References llvm::Bin, and N.

Referenced by writeContent().

◆ writeBlobToStream()

void llvm::yaml::ContiguousBlobAccumulator::writeBlobToStream ( raw_ostream & Out) const
inline

Definition at line 49 of file ContiguousBlobAccumulator.h.

◆ writeSLEB128()

unsigned ContiguousBlobAccumulator::writeSLEB128 ( int64_t Val)

Definition at line 59 of file ContiguousBlobAccumulator.cpp.

References llvm::encodeSLEB128().

◆ writeULEB128()

unsigned ContiguousBlobAccumulator::writeULEB128 ( uint64_t Val)

Definition at line 53 of file ContiguousBlobAccumulator.cpp.

References llvm::encodeULEB128().

◆ writeZeros()

void llvm::yaml::ContiguousBlobAccumulator::writeZeros ( uint64_t Num)
inline

Definition at line 68 of file ContiguousBlobAccumulator.h.

Referenced by padToAlignment(), and writeContent().


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