102 lines
3.8 KiB
C++
102 lines
3.8 KiB
C++
// -*- C++ -*-
|
|
|
|
namespace DTR {
|
|
/*! \class Techno
|
|
*
|
|
* This class contains generic informations such as the name of the technology and the unit used, and the list of all technologic rules.
|
|
*/
|
|
|
|
/*! \fn Techno::Techno(const char* name, const char* unit, const char* version)
|
|
* \brief creates a new technology
|
|
*
|
|
* \param name the name of the technology.
|
|
* \param unit the unit used for all values.
|
|
* \param version the technology version/revision.
|
|
*/
|
|
|
|
/*! \fn inline const std::string& Techno::getName() const
|
|
* \brief returns the name of the technology.
|
|
*/
|
|
|
|
/*! \fn inline const std::string& Techno::getUnit() const
|
|
* \brief returns the unit.
|
|
*/
|
|
|
|
/*! \fn inline std::vector<Rule*>& Techno::getRules()
|
|
* \brief returns a reference on the std::vector containing all technology's rules.
|
|
*
|
|
* \note this method is not yet available in python
|
|
*/
|
|
|
|
/*! \fn Rule* Techno::addRule(const char* name, double value, const char* ref, const char* layer1, const char* layer2)
|
|
* \brief creates a new Rule and adds it the to Techno object.
|
|
*
|
|
* \param name the name of the rule.
|
|
* \param value the value of the rule.
|
|
* \param ref the reference of the rule (helpful to find the rule in design kit).
|
|
* \param layer1 the first layer. This is an optionnal argument, default value is "".
|
|
* \param layer2 the second layer. This is an optionnal argument, default value is "".
|
|
*
|
|
* \return the newly created Rule object.
|
|
*/
|
|
|
|
/*! \fn Arule* Techno::addARule(const char* name, double value, const char* ref, const char* layer1, const char* layer2)
|
|
* \brief creates a new ARule and adds it to the Techno object.
|
|
*
|
|
* \param name the name of the rule.
|
|
* \param value the value of the rule.
|
|
* \param ref the reference of the rule (helpful to find the rule in design kit).
|
|
* \param layer1 the first layer.
|
|
* \param layer2 the second layer.
|
|
*
|
|
* \return the newly created ARule object.
|
|
*/
|
|
|
|
/*! \fn Rule* Techno::getRule(const char* name, const char* layer1, const char* layer2)
|
|
* \brief returns the rule uniquely identified by its name and layers.
|
|
*
|
|
* \param name the name of the rule.
|
|
* \param layer1 the first layer. This is an optionnal argument, default value is "".
|
|
* \param layer2 the second layer. This is an optionnal argument, default value is "".
|
|
*
|
|
* \return the rule.
|
|
*/
|
|
|
|
/*! \fn double Techno::getValue(const char* name, const char* layer1, const char* layer2)
|
|
* \brief returns the value of a rule uniquely identified by its name and layers.
|
|
*
|
|
* \param name the name of the rule.
|
|
* \param layer1 the first layer. This is an optionnal argument, default value is "".
|
|
* \param layer2 the second layer. This is an optionnal argument, default value is "".
|
|
*
|
|
* \return the value of the rule.
|
|
*/
|
|
|
|
/*! \fn std::string Techno::getValueAsString(const char* name, const char* layer1, const char* layer2)
|
|
* \brief returns a string corresponding to the value of a rule uniquely identified by its name and layers.
|
|
*
|
|
* \param name the name of the rule.
|
|
* \param layer1 the first layer. This is an optionnal argument, default value is "".
|
|
* \param layer2 the second layer. This is an optionnal argument, default value is "".
|
|
*
|
|
* \return the string corresponding to the value of the rule.
|
|
*
|
|
* \note this method is important for python module since to avoid rounding problems it is necessary to use Decimal object which is build based on a string.
|
|
*/
|
|
|
|
/*! \fn bool Techno::writeToFile(const char* filename)
|
|
* \brief writes the database to file.
|
|
*
|
|
* \param filename the destination file name.
|
|
*/
|
|
|
|
/*! \fn static Techno* Techno::readFromFile(const char* filename)
|
|
* \brief creates and returns a Techno object based on a database source file.
|
|
*
|
|
* \param filename the source file name.
|
|
*
|
|
* \return the newly created Techno.
|
|
*/
|
|
|
|
}
|