This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
FYI deque patch in [was: STL deque implementation ...]
- To: libstdc++ at sourceware dot cygnus dot com
- Subject: FYI deque patch in [was: STL deque implementation ...]
- From: Benjamin Kosnik <bkoz at cygnus dot com>
- Date: Fri, 12 Nov 1999 00:52:21 -0800
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;