coriolis/crlcore/doc/crlcore/ToolEngine.dox

66 lines
2.0 KiB
C++

// -*- C++ -*-
namespace CRL {
/*! \class ToolEngine
* \brief Base Class of all Coriolis Tools
*
* ToolEngine is the base class of all tools for coriolis,
* used for Mauka, Knik, Kite, ...
*
* Provides the basic mechanism for finding a tool and
* hooking it through a relation on a Cell.
*/
/*! \function ToolEngines ToolEngine::get(const Hurricane::Cell* cell);
* \Return The Collection of all ToolEngines hooked \c cell.
*/
/*! \function ToolEngine* ToolEngine::get(const Hurricane::Cell* cell, const Hurricane::Name& name);
* \Return The ToolEngine of type \c name hooked \c cell (\c NULL if
* not present).
*/
/*! \function void ToolEngine::destroyAll();
* Destroy all the ToolEngines that have been created.
* Should be called only in prelude to database destruction.
*/
/*! \function const Hurricane::Name& ToolEngine::getName() const;
* \Return The name of the ToolEngine. This is pure virtual function
* to be overloaded in concrete tools. Each ToolEngine must
* return an unique identifier.
*/
/*! \name ToolEngine Collection
*/
// \{
/*! \typedef ToolEngines
* Generic collection representing a set of ToolEngines.
*
* To iterate over a Collection of ToolEngines, uses the generaic
* \c forEach macro:
\code
forEach(ToolEngine*, iengine, ToolEngine::get(cell)) {
cout << iengine->getName() << endl;
// Do someting on the ToolEngine in the iengine iterator.
// ...
}
\endcode
*/
/*! \typedef ToolEngineLocator
* Generic locator for traversing a collection of ToolEngines.
*/
/*! \typedef ToolEngineFilter
* Generic filter allowing to select a subset of ToolEngines matching
* some criteria.
*/
// \}
}