25 #ifndef DOXYGEN_NOTFOR_USER 
   28 #include <tulip/BmdLink.h> 
   31 template <
typename TYPE>
 
   34   typedef  tlp::BmdLink<TYPE> BMDTYPE;
 
   40   TYPE entry(BMDTYPE *it);
 
   42   BMDTYPE *nextItem(BMDTYPE *p, BMDTYPE *predP);
 
   43   BMDTYPE *predItem(BMDTYPE *p, BMDTYPE *succP);
 
   44   BMDTYPE *cyclicPred(BMDTYPE *it, BMDTYPE *succIt);
 
   45   BMDTYPE *cyclicSucc(BMDTYPE *it, BMDTYPE *predIt);
 
   46   BMDTYPE *push(
const TYPE &a);
 
   47   BMDTYPE *append(
const TYPE &a);
 
   48   TYPE delItem(BMDTYPE *it);
 
   52   void conc(BmdList<TYPE> &l);
 
   54   void swap(BmdList<TYPE> &l);
 
   61 #include <tulip/cxx/BmdList.cxx> 
   64 template<
typename TYPE>
 
   65 struct BmdListIt : 
public Iterator<TYPE> {
 
   67   BmdListIt(BmdList<TYPE> &bmdList):bmdList(bmdList) {
 
   68     pos = bmdList.firstItem();
 
   75     TYPE val = pos->getData();
 
   76     tlp::BmdLink< TYPE > *tmp = pos;
 
   77     pos = bmdList.nextItem(pos, pred);
 
   82   tlp::BmdLink< TYPE > *pos;
 
   83   tlp::BmdLink< TYPE > *pred;
 
   84   BmdList<TYPE> &bmdList;
 
   87 template<
typename TYPE>
 
   88 struct BmdListRevIt : 
public Iterator<TYPE> {
 
   89   BmdListRevIt(BmdList<TYPE> &bmdList):bmdList(bmdList) {
 
   90     pos = bmdList.lastItem();
 
   97     TYPE val = pos->getData();
 
   98     tlp::BmdLink< TYPE > *tmp = pos;
 
   99     pos = bmdList.predItem(pos, suc);
 
  104   tlp::BmdLink< TYPE > *pos;
 
  105   tlp::BmdLink< TYPE > *suc;
 
  106   BmdList<TYPE> &bmdList;