// -*- C++ -*-

namespace OpenChams {
/*! \class Layout
 *
 *  This class describes layout informations for an Instance.
 *
 *  The Layout object is used to store all informations relative to physical layout of the instance (such as the layout style).
 *
 *   \note The Layout object is optionnal in Circuit.
 */

/*! \fn Layout::Layout(Circuit* circuit)
 *   \brief creates a new layout.
 *
 *   \param circuit the circuit to which the layout belongs.
 */

/*! \fn void Layout::addInstance(Name name, Name style)
 *   \brief adds layout informations for a instance.
 *
 *   \param name  the instance's name to which the layout is associated.
 *   \param style the layout style.
 */

/*! \fn inline bool Layout::hasNoInstance()
 *   \brief returns true if the layout has no Instance.
 */

/*! \fn inline const std::map<Name, Infos*>& Layout::getInstances()
 *   \brief returns the map of Instances.
 */

/*! \fn inline Node* Layout::getHBTreeRoot()
 *   \brief returns the root of the placement tree associated to the layout.
 */

/*! \fn inline void  Layout::setHBTreeRoot(Node* root)
 *   \brief sets the root of the placement tree associated to the layout.
 *
 *   \param root the root of the palcement tree.
 */

}

