2 grob-array.hh -- declare Grob_array
4 source file of the GNU LilyPond music typesetter
6 (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
13 #include "lily-proto.hh"
19 Link_array<Grob> grobs_;
22 DECLARE_SIMPLE_SMOBS(Grob_array,);
26 bool ordered () const { return ordered_; }
27 void set_ordered (bool b) { ordered_ = b; }
29 Spanner *spanner (int i);
30 Grob * grob (int i) { return grobs_.elem (i); }
31 int size () const { return grobs_.size(); }
32 bool is_empty () const;
34 void add (Grob *x) { grobs_.push (x); }
35 void set_array (Link_array<Grob> const &src);
36 Link_array<Grob> &array_reference ();
37 Link_array<Grob> const &array () const;
38 static SCM make_array ();
41 DECLARE_UNSMOB (Grob_array, grob_array);
43 Link_array<Grob> const &ly_scm2link_array (SCM x);
44 SCM grob_list_to_grob_array (SCM lst);
47 #endif /* GROB_ARRAY_HH */