Extending Qt Creator Manual | SymbolGroupValue

Extending Qt Creator Manual 4.3.0

# 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>

- List of all members, including inherited members

## 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 &currentModule = 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 Type Documentation

### typedef SymbolGroupValue::Symbol

### typedef SymbolGroupValue::SymbolList

## Member Function Documentation

### SymbolGroupValue::SymbolGroupValue(SymbolGroupNode *node, const SymbolGroupValueContext &c)

Copy constructor.

### SymbolGroupValue::SymbolGroupValue()

Default constructs an instance of SymbolGroupValue.

### `[static]` std::string SymbolGroupValue::addPointerType(const std::string &)

### SymbolGroupValue SymbolGroupValue::addSymbol(const ULONG64 address, const std::string &type) const

### SymbolGroupValue SymbolGroupValue::addSymbolForAncestor(const std::string &ancestorName) const

### ULONG64 SymbolGroupValue::address() const

### ULONG64 SymbolGroupValue::addressOfAncestor(const std::string &name) const

### unsigned SymbolGroupValue::childCount() const

### SymbolGroupValueContext SymbolGroupValue::context() const

### std::string SymbolGroupValue::error() const

### `[static]` unsigned SymbolGroupValue::fieldOffset(const char *type, const char *field)

### `[static]` SymbolGroupValue SymbolGroupValue::findMember(const SymbolGroupValue &start, const std::string &symbolName)

### double SymbolGroupValue::floatValue(double defaultValue = -999) const

### `[static]` std::list<std::string> SymbolGroupValue::getAllModuleNames(const SymbolGroupValueContext &c, std::string *errorMessage = 0)

### SymbolAncestorInfo SymbolGroupValue::infoOfAncestor(const std::string &name) const

### std::vector<std::string> SymbolGroupValue::innerTypes() const

### `[static]` std::vector<std::string> SymbolGroupValue::innerTypesOf(const std::string &t)

### `[static]` unsigned SymbolGroupValue::intSize()

### int SymbolGroupValue::intValue(int defaultValue = -1) const

### `[static]` bool SymbolGroupValue::isArrayType(const std::string &)

### `[static]` unsigned SymbolGroupValue::isMovable(const std::string &, const SymbolGroupValue &v)

### `[static]` unsigned SymbolGroupValue::isPointerType(const std::string &)

### `[static]` bool SymbolGroupValue::isVTableType(const std::string &t)

### bool SymbolGroupValue::isValid() const

### std::string SymbolGroupValue::module() const

### `[static]` std::string SymbolGroupValue::moduleOfType(const std::string &type)

### std::string SymbolGroupValue::name() const

### SymbolGroupNode *SymbolGroupValue::node() const

### LONG64 SymbolGroupValue::offsetOfAncestor(const std::string &name) const

### ULONG64 SymbolGroupValue::offsetOfChild(const SymbolGroupValue &child) const

### SymbolGroupValue SymbolGroupValue::parent() const

### `[static]` std::string SymbolGroupValue::pointedToSymbolName(ULONG64 address, const std::string &type)

### unsigned char *SymbolGroupValue::pointerData(unsigned length) const

### `[static]` unsigned SymbolGroupValue::pointerDiffSize()

### `[static]` unsigned SymbolGroupValue::pointerSize()

### `[static]` std::string SymbolGroupValue::pointerType(const std::string &type)

### SymbolGroupValue SymbolGroupValue::pointerTypeCast(const char *type) const

### ULONG64 SymbolGroupValue::pointerValue(ULONG64 defaultValue = 0) const

### `[static]` double SymbolGroupValue::readDouble(CIDebugDataSpaces *ds, ULONG64 address, double defaultValue = 0.0, std::string *errorMessage = 0)

### `[static]` int SymbolGroupValue::readIntValue(CIDebugDataSpaces *ds, ULONG64 address, int defaultValue = 0, std::string *errorMessage = 0)

### int SymbolGroupValue::readIntegerFromAncestor(const std::string &name, int defaultValue = -1) const

### `[static]` unsigned char *SymbolGroupValue::readMemory(CIDebugDataSpaces *ds, ULONG64 address, ULONG length, std::string *errorMessage = 0)

### `[static]` ULONG64 SymbolGroupValue::readPointerValue(CIDebugDataSpaces *ds, ULONG64 address, std::string *errorMessage = 0)

### ULONG64 SymbolGroupValue::readPointerValueFromAncestor(const std::string &name) const

### `[static]` LONG64 SymbolGroupValue::readSignedValue(CIDebugDataSpaces *ds, ULONG64 address, ULONG debuggeeTypeSize, LONG64 defaultValue = 0, std::string *errorMessage = 0)

### `[static]` ULONG64 SymbolGroupValue::readUnsignedValue(CIDebugDataSpaces *ds, ULONG64 address, ULONG debuggeeTypeSize, ULONG64 defaultValue = 0, std::string *errorMessage = 0)

### `[static]` SymbolList SymbolGroupValue::resolveSymbol(const char *pattern, const SymbolGroupValueContext &c, std::string *errorMessage = 0)

### `[static]` std::list<std::string> SymbolGroupValue::resolveSymbolName(const char *pattern, const SymbolGroupValueContext &c, std::string *errorMessage = 0)

### `[static]` std::string SymbolGroupValue::resolveType(const std::string &type, const SymbolGroupValueContext &ctx, const std::string &currentModule = std::string())

### unsigned SymbolGroupValue::size() const

### `[static]` unsigned SymbolGroupValue::sizeOf(const char *type)

### `[static]` std::string SymbolGroupValue::stripArrayType(const std::string &)

### `[static]` std::string SymbolGroupValue::stripClassPrefixes(const std::string &)

### `[static]` std::string SymbolGroupValue::stripConst(const std::string &type)

### `[static]` std::string SymbolGroupValue::stripModuleFromType(const std::string &type)

### `[static]` std::string SymbolGroupValue::stripPointerType(const std::string &)

### std::string SymbolGroupValue::type() const

### SymbolGroupValue SymbolGroupValue::typeCast(const char *type) const

### std::string SymbolGroupValue::typeOfAncestor(const std::string &childName) const

### std::wstring SymbolGroupValue::value() const

### std::wstring SymbolGroupValue::wcharPointerData(unsigned charCount, unsigned maxCharCount = 512) const

### `[static]` bool SymbolGroupValue::writeMemory(CIDebugDataSpaces *ds, ULONG64 address, const unsigned char *data, ULONG length, std::string *errorMessage = 0)

### SymbolGroupValue::operator bool() const

### SymbolGroupValue SymbolGroupValue::operator[](const char *name) const

### SymbolGroupValue SymbolGroupValue::operator[](unsigned) const