SymbolGroupValue Class
The SymbolGroupValue class is a flyweight tied to a SymbolGroupNode providing a convenient operator[] (name, index) and value getters for notation of dumpers. More...
Header: | #include <SymbolGroupValue> |
Public Types
typedef | Symbol |
typedef | SymbolList |
Public Functions
SymbolGroupValue(SymbolGroupNode *node, const SymbolGroupValueContext &c) | |
SymbolGroupValue() | |
SymbolGroupValue | addSymbol(const ULONG64 address, const std::string &type) const |
SymbolGroupValue | addSymbolForAncestor(const std::string &ancestorName) const |
ULONG64 | address() const |
ULONG64 | addressOfAncestor(const std::string &name) const |
unsigned | childCount() const |
SymbolGroupValueContext | context() const |
std::string | error() const |
double | floatValue(double defaultValue = -999) const |
SymbolAncestorInfo | infoOfAncestor(const std::string &name) const |
std::vector<std::string> | innerTypes() const |
int | intValue(int defaultValue = -1) const |
bool | isValid() const |
std::string | module() const |
std::string | name() const |
SymbolGroupNode * | node() const |
LONG64 | offsetOfAncestor(const std::string &name) const |
ULONG64 | offsetOfChild(const SymbolGroupValue &child) const |
SymbolGroupValue | parent() const |
unsigned char * | pointerData(unsigned length) const |
SymbolGroupValue | pointerTypeCast(const char *type) const |
ULONG64 | pointerValue(ULONG64 defaultValue = 0) const |
int | readIntegerFromAncestor(const std::string &name, int defaultValue = -1) const |
ULONG64 | readPointerValueFromAncestor(const std::string &name) const |
unsigned | size() const |
std::string | type() const |
SymbolGroupValue | typeCast(const char *type) const |
std::string | typeOfAncestor(const std::string &childName) const |
std::wstring | value() const |
std::wstring | wcharPointerData(unsigned charCount, unsigned maxCharCount = 512) const |
operator bool() const | |
SymbolGroupValue | operator[](const char *name) const |
SymbolGroupValue | operator[](unsigned) const |
Static Public Members
std::string | addPointerType(const std::string &) |
unsigned | fieldOffset(const char *type, const char *field) |
SymbolGroupValue | findMember(const SymbolGroupValue &start, const std::string &symbolName) |
std::list<std::string> | getAllModuleNames(const SymbolGroupValueContext &c, std::string *errorMessage = 0) |
std::vector<std::string> | innerTypesOf(const std::string &t) |
unsigned | intSize() |
bool | isArrayType(const std::string &) |
unsigned | isMovable(const std::string &, const SymbolGroupValue &v) |
unsigned | isPointerType(const std::string &) |
bool | isVTableType(const std::string &t) |
std::string | moduleOfType(const std::string &type) |
std::string | pointedToSymbolName(ULONG64 address, const std::string &type) |
unsigned | pointerDiffSize() |
unsigned | pointerSize() |
std::string | pointerType(const std::string &type) |
double | readDouble(CIDebugDataSpaces *ds, ULONG64 address, double defaultValue = 0.0, std::string *errorMessage = 0) |
int | readIntValue(CIDebugDataSpaces *ds, ULONG64 address, int defaultValue = 0, std::string *errorMessage = 0) |
unsigned char * | readMemory(CIDebugDataSpaces *ds, ULONG64 address, ULONG length, std::string *errorMessage = 0) |
ULONG64 | readPointerValue(CIDebugDataSpaces *ds, ULONG64 address, std::string *errorMessage = 0) |
LONG64 | readSignedValue(CIDebugDataSpaces *ds, ULONG64 address, ULONG debuggeeTypeSize, LONG64 defaultValue = 0, std::string *errorMessage = 0) |
ULONG64 | readUnsignedValue(CIDebugDataSpaces *ds, ULONG64 address, ULONG debuggeeTypeSize, ULONG64 defaultValue = 0, std::string *errorMessage = 0) |
SymbolList | resolveSymbol(const char *pattern, const SymbolGroupValueContext &c, std::string *errorMessage = 0) |
std::list<std::string> | resolveSymbolName(const char *pattern, const SymbolGroupValueContext &c, std::string *errorMessage = 0) |
std::string | resolveType(const std::string &type, const SymbolGroupValueContext &ctx, const std::string ¤tModule = std::string()) |
unsigned | sizeOf(const char *type) |
std::string | stripArrayType(const std::string &) |
std::string | stripClassPrefixes(const std::string &) |
std::string | stripConst(const std::string &type) |
std::string | stripModuleFromType(const std::string &type) |
std::string | stripPointerType(const std::string &) |
bool | writeMemory(CIDebugDataSpaces *ds, ULONG64 address, const unsigned char *data, ULONG length, std::string *errorMessage = 0) |
Detailed Description
The SymbolGroupValue class is a flyweight tied to a SymbolGroupNode providing a convenient operator[] (name, index) and value getters for notation of dumpers.
Inaccessible members return a SymbolGroupValue in state 'invalid'. Example:
SymbolGroupValue container(symbolGroupNode, symbolGroupValueContext); if (SymbolGroupValue sizeV = container["d"]["size"]) int size = sizeV.intValue()
Member Function Documentation
SymbolGroupValue::SymbolGroupValue(SymbolGroupNode *node, const SymbolGroupValueContext &c)
Copy constructor.
SymbolGroupValue::SymbolGroupValue()
Default constructs an instance of SymbolGroupValue.