// -*- C++ -*- namespace Hurricane { /*! \class ListCollection * \brief ListCollection description (\b API) * * \section secListCollectionIntro Introduction * * This collection allows you to handle a STL list as a * collection. * * In priciple you don't need to handle directly this * collection, you only need to handle a generic collection * bound to a ListCollection as created by the generic * function GetCollection(...) which builds one when its * argument is a STL list (for that reason we will not describe * it). * * * \section secListCollectionOverloadingsOfTheGetcollectionGenericFunction Overloadings of the GetCollection generic function * * Hurricane::ListCollection::GetCollection * Hurricane::ListCollection::GetCollection * * * \section secListCollectionRemarks Remarks * * Like for the other collections, there is no copy of the * elements included in the list, but instead a link from the * collection to the list. * * Once the collection as been built, you can perfectly modify * the list; the added or deleted elements will be taken into * account when visiting the list, as shown in the following * example : \code list netList; Nets nets = GetCollection(netList); // nets is bound here to the list netList // and will reflect its content until the end // so we can : assert(nets.IsEmpty()); Cell* cell = ... // we get a cell if (cell) { Net* net = cellGetNet("vdd"); if (net) { netList.push_back(net); // and now : assert(nets.GetSize() == 1); } } \endcode */ /*! \function GenericCollection ListCollection::GetCollection(const list& elementList); * \see below. */ /*! \function GenericCollection ListCollection::GetCollection(const list* elementList);; * Those two function return into generic collection bound to a * ListCollection the content of the STL list given in * argument. */ }