VisualGDBExpressions Namespace

Contains interfaces and types used for development of expression visualizers and Visual Watch viewers.


ArrayChildProvider This class facilitates implementing expression filters for vector-like classes (e.g. std::vector). Given enough information about the amount of elements and C++ expressions representing them this class implements the IExpressionChildProvider interface required by VisualGDB.
ExpressionChildRange Represents a set of expression children returned by IExpressionChildProvider.QueryChildren().
ExpressionFilterRecord Contains information about one expression filter (e.g. visualizing std::vector types)
ExpressionValue Represents a value of an expression reported by GDB, such as 'true', '42' or '0x1000 "Test string"'. This class is never instantiated directly. Instead Integral, Custom or Composite classes are used.
ExpressionValueComposite Represents the '{...}' value returned by GDB when it encounters class instances. VisualGDB will replace this with a human-readable member summary when appropriate.
ExpressionValueCustom Represents an expression value that is neither integral nor composite. VisualGDB will interpret it as a fixed string and display to the user as is.
ExpressionValueIntegral Represents an expression value that can be converted to an integer or used as an address in the Memory window.
StaticChildProvider This class implements the IExpressionChildProvider interface required by VisualGDB for a fixed collection of IExpression implementations representing child nodes of a filtered expression.
StaticExpressionFilter Represents an expression that is a copy of another expression except for several overridden properties.
TypeListBasedExpressionFilter Used as a base class to create filters that automatically recognize template-based types with given names. This class implements the Probe() method automatically handling stripping of 'const' and 'volatile' modifiers as well as detecting pointers.
VirtualExpressionNode Represents an expression node with fixed name, value and children.



IExpression Represents an evaluated expression in a structured way exactly as displayed by Visual Studio in the Watch window.
IExpressionChildProvider Allows querying various information about the children of an expression.
IExpressionEvaluator Implemented by VisualGDB. Allows expression filters to ask GDB to evaluate arbitrary expressions an get the results in a structured way.
IExpressionFilter Implemented by each expression filter handling a certain type (e.g. std::vector)
IExpressionFilterFactory Implemented by each expression visualizer DLL. This interface is used by VisualGDB to create the instances of the expression filters provided by all plugins.



AccessType Represents a C++ access modifier of a class member. Visual Studio uses this when displaying the member icon.
DataOrCode Specifies whether the expression represents data or an executable function