]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/beam-quanting.cc
Issue 4550 (1/2) Avoid "using namespace std;" in included files
[lilypond.git] / lily / beam-quanting.cc
index 54211ed003c48922782e3b1d0da7991114438a7d..740f28690876b940a109f20dcda5064b3bb07938 100644 (file)
@@ -47,6 +47,10 @@ using namespace std;
 #include "warn.hh"
 #include "string-convert.hh"
 
+using std::set;
+using std::string;
+using std::vector;
+
 Real
 get_detail (SCM alist, SCM sym, Real def)
 {
@@ -305,7 +309,7 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
         edge_dirs_ = Drul_array<Direction> (stem_infos_[0].dir_,
                                             stem_infos_.back ().dir_);
 
-      is_xstaff_ = Align_interface::has_interface (common[Y_AXIS]);
+      is_xstaff_ = has_interface<Align_interface> (common[Y_AXIS]);
       is_knee_ |= dirs_found[DOWN] && dirs_found[UP];
 
       staff_radius_ = Staff_symbol_referencer::staff_radius (beams[i]);
@@ -343,7 +347,7 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
           if (!collisions[j]->is_live ())
             continue;
 
-          if (Beam::has_interface (collisions[j]) && Beam::is_cross_staff (collisions[j]))
+          if (has_interface<Beam> (collisions[j]) && Beam::is_cross_staff (collisions[j]))
             continue;
 
           Box b;
@@ -364,7 +368,7 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
             add_collision (b[X_AXIS][d], b[Y_AXIS], width_factor);
 
           Grob *stem = unsmob<Grob> (collisions[j]->get_object ("stem"));
-          if (stem && Stem::has_interface (stem) && Stem::is_normal_stem (stem))
+          if (has_interface<Stem> (stem) && Stem::is_normal_stem (stem))
             {
               colliding_stems.insert (stem);
             }
@@ -373,7 +377,7 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
       for (set<Grob *>::const_iterator it (colliding_stems.begin ()); it != colliding_stems.end (); it++)
         {
           Grob *s = *it;
-          Real x = (s->extent (common[X_AXIS], X_AXIS) - x_pos[LEFT] + x_span_).center ();
+          Real x = (robust_relative_extent (s, common[X_AXIS], X_AXIS) - x_pos[LEFT] + x_span_).center ();
 
           Direction stem_dir = get_grob_direction (*it);
           Interval y;