EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
PyPfxVisitor Class Reference

#include "PyVisitor.h"

Inheritance diagram for PyPfxVisitor:
Collaboration diagram for PyPfxVisitor:

Public Member Functions

 PyPfxVisitor (const char *pfx="")
 
- Public Member Functions inherited from PyVisitor
virtual ~PyVisitor ()
 
virtual bool VisitInteger (const PyInt *rep)
 primitive data visitors More...
 
virtual bool VisitLong (const PyLong *rep)
 
virtual bool VisitReal (const PyFloat *rep)
 
virtual bool VisitBoolean (const PyBool *rep)
 
virtual bool VisitNone (const PyNone *rep)
 
virtual bool VisitBuffer (const PyBuffer *rep)
 
virtual bool VisitString (const PyString *rep)
 
virtual bool VisitWString (const PyWString *rep)
 
virtual bool VisitToken (const PyToken *rep)
 
virtual bool VisitTuple (const PyTuple *rep)
 the nested types Visitor More...
 
virtual bool VisitList (const PyList *rep)
 
virtual bool VisitDict (const PyDict *rep)
 
virtual bool VisitObject (const PyObject *rep)
 Object type visitor. More...
 
virtual bool VisitObjectEx (const PyObjectEx *rep)
 
virtual bool VisitPackedRow (const PyPackedRow *rep)
 PackedRow type visitor. More...
 
virtual bool VisitSubStruct (const PySubStruct *rep)
 wrapper types Visitor More...
 
virtual bool VisitSubStream (const PySubStream *rep)
 
virtual bool VisitChecksumedStream (const PyChecksumedStream *rep)
 

Protected Member Functions

const char * _pfx () const
 
void _pfxExtend (const char *fmt,...)
 
void _pfxWithdraw ()
 

Protected Attributes

std::stack< std::string > mPfxStack
 

Detailed Description

Definition at line 83 of file PyVisitor.h.

Constructor & Destructor Documentation

PyPfxVisitor::PyPfxVisitor ( const char *  pfx = "")

Definition at line 143 of file PyVisitor.cpp.

References mPfxStack.

144 {
145  mPfxStack.push(pfx);
146 }
std::stack< std::string > mPfxStack
Definition: PyVisitor.h:93

Member Function Documentation

void PyPfxVisitor::_pfxExtend ( const char *  fmt,
  ... 
)
protected

Definition at line 148 of file PyVisitor.cpp.

References _pfx(), mPfxStack, SafeFree(), and vasprintf().

Referenced by PyDumpVisitor::VisitBuffer(), PyDumpVisitor::VisitChecksumedStream(), PyDumpVisitor::VisitDict(), PyXMLGenerator::VisitDict(), PyDumpVisitor::VisitList(), PyXMLGenerator::VisitList(), PyXMLGenerator::VisitObject(), PyDumpVisitor::VisitObject(), PyDumpVisitor::VisitObjectEx(), PyDumpVisitor::VisitPackedRow(), PyXMLGenerator::VisitSubStream(), PyDumpVisitor::VisitSubStream(), PyXMLGenerator::VisitSubStruct(), PyDumpVisitor::VisitSubStruct(), PyDumpVisitor::VisitTuple(), and PyXMLGenerator::VisitTuple().

149 {
150  va_list ap;
151  va_start(ap, fmt);
152 
153  char* res;
154  vasprintf(&res, fmt, ap);
155 
156  va_end(ap);
157 
158  std::string p(_pfx());
159  p += res;
160  mPfxStack.push(p);
161 
162  SafeFree(res);
163 }
std::stack< std::string > mPfxStack
Definition: PyVisitor.h:93
int vasprintf(char **strp, const char *fmt, va_list ap)
Definition: eve-compat.cpp:70
void SafeFree(T *&p)
Frees and nullifies an array pointer.
Definition: SafeMem.h:111
const char * _pfx() const
Definition: PyVisitor.h:89

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::stack<std::string> PyPfxVisitor::mPfxStack
protected

Definition at line 93 of file PyVisitor.h.

Referenced by _pfx(), _pfxExtend(), _pfxWithdraw(), and PyPfxVisitor().


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