Gecode::SearchTracer Class Referenceabstract

Support for tracing search. More...

`#include <search.hh>`

## Classes

class | EngineInfo
| Information about an engine. More...
class | EdgeInfo
| Edge information. More...
class | NodeInfo
| Node information. More...

## Public Types

enum | EngineType { DFS = 0 , BAB = 1 , LDS = 2 , RBS = 3 , PBS = 4 , AOE = 5 }
| Which type of engine. More...
enum | NodeType { SOLVED = 0 , FAILED = 1 , BRANCH = 2 }
| Node type. More...

## Unsynchronized internal calls

| SearchTracer (void)
| Initialize.

## Engine information

unsigned int | workers (void) const
| Return number of workers.
unsigned int | engines (void) const
| Return number of engines.
const EngineInfo & | engine (unsigned int eid) const
| Provide access to engine with id eid.
unsigned int | eid (unsigned int wid) const
| Return the engine id of a worker with id wid.

## Trace event functions

virtual void | init (void)=0
| The search engine initializes.
virtual void | round (unsigned int eid)=0
| The engine with id eid goes to a next round (restart or next iteration in LDS).
virtual void | skip (const EdgeInfo &ei)=0
| The engine skips an edge.
virtual void | node (const EdgeInfo &ei, const NodeInfo &ni)=0
| The engine creates a new node with information ei and ni.
virtual void | done (void)=0
| All workers are done.
virtual | ~SearchTracer (void)
| Delete.

## Detailed Description

Support for tracing search.

Definition at line 187 of file search.hh.

## Member Enumeration Documentation

## EngineType

enum Gecode::SearchTracer::EngineType

Which type of engine.

Enumerator
DFS | Engine is a DFS engine.
BAB | Engine is a BAB engine.
LDS | Engine is a LDS engine.
RBS | Engine is a RBS engine.
PBS | Engine is a PBS engine.
AOE | Unspecified engine (any other engine).

Definition at line 193 of file search.hh.

## NodeType

enum Gecode::SearchTracer::NodeType

Node type.

Enumerator
SOLVED |
FAILED | A solution node.
BRANCH | A failed node.

Definition at line 276 of file search.hh.

## Constructor & Destructor Documentation

## SearchTracer()

Gecode::SearchTracer::SearchTracer | ( | void |  | ) |

inline

Initialize.

Definition at line 220 of file tracer.hpp.

## ~SearchTracer()

Gecode::SearchTracer::~SearchTracer | ( | void |  | ) |

inline virtual

Delete.

Definition at line 284 of file tracer.hpp.

## Member Function Documentation

## workers()

unsigned int Gecode::SearchTracer::workers | ( | void |  | ) | const

inline

Return number of workers.

Definition at line 261 of file tracer.hpp.

## engines()

unsigned int Gecode::SearchTracer::engines | ( | void |  | ) | const

inline

Return number of engines.

Definition at line 266 of file tracer.hpp.

## engine()

const SearchTracer::EngineInfo & Gecode::SearchTracer::engine | ( | unsigned int | eid | ) | const

inline

Provide access to engine with id eid.

Definition at line 271 of file tracer.hpp.

## eid()

unsigned int Gecode::SearchTracer::eid | ( | unsigned int | wid | ) | const

inline

Return the engine id of a worker with id wid.

Definition at line 278 of file tracer.hpp.

## init()

virtual void Gecode::SearchTracer::init | ( | void |  | ) |

pure virtual

The search engine initializes.

Implemented in Gecode::CPProfilerSearchTracer, and Gecode::StdSearchTracer.

## round()

virtual void Gecode::SearchTracer::round | ( | unsigned int | eid | ) |

pure virtual

The engine with id eid goes to a next round (restart or next iteration in LDS).

Implemented in Gecode::CPProfilerSearchTracer, and Gecode::StdSearchTracer.

## skip()

virtual void Gecode::SearchTracer::skip | ( | const EdgeInfo & | ei | ) |

pure virtual

The engine skips an edge.

Implemented in Gecode::CPProfilerSearchTracer, and Gecode::StdSearchTracer.

## node()

virtual void Gecode::SearchTracer::node | ( | const EdgeInfo & | ei,
|  | const NodeInfo & | ni )

pure virtual

The engine creates a new node with information ei and ni.

Implemented in Gecode::CPProfilerSearchTracer, and Gecode::StdSearchTracer.

## done()

virtual void Gecode::SearchTracer::done | ( | void |  | ) |

pure virtual

All workers are done.

Implemented in Gecode::CPProfilerSearchTracer, and Gecode::StdSearchTracer.

The documentation for this class was generated from the following files:

- gecode/search.hh
- gecode/search/tracer.hpp