source file of the GNU LilyPond music typesetter
- (c) 2004--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lilypond-key.hh"
Lilypond_grob_key::Lilypond_grob_key (Object_key const *context,
Moment start,
- String name,
+ string name,
int disambiguation_count)
{
context_ = context;
void
Lilypond_grob_key::derived_mark () const
{
- scm_gc_mark (context_->self_scm ());
+ if (context_)
+ scm_gc_mark (context_->self_scm ());
}
// todo: reverse order of comparison for efficiency reasons.
int
Lilypond_grob_key::do_compare (Object_key const *key) const
{
- Lilypond_grob_key const *other = dynamic_cast < Lilypond_grob_key const *> (key);
+ Lilypond_grob_key const *other = dynamic_cast<Lilypond_grob_key const *> (key);
int c;
c = context_->compare (other->context_);
if (c)
return c;
- c = String::compare (grob_name_, other->grob_name_);
+ c = grob_name_.compare (other->grob_name_);
if (c)
return c;
{
return scm_list_4 (context_ ? context_->self_scm () : SCM_BOOL_F,
creation_moment_.smobbed_copy (),
- scm_makfrom0str (grob_name_.to_str0 ()),
+ scm_makfrom0str (grob_name_.c_str ()),
scm_from_int (disambiguation_count_));
}
Lilypond_context_key::Lilypond_context_key (Object_key const *parent,
Moment start,
- String type,
- String id,
+ string type,
+ string id,
int count)
{
disambiguation_count_ = count;
Lilypond_context_key::do_compare (Object_key const *key) const
{
Lilypond_context_key const *other
- = dynamic_cast < Lilypond_context_key const *> (key);
+ = dynamic_cast<Lilypond_context_key const *> (key);
int c;
if (parent_context_ && other->parent_context_)
if (c)
return c;
- c = String::compare (context_name_, other->context_name_);
+ c = context_name_.compare (other->context_name_);
if (c)
return c;
- c = String::compare (id_, other->id_);
+ c = id_.compare (other->id_);
if (c)
return c;
{
return scm_list_5 (parent_context_ ? parent_context_->self_scm () : SCM_BOOL_F,
start_moment_.smobbed_copy (),
- scm_makfrom0str (context_name_.to_str0 ()),
- scm_makfrom0str (id_.to_str0 ()),
+ scm_makfrom0str (context_name_.c_str ()),
+ scm_makfrom0str (id_.c_str ()),
scm_from_int (disambiguation_count_));
}
}
Lilypond_general_key::Lilypond_general_key (Object_key const *parent,
- String name,
+ string name,
int count)
{
parent_ = parent;
Lilypond_general_key::do_compare (Object_key const *key)const
{
Lilypond_general_key const *other
- = dynamic_cast < Lilypond_general_key const *> (key);
+ = dynamic_cast<Lilypond_general_key const *> (key);
if (parent_ && other->parent_)
parent_->compare (other->parent_);
else if (other->parent_)
return 1;
- int c = String::compare (name_, other->name_);
+ int c = name_.compare (other->name_);
if (c)
return c;
Lilypond_general_key::as_scheme () const
{
return scm_list_3 (parent_ ? parent_->self_scm () : SCM_BOOL_F,
- scm_makfrom0str (name_.to_str0 ()),
+ scm_makfrom0str (name_.c_str ()),
scm_from_int (disambiguation_count_));
}