LLVM: OutputBuffer Class Reference (original) (raw)

#include "[llvm/Demangle/Utility.h](Demangle%5F2Utility%5F8h%5Fsource.html)"

Public Member Functions
OutputBuffer (char *StartBuf, size_t Size)
OutputBuffer (char *StartBuf, size_t *SizePtr)
OutputBuffer ()=default
OutputBuffer (const OutputBuffer &)=delete
OutputBuffer & operator= (const OutputBuffer &)=delete
virtual ~OutputBuffer ()=default
operator std::string_view () const
virtual void printLeft (const Node &N)
Called by the demangler when printing the demangle tree.
virtual void printRight (const Node &N)
virtual void notifyInsertion (size_t, size_t)
Called when we write to this object anywhere other than the end.
virtual void notifyDeletion (size_t, size_t)
Called when we make the CurrentPosition of this object smaller.
bool isInParensInTemplateArgs () const
Returns true if we're currently between a '(' and ')' when printing template args.
bool isInsideTemplateArgs () const
Returns true if we're printing template args.
void printOpen (char Open='(')
void printClose (char Close=')')
OutputBuffer & operator+= (std::string_view R)
OutputBuffer & operator+= (char C)
OutputBuffer & prepend (std::string_view R)
OutputBuffer & operator<< (std::string_view R)
OutputBuffer & operator<< (char C)
OutputBuffer & operator<< (long long N)
OutputBuffer & operator<< (unsigned long long N)
OutputBuffer & operator<< (long N)
OutputBuffer & operator<< (unsigned long N)
OutputBuffer & operator<< (int N)
OutputBuffer & operator<< (unsigned int N)
void insert (size_t Pos, const char *S, size_t N)
size_t getCurrentPosition () const
void setCurrentPosition (size_t NewPos)
char back () const
bool empty () const
char * getBuffer ()
char * getBufferEnd ()
size_t getBufferCapacity () const
Public Attributes
unsigned CurrentPackIndex = std::numeric_limits<unsigned>::max()
If a ParameterPackExpansion (or similar type) is encountered, the offset into the pack that we're currently printing.
unsigned CurrentPackMax = std::numeric_limits<unsigned>::max()
struct {
unsigned ParenDepth = 0
The depth of '(' and ')' inside the currently printed template arguments. More...
bool InsideTemplate = false
True if we're currently printing a template argument. More...
} TemplateTracker

Definition at line 34 of file Utility.h.

OutputBuffer::OutputBuffer ( char * StartBuf, size_t Size ) inline

Definition at line 75 of file Utility.h.

References Size.

Referenced by operator+=(), operator+=(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator=(), OutputBuffer(), OutputBuffer(), and prepend().

OutputBuffer() [2/4]

OutputBuffer::OutputBuffer ( char * StartBuf, size_t * SizePtr ) inline

OutputBuffer() [3/4]

OutputBuffer::OutputBuffer ( ) default

OutputBuffer() [4/4]

~OutputBuffer()

virtual OutputBuffer::~OutputBuffer ( ) virtualdefault

back()

char OutputBuffer::back ( ) const inline

empty()

bool OutputBuffer::empty ( ) const inline

getBuffer()

char * OutputBuffer::getBuffer ( ) inline

getBufferCapacity()

size_t OutputBuffer::getBufferCapacity ( ) const inline

getBufferEnd()

char * OutputBuffer::getBufferEnd ( ) inline

getCurrentPosition()

size_t OutputBuffer::getCurrentPosition ( ) const inline

insert()

void OutputBuffer::insert ( size_t Pos, const char * S, size_t N ) inline

isInParensInTemplateArgs()

bool OutputBuffer::isInParensInTemplateArgs ( ) const inline

Returns true if we're currently between a '(' and ')' when printing template args.

Definition at line 118 of file Utility.h.

References TemplateTracker.

isInsideTemplateArgs()

bool OutputBuffer::isInsideTemplateArgs ( ) const inline

notifyDeletion()

virtual void OutputBuffer::notifyDeletion ( size_t , size_t ) inlinevirtual

notifyInsertion()

virtual void OutputBuffer::notifyInsertion ( size_t , size_t ) inlinevirtual

Called when we write to this object anywhere other than the end.

Definition at line 97 of file Utility.h.

Referenced by insert(), and prepend().

operator std::string_view()

OutputBuffer::operator std::string_view ( ) const inline

operator+=() [1/2]

operator+=() [2/2]

OutputBuffer & OutputBuffer::operator+= ( std::string_view R) inline

operator<<() [1/8]

operator<<() [2/8]

operator<<() [3/8]

OutputBuffer & OutputBuffer::operator<< ( long long N) inline

operator<<() [4/8]

operator<<() [5/8]

OutputBuffer & OutputBuffer::operator<< ( std::string_view R) inline

operator<<() [6/8]

operator<<() [7/8]

operator<<() [8/8]

operator=()

prepend()

OutputBuffer & OutputBuffer::prepend ( std::string_view R) inline

printClose()

void OutputBuffer::printClose ( char Close = ')') inline

printLeft()

void OutputBuffer::printLeft ( const Node & N) inlinevirtual

Called by the demangler when printing the demangle tree.

By default calls into [Node::print](classNode.html#a05779201e7fa0913e5b50fdbc5c49135){Left|Right} but can be overriden by clients to track additional state when printing the demangled name.

Definition at line 6202 of file ItaniumDemangle.h.

References N.

printOpen()

void OutputBuffer::printOpen ( char Open = '(') inline

printRight()

void OutputBuffer::printRight ( const Node & N) inlinevirtual

setCurrentPosition()

void OutputBuffer::setCurrentPosition ( size_t NewPos) inline

CurrentPackIndex

CurrentPackMax

InsideTemplate

bool OutputBuffer::InsideTemplate = false

True if we're currently printing a template argument.

Definition at line 113 of file Utility.h.

ParenDepth

The depth of '(' and ')' inside the currently printed template arguments.

Definition at line 110 of file Utility.h.

[struct]

struct { ... } OutputBuffer::TemplateTracker


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