X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Fparray.hh;h=619532bbed690abc16190bf9a05987f7c2c08f8a;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=c6caad2c2f0846e32efe2c494ebc74ad8ceccd70;hpb=69b9cead5afe7164b9053d26eba582fec3825ef8;p=lilypond.git diff --git a/flower/include/parray.hh b/flower/include/parray.hh index c6caad2c2f..619532bbed 100644 --- a/flower/include/parray.hh +++ b/flower/include/parray.hh @@ -3,78 +3,21 @@ source file of the Flower Library - (c) 1997--1998 Han-Wen Nienhuys + (c) 1997--2008 Han-Wen Nienhuys */ - #ifndef PARRAY_HH #define PARRAY_HH -#include "varray.hh" +#include "std-vector.hh" -/** - an array of pointers. +using namespace std; - TODO - should init to 0. Derive from Array? - */ template -class Link_array : public Array +class Link_array : public vector { - 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 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; - } + }; #endif // PARRAY_HH +