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;