This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

FYI deque patch in [was: STL deque implementation ...]




1999-11-11  Matthias Klose  <doko@cs.tu-berlin.de>

	* stl_deque.h: Use static_casts<size_type>(signed_type).

Index: stl_deque.h
===================================================================
RCS file: /cvs/libstdc++/libstdc++/stl/bits/stl_deque.h,v
retrieving revision 1.13
diff -c -p -r1.13 stl_deque.h
*** stl_deque.h	1999/06/29 18:55:19	1.13
--- stl_deque.h	1999/11/12 08:50:27
*************** deque<_Tp,_Alloc,__bufsize>::erase(itera
*** 1090,1096 ****
    else {
      difference_type __n = __last - __first;
      difference_type __elems_before = __first - _M_start;
!     if (__elems_before < (size() - __n) / 2) {
        copy_backward(_M_start, __first, __last);
        iterator __new_start = _M_start + __n;
        destroy(_M_start, __new_start);
--- 1090,1096 ----
    else {
      difference_type __n = __last - __first;
      difference_type __elems_before = __first - _M_start;
!     if (static_cast<size_type>(__elems_before) < (size() - __n) / 2) {
        copy_backward(_M_start, __first, __last);
        iterator __new_start = _M_start + __n;
        destroy(_M_start, __new_start);
*************** deque<_Tp,_Alloc,__bufsize>::_M_insert_a
*** 1327,1333 ****
  {
    difference_type __index = __pos - _M_start;
    value_type __x_copy = __x;
!   if (__index < size() / 2) {
      push_front(front());
      iterator __front1 = _M_start;
      ++__front1;
--- 1327,1333 ----
  {
    difference_type __index = __pos - _M_start;
    value_type __x_copy = __x;
!   if (static_cast<size_type>(__index) < size() / 2) {
      push_front(front());
      iterator __front1 = _M_start;
      ++__front1;
*************** typename deque<_Tp,_Alloc,__bufsize>::it
*** 1356,1362 ****
  deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos)
  {
    difference_type __index = __pos - _M_start;
!   if (__index < size() / 2) {
      push_front(front());
      iterator __front1 = _M_start;
      ++__front1;
--- 1356,1362 ----
  deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos)
  {
    difference_type __index = __pos - _M_start;
!   if (static_cast<size_type>(__index) < size() / 2) {
      push_front(front());
      iterator __front1 = _M_start;
      ++__front1;
*************** deque<_Tp,_Alloc,__bufsize>::_M_insert_a
*** 1389,1395 ****
    const difference_type __elems_before = __pos - _M_start;
    size_type __length = size();
    value_type __x_copy = __x;
!   if (__elems_before < __length / 2) {
      iterator __new_start = _M_reserve_elements_at_front(__n);
      iterator __old_start = _M_start;
      __pos = _M_start + __elems_before;
--- 1389,1395 ----
    const difference_type __elems_before = __pos - _M_start;
    size_type __length = size();
    value_type __x_copy = __x;
!   if (static_cast<size_type>(__elems_before) < __length / 2) {
      iterator __new_start = _M_reserve_elements_at_front(__n);
      iterator __old_start = _M_start;
      __pos = _M_start + __elems_before;
*************** deque<_Tp,_Alloc,__bufsize>::_M_insert_a
*** 1448,1454 ****
  {
    const difference_type __elemsbefore = __pos - _M_start;
    size_type __length = size();
!   if (__elemsbefore < __length / 2) {
      iterator __new_start = _M_reserve_elements_at_front(__n);
      iterator __old_start = _M_start;
      __pos = _M_start + __elemsbefore;
--- 1448,1454 ----
  {
    const difference_type __elemsbefore = __pos - _M_start;
    size_type __length = size();
!   if (static_cast<size_type>(__elemsbefore) < __length / 2) {
      iterator __new_start = _M_reserve_elements_at_front(__n);
      iterator __old_start = _M_start;
      __pos = _M_start + __elemsbefore;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]