]> git.donarmstrong.com Git - lilypond.git/commitdiff
* flower/include/std-vector.hh (insert): Remove, replace by
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 2 Feb 2006 01:14:16 +0000 (01:14 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 2 Feb 2006 01:14:16 +0000 (01:14 +0000)
std::vector interface.  Update callers.

* flower/include/array.icc (insert): Change signature to
match std::vector interface.

* flower/include/array.icc (vector_sort): Bugfix.

14 files changed:
ChangeLog
flower/file-path.cc
flower/include/array.hh
flower/include/array.icc
flower/include/parray.hh
flower/include/std-vector.hh
flower/interval-set.cc
flower/test-std.cc
lily/cluster.cc
lily/context-def.cc
lily/skyline.cc
lily/spacing-spanner.cc
lily/spanner.cc
lily/vertical-align-engraver.cc

index 37c119fe692b0f4cc57b8961743c0bafc7f32542..2e453c30243b577272640f480585c885681b0c20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
 
+       * flower/include/std-vector.hh (insert): Remove, replace by
+       std::vector interface.  Update callers.
+
+       * flower/include/array.icc (insert): Change signature to
+       match std::vector interface.
+       
        * flower/include/array.icc (vector_sort): Bugfix.
 
 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
index a25128213d7a47af3ed52e101abb379a821a82ff..ea963ca355b876787e700a0fd925f3229bcdc63a 100644 (file)
@@ -212,5 +212,5 @@ File_path::append (std::string str)
 void
 File_path::prepend (std::string str)
 {
-  dirs_.insert (str, 0);
+  dirs_.insert (dirs_.begin (), str);
 }
index f057dfd06d40740e3dc5169e1bf94878a315421e..8eeabac1d74d3d6ac257b7bad599e1469c40bc65 100644 (file)
@@ -312,7 +312,7 @@ public:
     (*this)[j] = t;
   }
 
-  void insert (T k, vsize j);
+  void insert (iterator j, T k);
 
   void unordered_del (vsize i)
   {
index ac3823b11d43d0f40bb2ea1dceedbca89f87f29f..0d1c0ead72f52ffec5cdbb30aa87d08045e5327a 100644 (file)
@@ -38,8 +38,9 @@ arrcpy (T *dest, T const *src, vsize count)
 }
 
 template<class T> INLINE void
-Array<T>::insert (T k, vsize j)
+Array<T>::insert (iterator b, T k)
 {
+  vsize j = b - array_;
 #if !STD_VECTOR
     assert (j >= 0 && j <= size_);
 #else
index 645091f2a3dcd35561238ca1fde3e2425e8834f1..b4d00af4f5b0b87fc735e122d5b0b653fe00a38b 100644 (file)
@@ -101,9 +101,9 @@ public:
     pop_back ();
     return t;
   }
-  void insert (T *t, vsize i)
+  void insert (iterator b, T *t)
   {
-    Array<void *>::insert (t, i);
+    Array<void *>::insert (b, t);
   }
   void push_back (T *t)
   {
index 022d107b02e67a3cae17499b7240073a2b62e03b..ca2e26ded32e800abf6adadfbb3afadfe133f0f2 100644 (file)
@@ -51,34 +51,6 @@ namespace std {
     {
     }
 
-    iterator
-    iter (vsize n)
-    {
-      if (n == VPOS)
-       return this->end ();
-      return __vector<T>::begin () + n;
-    }
-
-    const_iterator
-    iter (vsize n) const
-    {
-      if (n == VPOS)
-       return this->end ();
-      return __vector<T>::begin () + n;
-    }
-    
-    void
-    insert (T k, vsize i)
-    {
-      __vector<T>::insert (this->iter (i), k);
-    }
-
-    void
-    insert (vector<T> &v, vsize i)
-    {
-      __vector<T>::insert (iter (i), v.begin (), v.end ());
-    }
-
     void
     concat (vector<T> const &v)
     {
index 2073afda61b5f587e0fb0eef399e3c869a63b55a..49ad550bf9d5c42f81ba8f2a5c9a93ffec7bec1c 100644 (file)
@@ -49,13 +49,13 @@ Interval_set::remove_interval (Interval rm)
 
          if (!before.is_empty () && before.length () > 0.0)
            {
-             allowed_regions_.insert (before, i);
+             allowed_regions_.insert (allowed_regions_.begin () + i, before);
              i++;
            }
          allowed_regions_.erase (allowed_regions_.begin () + i);
          if (!after.is_empty () && after.length () > 0.0)
            {
-             allowed_regions_.insert (after, i);
+             allowed_regions_.insert (allowed_regions_.begin () + i, after);
              i++;
            }
        }
index 729073f8c69a08b7d05611c827ae4b5550212cdd..bd79ffd95e6d6ff0d7ac7b00694e4cab3c6fceaa 100644 (file)
@@ -70,12 +70,29 @@ BOOST_AUTO_UNIT_TEST (vector_sorting)
 #else
   vector_sort (v, default_compare);
 #endif
-  print (v);
   BOOST_CHECK_EQUAL (v[0], 0);
   BOOST_CHECK_EQUAL (v[1], 1);
   BOOST_CHECK_EQUAL (v[2], 2);
 }
 
+BOOST_AUTO_UNIT_TEST (vector_insert)
+{
+  vector<int> v;
+  v.push_back (0);
+#if VECTOR_INSERT
+  v.insert (1, 0);
+#else
+  v.insert (v.begin (), 1);
+#endif  
+  BOOST_CHECK_EQUAL (v[0], 1);
+#if VECTOR_INSERT
+  v.insert (2, v.size ());
+#else
+  v.insert (v.end (), 2);
+#endif  
+  BOOST_CHECK_EQUAL (v.back (), 2);
+}
+
 test_suite*
 init_unit_test_suite (int, char**)
 {
@@ -83,5 +100,6 @@ init_unit_test_suite (int, char**)
   test->add (BOOST_TEST_CASE (vector_erase));
   test->add (BOOST_TEST_CASE (vector_slice));
   test->add (BOOST_TEST_CASE (vector_sorting));
+  test->add (BOOST_TEST_CASE (vector_insert));
   return test;
 }
index 02fd9e3b40e2de9f611e1084d07b6e54d85e7739..ade7667c63fc593b70087e981489218976b66c9b 100644 (file)
@@ -184,8 +184,9 @@ Cluster::print (SCM smob)
              Interval v = col->extent (next_commony, Y_AXIS);
              Real x = right_bound->relative_coordinate (commonx, X_AXIS) - left_coord;
 
-             bottom_points.insert (Offset (x, v[DOWN]), 0);
-             top_points.insert (Offset (x, v[UP]), 0);
+             bottom_points.insert (bottom_points.begin (),
+                                   Offset (x, v[DOWN]));
+             top_points.insert (top_points.begin (), Offset (x, v[UP]));
            }
        }
     }
index 4dd527defbf3d91a82e28b1944ede796d0add7f8..906a42eb41eaec1c055c6525d978569ddb8dbf85 100644 (file)
@@ -227,7 +227,7 @@ Context_def::path_to_acceptable_context (SCM type_sym, Output_def *odef) const
       if (result.size () && result.size () < best_depth)
        {
          best_depth = result.size ();
-         result.insert (g, 0);
+         result.insert (result.begin (), g);
          best_result = result;
        }
     }
index 09ff410cda734189ad1c07f2536a8a7f475bb4e1..18696b8eebddca0f3e4b38595b2791a7a70249c5 100644 (file)
@@ -72,12 +72,12 @@ insert_extent_into_skyline (std::vector<Skyline_entry> *line, Box b, Axis line_a
          Interval e3 (extent[RIGHT], line->elem (i).width_[RIGHT]);
 
          if (!e3.is_empty () && e3.length () > EPS)
-           line->insert (Skyline_entry (e3, my_height), i + 1);
+           line->insert (line->begin () + i + 1, Skyline_entry (e3, my_height));
 
          line->elem_ref (i).height_ = stick_out;
          line->elem_ref (i).width_ = w;
          if (!e1.is_empty () && e1.length () > EPS)
-           line->insert (Skyline_entry (e1, my_height), i);
+           line->insert (line->begin () + i, Skyline_entry (e1, my_height));
        }
     }
 }
index 2ac4caf13e18339fff0d3b27f4559e0ce7a3140f..6300c9979495ef3d978333219481370fb56ced69 100644 (file)
@@ -122,8 +122,8 @@ Spacing_spanner::find_shortest (Grob *me, Link_array<Grob> const &cols)
            {
              if (durations[j] > shortest_in_measure)
                {
-                 counts.insert (1, j);
-                 durations.insert (shortest_in_measure, j);
+                 counts.insert (counts.begin () + j, 1);
+                 durations.insert (durations.begin () + j, shortest_in_measure);
                  break;
                }
              else if (durations[j] == shortest_in_measure)
index 8a7a1fdc4fda14b677938cd51af7daf8fe3f7a01..e80f1efce32df6435036b87cf20e0ca98ff85720 100644 (file)
@@ -83,7 +83,7 @@ Spanner::do_break_processing ()
       System *root  = get_root_system (this);
       Link_array<Item> break_points = root->broken_col_range (left, right);
 
-      break_points.insert (left, 0);
+      break_points.insert (break_points.begin () + 0, left);
       break_points.push_back (right);
 
       for (vsize i = 1; i < break_points.size (); i++)
index 27f00f231b54cf64c82b1ffb5a8e630688a1ad2f..de78c3f835a7e2a9da837588bbd9ee9bcb13b8e6 100644 (file)
@@ -124,12 +124,12 @@ Vertical_align_engraver::acknowledge_axis_group (Grob_info i)
            {
              if (arr[i] == before_grob)
                {
-                 arr.insert (added, i);
+                 arr.insert (arr.begin () + i, added);
                  break;
                }
              else if (arr[i] == after_grob)
                {
-                 arr.insert (added, i + 1);
+                 arr.insert (arr.begin () + i + 1, added);
                  break;
                }
            }