]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/parray.hh
Run `make grand-replace'.
[lilypond.git] / flower / include / parray.hh
index 77a69b519a1d87bd4725cb745e813b718c848042..619532bbed690abc16190bf9a05987f7c2c08f8a 100644 (file)
@@ -3,90 +3,21 @@
 
   source file of the Flower Library
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
-
 #ifndef PARRAY_HH
 #define PARRAY_HH
 
-#include "array.hh"
+#include "std-vector.hh"
 
-/**
-  an array of pointers.
+using namespace std;
 
-  TODO
-  should init to 0. Derive from Array<void*>? 
- */
 template<class T>
-class Link_array : public Array<T*>
+class Link_array : public vector<T *>
 {
-  static default_compare (T *const& p1, T  *const&p2) {
-    /* can't do p1 -p2, since T might be an incomplete type */
-    if (p1 < p2)
-      return -1 ;
-    if (p2 < p1)
-      return 1;
-    return 0;
-  }
-public:
-  void substitute (T *old, T*new_l)
-    {
-      int i;
-      while ((i = find_i (old)) >=0) 
-       if (new_l)
-         elem (i) =new_l;
-       else
-         del (i);
-    }
-  void unordered_substitute (T* old, T * new_l)
-    {
-      int i;
-      while ((i = find_i (old)) >=0) 
-       if (new_l)
-         elem (i) =new_l;
-       else {
-         unordered_del (i);
-       }
-    
-    }
-  void default_sort() {
-    sort (default_compare);
-  }
-  void uniq() {
-    Link_array<T> l_arr;
-    for (int i=0; i < size(); i++) 
-      if (!i || elem (i-1) != elem (i))
-       l_arr.push (elem (i)); 
-    *this = l_arr;
-  }
-
-  int find_i (T const * t) const {
-    for (int i=0; i < size(); i++)
-      if (elem (i) == t)
-       return i;
-    return -1;
-  }
-  T *find_l (T const *t) const
-    {
-      int i = find_i (t);
-      if (i >= 0)
-       return elem (i);
-      else
-       return 0;
-    }
+  
 };
 
-template<class T, class V>
-Link_array<T>
-typecast_array (Link_array<V> const &a, T * /* dummy */ )
-{
-  Link_array<T> ret;
-  for (int i=a.size (); i-- ; )
-       ret.push (dynamic_cast<T*> (a[i]));     // ugh?
-  return ret;
-}
-
-
 #endif // PARRAY_HH