Extending Qt Creator Manual | SymbolGroupNodeVisitor

Extending Qt Creator Manual 4.11.0

# SymbolGroupNodeVisitor Class

The SymbolGroupNodeVisitor class is a visitor that iterates over the nodes and builds the full iname path ('local.foo.bar') that is required for GDBMI dumping. More...

Header: | #include <SymbolGroupNodeVisitor>
Inherited By: | DebugSymbolGroupNodeVisitor and DumpSymbolGroupNodeVisitor

- List of all members, including inherited members

## Public Functions

virtual | ~SymbolGroupNodeVisitor()

## Static Public Members

const char | iNamePathSeparator
std::string | parentIname(const std::string &iname)

## Protected Types

enum | VisitResult { VisitContinue, VisitSkipChildren, VisitStop }

## Protected Functions

| SymbolGroupNodeVisitor()
virtual void | childrenVisited(const AbstractSymbolGroupNode *, unsigned int)
virtual bool | sortChildrenAlphabetically() const
virtual SymbolGroupNodeVisitor::VisitResult | visit(AbstractSymbolGroupNode *node, const std::string &fullIname, unsigned int child, unsigned int depth) = 0

## Detailed Description

The SymbolGroupNodeVisitor class is a visitor that iterates over the nodes and builds the full iname path ('local.foo.bar') that is required for GDBMI dumping.

The full name depends on the path on which a node was reached for referenced nodes (a linked list element can be reached via array index or by expanding the whole structure). visit() is not called for the (invisible) root node, but starting with the root's children with depth=0. Return VisitStop from visit() to terminate the recursion.

## Member Type Documentation

### enum SymbolGroupNodeVisitor::VisitResult

## Member Function Documentation

### `[protected]` SymbolGroupNodeVisitor::SymbolGroupNodeVisitor()

Default constructs an instance of SymbolGroupNodeVisitor.

### `[virtual]` SymbolGroupNodeVisitor::~SymbolGroupNodeVisitor()

Destroys the instance of SymbolGroupNodeVisitor. The destructor is virtual.

### `[virtual protected]` void SymbolGroupNodeVisitor::childrenVisited(const AbstractSymbolGroupNode *, unsigned int)

### `[static]` std::string SymbolGroupNodeVisitor::parentIname(const std::string &iname)

### `[virtual protected]` bool SymbolGroupNodeVisitor::sortChildrenAlphabetically() const

### `[pure virtual protected]` SymbolGroupNodeVisitor::VisitResult SymbolGroupNodeVisitor::visit(AbstractSymbolGroupNode *node, const std::string &fullIname, unsigned int child, unsigned int depth)