X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fgrob-array.hh;h=80b6b373cddddc0c0198ec6d53074933fca83c86;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=f0f6b9072c5e3e7209a043bb78a4c7fdd4b90312;hpb=87bcea3a1d67afec13b49c2facd9fb28cc37277b;p=lilypond.git diff --git a/lily/include/grob-array.hh b/lily/include/grob-array.hh index f0f6b9072c..80b6b373cd 100644 --- a/lily/include/grob-array.hh +++ b/lily/include/grob-array.hh @@ -3,8 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005 Han-Wen Nienhuys - + (c) 2005--2008 Han-Wen Nienhuys */ #ifndef GROB_ARRAY_HH @@ -12,37 +11,37 @@ #include "lily-proto.hh" #include "smobs.hh" -#include "parray.hh" +#include "std-vector.hh" class Grob_array { - Link_array grobs_; + vector grobs_; bool ordered_; - - DECLARE_SIMPLE_SMOBS(Grob_array,); + + DECLARE_SIMPLE_SMOBS (Grob_array); Grob_array (); public: bool ordered () const { return ordered_; } void set_ordered (bool b) { ordered_ = b; } - Item *item (int i); - Spanner *spanner (int i); - Grob * grob (int i) { return grobs_.elem (i); } - int size () const { return grobs_.size(); } - bool is_empty () const; - void clear (); - void add (Grob *x) { grobs_.push (x); } - void set_array (Link_array const &src); - Link_array &array_reference (); - Link_array const &array () const; + Item *item (vsize i); + Spanner *spanner (vsize i); + Grob *grob (vsize i) { return grobs_.at (i); } + vsize size () const { return grobs_.size (); } + bool empty () const; + void remove_duplicates (); + void clear (); + void add (Grob *x) { grobs_.push_back (x); } + void set_array (vector const &src); + vector &array_reference (); + vector const &array () const; static SCM make_array (); }; DECLARE_UNSMOB (Grob_array, grob_array); -Link_array const &ly_scm2link_array (SCM x); +vector const &ly_scm2link_array (SCM x); SCM grob_list_to_grob_array (SCM lst); - #endif /* GROB_ARRAY_HH */