+/*
+ plist.tcc -- implement Pointer_list
+
+ source file of the Flower Library
+
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef PLIST_TCC
+#define PLIST_TCC
+
#include "plist.hh"
-#define PL_INSTANTIATE(a) class Link_list<a*>; \
- template class PCursor<a*>;
-#define IPL_INSTANTIATE(a) PL_INSTANTIATE(a); \
- template class Pointer_list<a*>
-
template<class T>
void
Pointer_list<T>::junk()
{
- PCursor<T> c (*this);
- while (c.ok()) {
+ PCursor<T> c (*this);
+ while (c.ok())
+ {
delete c.remove_p();
}
}
-template<class T>
-PCursor<T>
-Link_list<T>::find (T what) const
-{
- PCursor<T> i (*this);
- for (; i.ok(); i++)
- if (i.ptr() == what)
- break;
- return i;
-}
+#ifndef __CYGWIN32__ // ugh should check for some gcc/egcs version
+
+#define POINTERLIST_INSTANTIATE(a) template class Pointer_list<a*>;\
+ template class PCursor<a*>;
+
+#else
+
+#define POINTERLIST_INSTANTIATE(T)\
+ static void force_junk##T ()\
+ {\
+ Pointer_list<T*> bla;\
+ bla.junk ();\
+ }
+
+#endif
+
+#endif // PLIST_TCC