66 lines
2.0 KiB
Plaintext
66 lines
2.0 KiB
Plaintext
|
|
||
|
// -*- 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.
|
||
|
*/
|
||
|
|
||
|
// \}
|
||
|
|
||
|
}
|