X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fgrob-array.hh;h=87cb19e23d1a23ec71b4317a9911ce3c688f5ea6;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=cb2d2f56c1ff682a375bc82a32def1e0ae8bf6e7;hpb=bc95f4434f760d41191341ab4508b2064eb19025;p=lilypond.git diff --git a/lily/include/grob-array.hh b/lily/include/grob-array.hh index cb2d2f56c1..87cb19e23d 100644 --- a/lily/include/grob-array.hh +++ b/lily/include/grob-array.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2010 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,12 +24,16 @@ #include "smobs.hh" #include "std-vector.hh" -class Grob_array +class Grob_array : public Simple_smob { - vector grobs_; +public: + int print_smob (SCM, scm_print_state *); + SCM mark_smob (); + static const char type_p_name_[]; +private: + vector grobs_; bool ordered_; - DECLARE_SIMPLE_SMOBS (Grob_array); Grob_array (); public: @@ -43,16 +47,15 @@ public: 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; + void set_array (vector const &src); + vector &array_reference (); + vector const &array () const; static SCM make_array (); }; -DECLARE_UNSMOB (Grob_array, grob_array); -vector const &ly_scm2link_array (SCM x); +vector const &ly_scm2link_array (SCM x); SCM grob_list_to_grob_array (SCM lst); +SCM grob_array_to_list (Grob_array *array); #endif /* GROB_ARRAY_HH */ -