X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Fparray.hh;h=bef32612f007d2dcf5de344a11540cac20d4ed11;hb=f4a4da9c5bd0b31e622fb6a326c4be245e50e61f;hp=b737d7bb47ce2e4ae8d5b25b7efb1e3b0db27441;hpb=1cf3d59c1559fb9774c4c1c8cae155cfe54a927c;p=lilypond.git diff --git a/flower/include/parray.hh b/flower/include/parray.hh index b737d7bb47..bef32612f0 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--2009 Han-Wen Nienhuys */ - #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? - */ 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 +