// -*- C++ -*-

namespace SPICE {
/*! \class Subckt
 *
 *  This class describes a subckt of the global circuit.
 */

/*! \fn Subckt::Subckt(std::string name)
 *   \brief creates a new subckt.
 *
 *   \param name the name of the subckt
 */

/*! \fn inline const std::string Subckt::getName()
 *   \brief returns the name of the subckt.
 */

/*! \fn inline const std::vector<std::string>& Subckt::getInterfaces()
 *   \brief returns the interfaces of the subckt.
 */

/*! \fn inline const std::vector<Instance*>& Subckt::getInstances()
 *   \brief returns the instances of the subckt.
 */

/*! \fn inline const std::map<std::string, std::string>& Subckt::getParameters()
 *   \brief returns the parameters of the subckt.
 */

/*! \fn inline const std::vector<std::string>& Subckt::getComments()
 *   \brief returns the comments of the subckt.
 *
 *   \note comments of a subckt are the first lines of the subckt to describe the interfaces of the subckt.
 */


/*! \fn inline void Subckt::addInterface(std::string name)
 *   \brief adds an interface to the subckt.
 *
 *   \param name the name of the interface to add.
 */

/*! \fn inline void Subckt::addInstance (Instance* instance)
 *   \brief adds an instance to the subckt.
 *
 *   \param instance the instance to add.
 */

/*! \fn inline void Subckt::addComment(std::string comment)
 *   \brief adds a comment to the subckt.
 *
 *   \param comment the comment to add.
 *
 *   \note comments of a subckt are the first lines of the subckt to describe the interfaces of the subckt.
 */

/*! \fn void Subckt::addParameter(std::string name, std::string value)
 *   \brief adds a parameter to the subckt.
 *
 *   \param name  the name of the parameter to add.
 *   \param value the value of the parameter to add.
 */

}

