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 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>
void
File_path::prepend (std::string str)
{
- dirs_.insert (str, 0);
+ dirs_.insert (dirs_.begin (), str);
}
(*this)[j] = t;
}
- void insert (T k, vsize j);
+ void insert (iterator j, T k);
void unordered_del (vsize i)
{
}
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
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)
{
{
}
- 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)
{
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++;
}
}
#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**)
{
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;
}
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]));
}
}
}
if (result.size () && result.size () < best_depth)
{
best_depth = result.size ();
- result.insert (g, 0);
+ result.insert (result.begin (), g);
best_result = result;
}
}
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));
}
}
}
{
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)
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++)
{
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;
}
}