blob: fb18c872413b6cfbd4691716fa37463c16bc5457 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/* -*-c++-*-
plist.inl -- part of flowerlib
(c) 1996 Han-Wen Nienhuys& Jan Nieuwenhuizen
*/
#ifndef PLIST_INL
#define PLIST_INL
template<class T>
inline
PointerList<T>::~PointerList()
{
Cursor<T> next(*this);
for ( Cursor<T> c( *this ); c.ok(); c = next ) {
next = c;
next++;
remove( c ); // PointerList::remove deletes the real data
}
}
template<class T>
inline void
PointerList_print( PointerList<T> const & l )
{
List<T>& promises_to_be_const = (List<T>&) l;
for ( Cursor<T> c( promises_to_be_const ); c.ok(); c++ )
(*c)->print();
}
template<class T>
inline void
PL_copy(PointerList<T> &to,PointerList<T> const&src)
{
for (PCursor<T> pc(src); pc.ok(); pc++) {
T q = pc;
T p=new typeof(*q) (*q) ; // argh, how do i do this in ANSI-C++
to.bottom().add(p);
}
}
#endif
|