2 group-interface.cc -- implement Pointer_group_interface
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "group-interface.hh"
10 #include "score-element.hh"
12 Pointer_group_interface::Pointer_group_interface (Score_element
const* e
)
14 elt_l_
= (Score_element
*)e
;
19 Pointer_group_interface::Pointer_group_interface (Score_element
const *e
, String s
)
21 elt_l_
=(Score_element
*)e
;
25 Pointer_group_interface::has_interface_b ()
27 SCM el
= elt_l_
->get_elt_pointer (name_
.ch_C());
29 return el
== SCM_EOL
|| gh_pair_p (el
);
34 Pointer_group_interface::add_element (Score_element
*p
)
36 elt_l_
->set_elt_pointer (name_
.ch_C(),
37 gh_cons (p
->self_scm_
,
38 elt_l_
->get_elt_pointer (name_
.ch_C())));
42 Pointer_group_interface::count ()
44 return scm_ilength (elt_l_
->get_elt_pointer (name_
.ch_C()));
48 Pointer_group_interface::set_interface ()
50 if (!has_interface_b ())
52 elt_l_
->set_elt_pointer (name_
.ch_C(), SCM_EOL
);