// -*- C++ -*-

namespace OpenChams {
/*! \class Instance
 *
 *  This class describes an instance.
 *
 *  Basicaly an instance is a subcircuit of the current (top) circuit.
 */

/*! \fn Instance::Instance(Name name, Name model, Netlist* netlist)
 *   \brief creates a new instance.
 *
 *   \param name    the name of the instance.
 *   \param model   the model of the instance.
 *   \param netlist the netlist to which the instance belongs.
 */

/*! \fn void Instance::addConnector(Name name)
 *   \brief adds a connector to the instance.
 *  
 *   \param name  the name of the connector.
 */

/*! \fn void Instance::connect(Name connectorName, Name netName)
 *   \brief connects a net to one of the instance's connectors.
 *
 *   \param connectorName the name of the connector.
 *   \param netName       the name of the net.
 */

/*! \fn inline void Instance::addParameter(Name name, double value)
 *   \brief adds a parameter to the instance.
 *
 *   \param name  the name of the parameter.
 *   \param value the value of the parameter.
 */

/*! \fn inline void Instance::addParameter(Name name, std::string equation)
 *   \brief adds an equation parameter to the instance.
 *
 *   \param name     the name of the parameter.
 *   \param equation the equation string of the parameter.
 */

/*! \fn Name Instance::getName()
 *   \brief returns the name of the instance.
 */

/*! \fn Name Instance::getModel()
 *   \brief returns the model of the instance.
 */

/*! \fn inline Netlist* Instance::getNetlist()
 *   \brief returns the netlist to which the instance belongs.
 */

/*! \fn inline Parameters Instance::getParameters()
 *   \brief returns the parameters of the instance.
 */

/*! \fn inline bool Instance::hasNoConnectors()
 *   \brief returns true if the instance has no connectors.
 */

/*! \fn inline const std::map<Name, Net*>& Instance::getConnectors()
 *   \brief returns the map of instance's connectors.
 */

}
