- public:
- typedef typename __vector<T>::iterator iterator;
- //typedef int (*compare) (T *const&, T *const&);
-
- vector<T> () : __vector<T> ()
- {
- }
-
- vector<T> (iterator const b, iterator const e) : __vector<T> (b, e)
- {
- }
-
- vector<T> (vsize b, vsize e) : __vector<T> (iter (b), iter (e))
- {
- }
-
- iterator iter (vsize n)
- {
- if (n == VPOS)
- return this->end ();
- return __vector<T>::begin () + n;
- }
-
- iterator const 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)
- {
- __vector<T>::insert (this->end (), v.begin (), v.end ());
- }
-
- /* Flower-Array compatibility. */
- T const &
- boundary (int dir, vsize i) const
- {
- assert (dir);
- if (dir == 1)
- return this->top (i);
- else
- return this->at (i);
- }
-
- T &
- boundary (int dir, vsize i)
- {
- assert (dir);
- if (dir == 1)
- return this->top (i);
- else
- return this->at (i);
- }
-
- T
- del (vsize i)
- {
- return *__vector<T>::erase (iter (i));
- }
-
- T const &
- elem (vsize i) const
- {
- return this->at (i);
- }
-
- T &
- elem (vsize i)
- {
- return this->at (i);
- }
-
-#if 1 // FIXME, silly, but keep for s/r
- T const &
- elem_ref (vsize i) const
- {
- return elem (i);
- }
-
- T &
- elem_ref (vsize i)
- {
- return elem (i);
- }
-#endif