LLVM 21.0.0git
Public Member Functions | List of all members
llvm::StringToOffsetTable Class Reference

StringToOffsetTable - This class uniques a bunch of nul-terminated strings and keeps track of their offset in a massive contiguous string allocation. More...

#include "llvm/TableGen/StringToOffsetTable.h"

Public Member Functions

 StringToOffsetTable ()
 
bool empty () const
 
size_t size () const
 
unsigned GetOrAddStringOffset (StringRef Str, bool appendZero=true)
 
std::optional< unsignedGetStringOffset (StringRef Str) const
 
void EmitStringTableDef (raw_ostream &OS, const Twine &Name, const Twine &Indent="") const
 
void EmitString (raw_ostream &O) const
 

Detailed Description

StringToOffsetTable - This class uniques a bunch of nul-terminated strings and keeps track of their offset in a massive contiguous string allocation.

It can then output this string blob and use indexes into the string to reference each piece.

Definition at line 25 of file StringToOffsetTable.h.

Constructor & Destructor Documentation

◆ StringToOffsetTable()

llvm::StringToOffsetTable::StringToOffsetTable ( )
inline

Definition at line 30 of file StringToOffsetTable.h.

References GetOrAddStringOffset().

Member Function Documentation

◆ EmitString()

void llvm::StringToOffsetTable::EmitString ( raw_ostream O) const
inline

◆ EmitStringTableDef()

void llvm::StringToOffsetTable::EmitStringTableDef ( raw_ostream OS,
const Twine Name,
const Twine Indent = "" 
) const
inline

Definition at line 71 of file StringToOffsetTable.h.

References assert(), llvm::CallingConv::C, llvm::formatv(), Name, and OS.

◆ empty()

bool llvm::StringToOffsetTable::empty ( ) const
inline

Definition at line 36 of file StringToOffsetTable.h.

References llvm::StringMapImpl::empty().

◆ GetOrAddStringOffset()

unsigned llvm::StringToOffsetTable::GetOrAddStringOffset ( StringRef  Str,
bool  appendZero = true 
)
inline

Definition at line 39 of file StringToOffsetTable.h.

References II, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and size().

Referenced by StringToOffsetTable().

◆ GetStringOffset()

std::optional< unsigned > llvm::StringToOffsetTable::GetStringOffset ( StringRef  Str) const
inline

◆ size()

size_t llvm::StringToOffsetTable::size ( ) const
inline

Definition at line 37 of file StringToOffsetTable.h.

Referenced by GetOrAddStringOffset().


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