| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iDebugHelper Struct Reference
[Utilities]

Some object that wants to implement unit testing, debugging and/or benchmarking can implement this interface. More...

`#include <iutil/dbghelp.h>`

Inheritance diagram for iDebugHelper:

[legend]
List of all members.

## Public Member Functions
virtual csTicks | Benchmark (int num_iterations)=0
| Perform a benchmark.
virtual bool | DebugCommand (const char *cmd)=0
| Perform a debug command as defined by the module itself.
virtual void | Dump (iGraphics3D *g3d)=0
| Do a graphical dump of the current state of this object.
virtual csPtr< iString > | Dump ()=0
| Do a text dump of the current state of this object.
virtual int | GetSupportedTests () const =0
| Return a bit field indicating what types of functions this specific unit test implementation supports.
virtual csPtr< iString > | StateTest ()=0
| Perform a state test.
virtual csPtr< iString > | UnitTest ()=0
| Perform a unit test.

## Detailed Description

Some object that wants to implement unit testing, debugging and/or benchmarking can implement this interface.

Definition at line 61 of file dbghelp.h.

## Member Function Documentation

virtual csTicks iDebugHelper::Benchmark | ( | int | num_iterations | ) | `[pure virtual]`

Perform a benchmark.

This function will return a number indicating how long the benchmark lasted in milliseconds.

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, and csGraphics2D.

virtual bool iDebugHelper::DebugCommand | ( | const char * | cmd | ) | `[pure virtual]`

Perform a debug command as defined by the module itself.

Returns 'false' if the command was not recognized.

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, csGraphics2D, and csGraphics2DGLCommon.

virtual void iDebugHelper::Dump | ( | iGraphics3D * | g3d | ) | `[pure virtual]`

Do a graphical dump of the current state of this object.

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, and csGraphics2D.

virtual csPtr<iString> iDebugHelper::Dump | ( |  | ) | `[pure virtual]`

Do a text dump of the current state of this object.

Returns 0 if not supported or else a string which you should DecRef() after use.

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, and csGraphics2D.

virtual int iDebugHelper::GetSupportedTests | ( |  | ) | const`[pure virtual]`

Return a bit field indicating what types of functions this specific unit test implementation supports.

This will return a combination of the CS_DBGHELP_... flags:

- CS_DBGHELP_UNITTEST
- CS_DBGHELP_BENCHMARK
- CS_DBGHELP_TXTDUMP
- CS_DBGHELP_GFXDUMP
- CS_DBGHELP_STATETEST

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, and csGraphics2D.

virtual csPtr<iString> iDebugHelper::StateTest | ( |  | ) | `[pure virtual]`

Perform a state test.

This function will test if the current state of the object is ok. It will return 0 if it is ok. Otherwise an iString is returned containing some information about the errors. DecRef() this returned string after using it.

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, and csGraphics2D.

virtual csPtr<iString> iDebugHelper::UnitTest | ( |  | ) | `[pure virtual]`

Perform a unit test.

This function will try to test as much as possible of the given module. This function returns 0 if the test succeeded. Otherwise an iString is returned containing some information about the errors. DecRef() this returned string after using it.

Implemented in csKDTree, csGeomDebugHelper, csTiledCoverageBuffer, and csGraphics2D.

The documentation for this struct was generated from the following file:

- iutil/dbghelp.h