]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/drul-array.hh
Run `make grand-replace'.
[lilypond.git] / flower / include / drul-array.hh
index bce7f0a5812f1955da6c12a73eec94be7cd98c66..a184a897209ba20e78bae1abd52ec3aecd5b447e 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #ifndef DRUL_ARRAY_HH
@@ -19,28 +19,32 @@ template<class T>
 struct Drul_array
 {
   T array_[2];
-  T &elem_ref (Direction d)
+  T &at (Direction d)
   {
     assert (d == 1 || d == -1);
     return array_[ (d + 1) / 2];
   }
-  T elem (Direction d) const
+  T const &at (Direction d) const
   {
     assert (d == 1 || d == -1);
     return array_[ (d + 1) / 2];
   }
   T &operator [] (Direction d)
   {
-    return elem_ref (d);
+    return at (d);
   }
-  T operator [] (Direction d) const
+  T const& operator [] (Direction d) const
   {
-    return elem (d);
+    return at (d);
   }
   Drul_array ()
   {
   }
-  Drul_array (T t1, T t2)
+  Drul_array (T const &t1, T const &t2)
+  {
+    set (t1, t2);
+  }
+  void set (T const &t1, T const &t2)
   {
     array_[0] = t1;
     array_[1] = t2;
@@ -51,15 +55,15 @@ template<class T>
 void
 scale_drul (Drul_array<T> *dr, T x)
 {
-  dr->elem_ref (LEFT) *= x;
-  dr->elem_ref (RIGHT) *= x;
+  dr->at (LEFT) *= x;
+  dr->at (RIGHT) *= x;
 }
 
 inline Real
 linear_combination (Drul_array<Real> const &d, Real x)
 {
-  return ((1.0 - x) * Real (d.elem (LEFT))
-         + (x + 1.0) * Real (d.elem (RIGHT))) * 0.5;
+  return ((1.0 - x) * Real (d.at (LEFT))
+         + (x + 1.0) * Real (d.at (RIGHT))) * 0.5;
 }
 
 #endif /* DRUL_ARRAY_HH */